好的编程风格
1。關鍵字 if, while, for 后有一個空格
2。=號之類的雙目運算符兩側都有空格
3。后綴運算符和操作數之間不加空格 例如 s.a , foo(argu) , a[i]
4。, 號和 ; 號之后要加空格,例如 foo(argu1, argu2) for (i=0; i<20; i++)
5。關于雙目運算符兩側加空格可以靈活規定,例如 distance = sqrt(x*x + y*y),突出結合方式
6。如果程序需要換行,則要與上一行的表達式對齊 foo(sqrt(x*x + y*y))
????????????????????????????????????????????????????????????????????????? a[i-1] + b[i-1] + c[i-1])
7。較長的字符串可以段成多個字符串,并且要對齊
?????? printf(“This is such a long stenance that”
????????????????? "it can not be leld\n”);? 這個 print函數中的字符串就跟一個是一樣的
8。有的人喜歡在變量定義語句中使用 Tab 字符,使變量名對齊。
????? int??????????? a, b;
????? double??? c;
9。關于縮進的規則 建議使用 tabstop=8,看起來層次非常明顯??
10。if/else , while , do/while , for , switch 等語句塊的大括號,不要單獨占一行 , 建議 if () {} ,并且大括號
???? 之前要有個空格。
11。函數定義的大括號,{},要單獨占一行。
12。switch語句中的case,default對齊寫,
switch風格switch (c) { case 'A':haha;break; case 'B':haha;break; default :oo; }13。代碼中沒個邏輯段落之間應該有一個空格分開,例如全局變量與函數之間,或者函數與函數之間。
14。一個函數內,語句列表很長,分組,例如變量定義為一組加空格,語句,return 0 是一組,加空格。
15。單行注釋 /* comment */ 用空格把定界符和注釋分開。多行注釋風格如下
多行注釋/** Multi-line* comment*/16。使用注釋的場合
- 整個源文件頂部。說明此模塊信息。頂頭寫,不縮進
- 函數注釋,說明此函數的功能,參數,返回值,錯誤等等,卸載函數定義上側,和此函數之間不留空行,頂頭寫
- 相對獨立的語句注釋,對這一組語句做特別說明,在語句組上側,和此語句組不留空行,與當前與劇組縮進一致
- 代碼右側簡短注釋,對當前代碼行做特別說明,一般為單行注釋,和代碼之間至少用一個空格分開,最好能上下對齊。
函數內的注釋要盡可能少,寫注釋主要是未了 說明你的代碼“能做什么”比如函數接口的定義,而不是為了說明“怎么做”,只要代碼寫的清楚,“怎么做”是一目了然的,除非是特別需要提醒注意的地方菜使用函數內的注釋。 - 復雜的結構體定義比函數更需要注釋。
- 復雜的宏和變量聲明也需要注釋。
17。標識符命名
- 清晰明了,可以使用完整單詞和易于理解的縮寫,短的單詞可以采用去元音的縮寫形式,長的單詞可以取單詞的頭幾個字母形成縮寫。
- 內核編碼風格規定變量,函數和類型采用全小寫加下劃線_的方式命名,常量(比如宏定義和枚舉常量)采用全大寫加下劃線的方式,例如 函數 radix_tree_insert 類型名 struct radix_tree_root,常量RADIX_TREE_MAP_SHIFT等 ( 不要使用匈牙利命名法)C++中可以使用大小寫字母,叫做CamelCase
- 全局函數和全局變量的命名一定要詳細,不惜多用幾個單詞多寫幾個下劃線,例如radix_tree_insert,因為它們在整個項目的許多源文件中都會用到,必須讓使用者明確這個函數或變量是干什么用的。局部變量和只在一個源文件中調用的內部函數的命名可以簡略一些。但不能太短,盡量不要使用單個字母,只有一個例外:用 i , j , k 做循環變量可以。
- 禁止使用漢語拼音做標識符。
18。函數 ( 每個函數都應該盡可能的簡單,以下內容如果不能滿足,考慮分割函數)
- 實現一個函數只是為了做好一件事情
- 函數內部縮進不易過多,一般最多不能超過4層。
- 函數不要寫的太長,建議在24行的標準終端上不超過兩屏,太長會造成閱讀困難。如果一個函數在概念上是簡單的,只是長度長了一點,沒關系。例如一個函數是由一個大的switch語句組成,其中有很多個case,這是可以的。
- 執行函數就是執行一個動作,函數名通常應包含動詞。例如 get_current
- 比較重要的函數定義上側必須加注釋,說明函數的功能,參數,返回值,錯誤碼等等
- 另一個度量函數復雜度的辦法是看有多少個局部變量,一般5-10個局部變量已經很多了。
19。indent工具(可以格式化代碼的工具)參數 –kr –i8
轉載于:https://www.cnblogs.com/moveofgod/archive/2012/09/28/2706132.html
總結
- 上一篇: Chrome谷歌浏览器离线安装包下载
- 下一篇: 高德地图 android 调用 amap