1. 程式人生 > >Web開發的編碼規範(歡迎大家補充)

Web開發的編碼規範(歡迎大家補充)

摘要:編碼規範是一套規章制度,用來為某一特定的程式語言推薦程式設計風格、方法和實踐。這些規範覆蓋方方面面,包括註釋、資料夾、檔案組織、行首縮排、書面宣告、空格、命名規格、程式設計實踐和原則、構建最佳實踐等等。

編碼時間長的人總會遇到編碼格式標準化的問題,但是不同的專案裡需要使用不同的規則和風格來解決問題,甚至有的時候林林總總的繁雜事情會讓人頭腦發漲,那為什麼不考慮一下標準化編碼呢?換句話說,編碼規範是一套規章制度:用來為某一特定的程式語言的指令碼語言推薦程式設計風格、方法和實踐。這些規範覆蓋方方面面,包括註釋、資料夾、檔案組織、行首縮排、書面宣告、空格、命名規格、程式設計實踐和原則、構建最佳實踐等等。(以下是部分內容為轉載,但也加以一些自己的看法,歡迎大家踴躍補充新增)

在編碼過程中建議能夠遵循這些規範制度,不但能幫助你改善程式碼的可讀性,還能讓後期維護變得更簡單。下面的這些案例都是基於PHP規範編寫的,但是對於所有的Web語言都是適用的。

1. 製作表格

在編碼的開始階段,建議你先解決這個問題:如何使用標籤或者空格?通常情況下,行首縮排在大多數程式語言裡並不是必要條件,只是當作二級符號使用。相反,開發人員只是想把程式結構更好的傳達給使用者。尤其需要注意的是,行首縮排是用來展示控制流結構之間的關係,例如:內部/外部的“條件”或“迴圈”和“程式碼”之間的關係。

雖然標籤和空格之間的關係比較巧妙複雜,但是使用四個空格來代替一個標籤是最好的分配辦法。一起來看看例項:當我們使用不同的軟體(比如是在Total Commander裡比較兩個檔案)來審查程式碼或是比較程式碼的時候,標籤和空格看起來明顯不一樣。你只需要試著去縮排兩行程式碼,第一行使用標籤,第二行用四個空格,在Notepad++裡看起來是一樣的;但是,將這個檔案和它的備份版本(在Total Commander裡)進行比較的話,你就會注意到標籤的長度比四個空格更長(結果就是,獲得更為嚴重的格式化程式碼)。綜上所述,專案裡最好是使用四個空格,而不是標籤。這對將來的維護是有好處的。

2. 類別名

為了避免類別名的重複出現,同時為了讓開發者寫出更多獨具一格的類別名,請在類別名前面加上特定的字首,每個單詞以大寫字母開頭。例如:


3. 變數名

因為較為嚴格的資料型別在大部分Web語言裡已經不再使用了,所以為了方便起見,變數名應該以小寫字母開頭。例如:

  • i: integer
  • f: float / double
  • s: string
  • a: array
  • o: object
  • r: resource
  • b: boolean
  • is: boolean

使用完字首之後可以接著使用Camel字型。如果你需要宣佈一個私有變數,最好是使用下劃線。


4. 常量名

常量是靜態的變數,這就意味著這些常量值不需要改變。照例可以在常量上使用大寫字母。例如:


5. 功能說明(名稱和格式)

所有的功能名稱都應該以小寫字母開頭,每個單詞都應該以大寫字母開頭。花括號應該在同一行上面(在引數列表後面)。例如:


6. 特殊結構格式

像if/else、for、foreach、while等等之類的特殊結構應該遵循下面的規則:

  • 在結構名稱和緊隨其後的括號之間應該有一個空格。(為了更好的閱讀)
  • 填寫在括號裡的得出的條件應該用空格分開。
  • 在左括號的後面和右括號的前面不能有空格。
  • 敞開的花括號必須是在同一條線上。
  • 內部條件應該和標籤同步縮排。

7. 資料庫表格名稱

在建立表格的時候,使用合乎邏輯的、易於理解的字首,同時利用下劃線將單詞分開,不必使用大寫字母。同樣的使用方法也可以用在表格區域。

8. 專案的目錄結構

在團隊開發專案裡,保持資料夾和文件的結構以一種合乎邏輯的順序排列是特別重要的。千萬不要把所有的東西都毫無組織的放在一個資料夾裡,否則最後得到的只能是一團糟糕的結局。就像這樣:

/root  folder                                                                                                                             /backup                                                                                                                                     /cache                                                                                                                                     /classes                                                                                                                                         /css                                                                                                                                                  /js                                                                                                                                              /media                                                                                                                                     /images                                                                                                                                        /mp3                                                                                                                                           /video

index.php                                                                                                                                   otherFiles.php

9.專案中方法的註釋

   在團隊開發專案中,保持好詳細的註釋是覺得很有必要的。

    因為現在你寫的,或許你過了一天你還是能記住你的邏輯和思維,過了一個星期  稍微看看或許你還是可以明白的。但是你能確保你過了一個月甚至更久一些你還是一樣可以一目瞭然嗎?所以必要的註釋是很有必要的,況且你的程式不僅僅是由你一個人來讀和寫。或許還會有別的人呢?所以為了方便自己也為了更好的服務與別人,一般常規的註釋會包含以下幾個部分:方法名,引數,返回值,建立時間,作者,作者的聯絡方式,功能,是否可以進行後期的修改/還是固定了不能改等等

10.專案中方法存放的位置

    在團隊開發專案中,每個人都有自己寫程式碼的習慣。

    但是作為團隊專案,顧名思義就是要團隊中每一個人去完成一部分。但如果你的一般公共方法習慣到處去放,別人習慣放在公共的類裡。你常用的變數習慣用的時候把資料庫查一邊,而別人習慣於把常用的東西放一個全域性變數中,初始化就去宣告,無論什麼時候用都是可以的等等。這麼一系列,倘若在開發文件中沒有足夠的寫清楚這些個規則的話,很容易就會很雜亂的。