国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

點注《C# Coding Standard》charpter One

2024-07-21 02:18:55
字體:
來源:轉載
供稿:網友

最大的網站源碼資源下載站,

1 命名規則與風格
在以前版本的visual studio中,微軟曾建議使用匈牙利命名法來寫代碼.在最近發布的.net和它的編程語言中,微軟更換了他的這一法則.

1. 對格式與方法名稱使用pascal風格[1]

public class someclass

{

public somemethod(){}

}

2. 對局部變量和方法參數使用camel風格[2]

int number;

void mymethod(int somenumber)

{}

3. 使用i作為接口前綴

interface imyinterface

{..}

4. 使用m_作為私有成員變量前綴

public class someclass

{

private int m_number;

}

5. 使用attribute作為自定義屬性類的后綴

6. 使用exception作為自定義異常處理類的后綴

7. 使用動詞形式命名方法名,如showdialog()

8. 帶有返回值的方法應該有一個方法來描述返回值,如getobjectstatus()

9. 使用易描述的變量名稱

l 避免使用單一字符描述變量名稱,如i或t.應使用index或temp替代

l 對共有以及受保護成員避免使用匈牙利命名法則[3]

l 絕不使用縮寫字符,如使用num代替number

10. 總是使用c#預定義格式,而不使用在system空間內的別名

object not 0bject

string not string

int not int32

11. 一般的,對于格式使用大寫字母,當處理.net格式type時使用type后綴

//correct:

public class linkedlist<k, t>

{..}

//avoid:

public class linkedlist<keytype,datatype>

{..}

12. 使用易理解的命名空間[4]名稱,如產品或公司名稱

13. 避免使用命名空間的完整限定名稱,應使用using聲明替代

14. 避免using聲明放置在命名空間內部

15. 將所有的框架命名空間分組,將用戶或第三方命名空間放置在其下

using system;

using system.collections;

using system.componentmodel;

using system.data;

using mycompany;

using mycontrols;

16. 使用委托引用[5]代替顯式的委托實例

delegate void somedelegate();

public void somemethod()

{..}

somedelegate somedelegate=somemethod;

17. 保持嚴格的縮進

l 對縮進使用3個空格位

l 絕不使用tab或者不標準的縮進,如1,2或4個空格位

18. 將注釋縮拍在與代碼縮進同等級的位置上

19. 所有的注釋應該通過拼寫檢查.拼錯的注釋將預示冗余的開發

20. 所有的成員變量應該在開始就被聲明,并使用單獨一行將屬性與方法區域分開

public class myclass

{

int m_number;

string m_name;



public void somemethodl()

{}

public void somemethod2()

{}

}

21. 在離第一次使用變量盡可能近的地方聲明該局部變量

22. 文件名稱應反映出其包含的類

23. 當使用partial類[6]并將其分配給每個文件一部分時,對每個文件命名使用后綴p并附帶一個額外的數字

//in myclassp1.cs

public partial class myclass

{..}

// in myclassp2.cs

public partial class myclass

{..}

24. 將反括號({)放置與新的一行

25. 對于匿名方法參照有規律的代碼規劃,其縮進應與匿名委托聲明對齊

delegate void somedelegate (string somestring);

//correct:

public void invokemethod()

{

somedelegate somedelegate=delegate (string name)

{

messagebox.show(name);

};

somedelegate ("juval");

}

//avoid

public void invokemethod()

{

somedelegate somedelegate=delegate (string name)

{messagebox.show(name);};

somedelegate(”juval");

}

26. 對于匿名缺省參數的方法,應該使用空括號表示.

delegate void somedelegate();

//correct

somedelegate somedelegate1=delegate()

{

messagebox.show("hello");

};

//avoid

somedelegate somedelegate1=delegate

{

messagebox.show("hello");

};


由于本人e文有限,所以翻譯注釋不當之處,請指明。

稍后是第二部分——編碼實踐,不過要點時間了,因為會有較多注釋(我的習慣啦)

--------------------------------------------------------------------------------

[1] 特指使用pascal的命名規范命名類型和方法的名字

[2] 特指使用camel命名規范命名局部變量和方法的參數

[3] 匈牙利命名法則:變量名=變量類型+變量的英文意思(或縮寫)

[4] namespace用于聲明一個范圍.此命名空間范圍允許您組織代碼并為您提供了創建全局唯一類型的方法.

[5] delegate聲明定義一種引用類型,該類型可用于將方法用特定的簽名封裝.委托實例封裝靜態方法或實例方法. 委托大致類似于c++中的函數指針;但是,委托是類型安全和可靠的

[6] partial簡單來說即是使用不完整的類定義并且將部分分配到每個文件中


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 琼结县| 广德县| 隆林| 体育| 湘潭县| 白山市| 汽车| 寿光市| 新源县| 蒙城县| 天等县| 鹿泉市| 广丰县| 那坡县| 灵武市| 华蓥市| 南康市| 黄梅县| 长乐市| 独山县| 永城市| 东乌珠穆沁旗| 屏山县| 天峻县| 双峰县| 乡城县| 景东| 肇州县| 大渡口区| 浑源县| 喀喇沁旗| 苍南县| 翁牛特旗| 长子县| 蓬溪县| 余江县| 乳山市| 阜新市| 周宁县| 芦山县| 监利县|