C#編碼規則

來源:互聯網
上載者:User
一、命名  
   
  1.用pascal規則來命名方法和類型.  
   
  public   class   TextBox  
   
  {  
   
            public   void   DataBind()      
   
            {  
   
            }  
   
  }  
   
  2.用camel規則來命名局部變數和方法的參數.  
   
  string   userName;  
   
  public   AddUser(string   userId,   byte[]   password);  
   
  3.所有的成員變數前加首碼   _  
   
  public   class   Database  
   
  {  
   
            private   string   _connectionString;  
   
  }  
   
  4.介面的名稱加首碼   I.  
   
  interface   ICompare  
   
  {  
   
            int   compare();  
   
  }  
   
  5.自訂的屬性以Attribute結尾  
   
  public   class   AuthorAttribute   :   Attribute  
   
  {  
   
  }  
   
  6.自訂的異常以Exception結尾  
   
  public   class   AppException   :   Exception  
   
  {  
   
  }  
   
  7.方法的命名.一般將其命名為動賓短語.  
   
  ShowDialog()  
   
  CreateFile()  
   
  GetPath()  
   
  8.代碼的縮排.要用Tab,而不要用space.  
   
  9.局部變數的名稱要有意義.不要用x,y,z等等(除用於For迴圈變數中可使用i,j,k,l,m,n).  
   
  string   userName  
   
  10.所有的成員變數聲明在類的頂端,用一個換行把它和方法分開.  
   
  11.用有意義的名字命名namespace,如:產品名、公司名.  
   
  12.建議局部變數在最接近使用它時再聲明.  
   
  13.使用某個控制項的值時,盡量命名局部變數.  
   
  14.把引用的系統的namespace和自訂或第三方的用一個換行把它們分開.  
   
  15.檔案名稱要能反應類的內容,最好是和類同名,一個檔案中一個類或一組關連類.  
   
  16.目錄結構中要反應出namespace的層次.  
   
  17.大括弧"{"要新起一行.  
   
  public   class   AuthorAttribute   :   Attribute  
   
  {  
   
  }  
   
  二、編碼習慣.  
   
  1.用C#預定義的類名,而不要用別名.  
   
  string   userName;       而不是   System.String   userName;  
   
  int   number;                         而不是   System.Int32;  
   
  2.一行不要超過80個字元.  
   
  3.盡量不要手工更改機器產生的程式碼,若必須更改,一定要改成和機器產生的程式碼風格一樣.  
   
  4.關鍵的語句(包括聲明關鍵的變數)必須要寫注釋.  
   
  5.文字常量和數字常量不要寫入程式碼,應該用常量類或枚舉代替.  
   
  6.不準使用goto系列語句.  
   
  7.不要聲明public和protected的成員變數,應用property.  
   
  8.不要聲明public的event,應用事件訪問器.  
   
  public   class   Source  
   
  {  
   
            private   EventHandler   m_NumberChangeEvent;    
   
            public   event   EventHandler   NumberChangeEvent  
   
            {  
   
                    add  
   
                    {  
   
                              m_NumberChangeEvent   +=   value;  
   
                    }  
   
                    remove  
   
                    {  
   
                              m_NumberChangeEvent   -=   value;  
   
                    }  
   
            }  
   
  }  
   
  9.類型轉換的使用規則.  
   
  Animal   animal   =   new   Dog();  
   
  Dog   dog   =   animal   as   Dog;  
   
  if   (dog   !=   null)  
   
  {  
   
  }  
   
  10.產生和構建一個長的字串時,一定要使用StringBuilder,而不用string.  
   
  11.始終使用"{     }"包含if下的語句,即使只有一條語句.  
   
  12.switch語句一定要有default來處理意外情況.  
   
  13.盡量少使用三目運算子   ?   :   ,而要使用if語句.  
   
  14.盡量不用使用this引用,除非是要調用類中的另一個Constructor.  
   
  public   class   Person  
   
  {  
   
            public   Person(string   name)  
   
            {  
   
            }          
   
            public   Person()   :   this("Jim")  
   
            {  
   
            }  
   
  }   
    

控制項命名沒有規範,只有常用,當然你可以常用變成規範;  
  控制項 縮寫  
  Label lbl  
  TextBox txt  
  CheckBox chk  
  Button btn  
  ListBox lst  
  DropDownList ddlst  
  LinkButton lnkbtn  
  ImageButton imgbtn  
  DropDownList ddlst  
  RadioButtonList rblst  
  CheckBoxList chklst  
  DataGrid dg  
  DataList dl  
  HyperLink       hlnk  
  Image img

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.