C#編碼通訊協定--命名規範和風格

來源:互聯網
上載者:User
1. 使用Pascal的命名規範命名類型和方法的名字。
public class SomeClass
{
    public SomeMethod(){}
}
2. 使用camel命名規範命名局部變數和方法的參數。
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. 有傳回值的方法應該有一個可以描述其傳回值的名字,比如:GetObjectState()。
9. 使用有意義的變數名稱。
10. 使用C#的預定義的類型而不使用System命名空間中其別名來申明變數。
使用object 而不是 Object
使用string 而不是 String
使用 int 而不是 Int32
11. 通常情況下,類型使用大寫字母。當處理.NET的類型的時候使用Type作為其尾碼。
//正確的是:
public class LinkedList<K,T>
{…}
//避免使用:
public class LinkedList<KeyType,DataType>
{…}
12. 使用有意義的命名空間,比如使用公司的名稱以及產品的名稱。
13. 避免使用完全限定名。而使用using語句替換之。
14. 避免將using語句寫在命名空間的內部。
15. 將所有的架構定義的命名空間為一組,自訂的和第三方的命名空間放在另一組。
using System;
using System.Collections.
using System.ComponentModel;
using System.Data;
using MyCompany.
using MyControls;
16. 使用委託的引用替換顯式的委託執行個體。
delegate void SomeDelegate();
public void SomeMethod()
{…}
SomeDelegate someDelegate = SomeMethod;
17. 保持嚴格的縮排風格。
a. 使用3個空格縮排
b. 不要使用tabs或者其他不標準的縮排,比如1、2、4個空格。
18. 在編寫注釋的時候注釋的縮排和編碼的縮排必須是相同層級的。
19. 所有的注釋都要通過拼字檢查,錯誤的拼字是粗糙的開發。(針對漢語則要語句通順易於理解)
20. 所有的成員變數都應該聲明在頂部,同時使用一個空行來將他們和屬性以及方法分開。
public class MyClass
{
   int m_Number;
   string m_Name;
  
   public void SomeMethod1()
{}
   public void SomeMethod2()
{}
}
21. 儘可能在第一次使用局部變數的時候申明它。
22. 檔案名稱應該可以反映出它所包含的類。
23. 當使用不完整的類並且將部分分配到每個檔案中,用P+序數作為尾碼命名檔案。
// in myClassP1.cs
public partial class MyClass
{…}
// in myClassP2.cs
public partial class MyClass
{…}
24. 總是將大括弧放在一個新行上。
25. 匿名方法和一般(正規)的方法代碼使用相似的代碼布局
a. 規定:大括弧(方法體的括弧)必須使用新行
delegate void SomeDelegate(string someString);
// 正確的是:
public void InvokeMethod()
{
   SomeDelegate someDelegate = delegate(string name)
{
   MessageBox.Show(name);
};
   someDelegate(“Juval”);
}
// 避免使用:
public void InvokeMethod()
{
   SomeDelegate someDelegate = delegate(string name){ MessageBox.Show(name);};
   someDelegate(“Juval”);
}
26. 在匿名無參方法中要使用空的括弧。
a. 如果匿名方法有可能被使用在任何委託中那麼可以省略括弧。
delegate void SomeDelegate();
// 正確的方法是:
SomeDelegate someDelegate1 = delegate()
         {
                              MessageBox.Show(“Hello”);
}
 // 避免使用:
 SomeDelegate someDelegate1 = delegate
          {
                               MessageBox.Show(“Hello”);
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.