開始實習之后,才發現自己是多么地菜。還有好多東西還要去學習。
公司很好,還可以幫你買書。有一天隨口問了一下上司D,代碼規范上面有什么要求。然后D在Amazon上面找到了這本書《C#編程風格(The Elements of C# Style)》(中英對照),讓我直接買下開看,按上面的要求編寫就可以了。書可以找秘書F去報銷。
上個星期四在Amazon下單,周一才到。這書確實來的有點慢,沒關系,我看的快。從周一到周五,用每天上下班在擠地鐵(廣州地鐵你懂的)的時間,我把書在五個工作日就看完了。當然,關鍵是夠薄。描述也相當簡練。
以下是我看完還記得的部分:
1.空白
這個沒啥好說的,意思就是該留空白的時候要果斷留,不要怕浪費。空白有助於提高代碼的可讀性。
2.塊
一般表示用大括號“{”和“}”括起來的部分。
3.駝峰法(小駝峰法)
變量一般用小駝峰法標識。駝峰法的意思是:除第一個單詞之外,其他單詞首字母大寫。譬如
int myStudentCount;
變量myStudentCount第一個單詞是全部小寫,后面的單詞首字母大寫。
4.Pascal法(大駝峰法)
相比小駝峰法,大駝峰法把第一個單詞的首字母也大寫了。常用於類名,函數名,屬性,命名空間。譬如
public class DataBaseUser;
5.全局變量
一般慣例是加一個前綴或者后綴用於私有變量和局部變量。通常是用下划線“_”來標識。譬如
private int myStudentCount_;
下划線有加在前面的,也有加在后面的。個人比較習慣加在前面。
6.常量
常量通常用全大寫,並用下划線來分割單詞來標志。譬如
private int const STUDENT_COUNT=50;
7.switch
用switch的時候,無論case是否涵括了所有情況,都應該加上Default語句。很多時候結果是不再我們考慮范圍內的。應該盡量涵蓋所有情況。譬如
switch(month) { case 1: //... break; case 2: //... break; ... case 12: //code... break; default: //code... break; }
代碼用於處理每個月的不同情況,雖然已經處理了十二個月的情況,但是代碼還是加上了default用於以防萬一,這是值得推薦的。
8.二元運算符
一般在二元運算符左右需要加一個空格。當然用VS的人一般都知道當你打出每一句代碼的最后標志符“;”的時候,VS會自動處理代碼,給二元運算符的左右加上一個空格。譬如
count = count + i;
可以發現在“=”和“+”左右都是有一個空格的。這樣比起不加空格確實好看很多。不信,你別加試試。
9.條件語句
添加語句上面盡量不要用直接值。譬如
int count = 60; if(count_ >= count) { //code... }
我們推薦這種做法,我們不推薦
if(count_ >= 60) { //code... }
這種做法。當要發生修改的時候,前者的價值就相當明顯了。
10.使用別名
盡量使用類型名的別名。例如
int count = 60; System.Int32 count2 = 60;
其實int只是System.Int32的別名而已,兩者產生的效果作用是一模一樣的。不過我們推薦使用前者,不推薦后者。這有歷史的因素吧,不過只要是個人,都會很自覺寫int,double這些別名吧。
11.原子方法
我們推薦原子操作。一個函數不需要做太多的事情。特別是對於類來說。如果一個實現可以用幾個原子方法來完成,我們推薦這種做法,而不推薦把方法寫地太長。最好別超過100行。
12.訪問控制標志
雖然可以默認不填寫訪問控制符。但是我們不推薦這種做法。我們推薦把類里面所有的變量,方法,屬性,...都寫上訪問權限。
13.region
#region和#endregion是非常好用的東西。它可以在任何位置,無聊是否在同時在同一個塊內,都可以使用,將代碼收縮。在一個類里面,我們推薦使用region將代碼分類。譬如

人老了記憶力就是差。
