程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#3.0編碼習慣與命名規則

C#3.0編碼習慣與命名規則

編輯:關於C#

1.用Pascal大小寫規則命名方法、類型、結構、接口、委托、枚舉、枚舉項 、屬性、事件等。

public class DataGrid
{ 
          public void DataBind()
          {
          }
}

2.用Camel大小寫規則命名所有變量、字段和參數。

可采用Pascal也可采用Camel大小寫規則的:常量、控件ID。

public class Product
{
          private string _productId;
          private string _productName;
          public void AddProduct(string productId,string productName)
          {
          }
}
public class BaseView:ViewPage
{
          protected Label label; //Camel命名控件ID
          protected Login Login1; //Pascal命名空間ID
}

3.所有的私有成員變量前加前綴“_”。

public class DataBase
{
         private string _connectionString;
}

4.接口的名稱加前綴   “I”。

public interface IConvertible
{
         byte ToByte();
}

5.自定義的屬性以“Attribute”結尾。

public class TableAttribute:Attribute
{
      //在使用這個屬性時,不沖突的情況下,直接可以省掉 TableAttribute後面的Attribute用Table也可以。
}

6.自定義的異常以Exception結尾。

public class NullEmptyException:Exception
{

}

7.方法的命名。一般將其命名為動賓短語。 (參數作為賓語時,在不混淆情 況下,可以省略。)

public class File
{
            public void CreateFile(string filePath)
            {
            }
            public void GetPath(string path)
            {
            }
            public void Delete(string fileName)
            {

            }
}

8.局部變量的名稱要有意義。

不要用x,y,z等等,用For循環變量中可使用i,j,k,l,m,n。 (當循環嵌套 超過三個時,應抽出方法。)

public class User
{
         public void GetUser()
         {
                  string[] userIds={ "ziv","zorywa","zlh"};
                  for(int i=0,k=userIds.Length;i <k;i++)
                  {
                  }
         }
}

9.所有的成員變量聲明在類的頂端,用一個換行把它和方法分開。

public class Product
{
           private string _productId;
           private string _productName;

           public void AddProduct(string productId,string productName)
           {
           }
}

10.用有意義的名字命名namespace,如:公司名、產品名。 (有人問到,如 果是公用類庫怎麼辦,我的答案是,規則依然執行,比如Zivsoft.Data,或 Zivsoft.Data.Access等)

namespace Zivsoft//公司命名
{

}
namespace ERP//產品命名
{

}

11.建議局部變量在最接近使用它時再聲明。

12.使用某個控件的值時,盡量命名局部變量。

public string GetTitle()
{
            string title=this.lblTitle.Text;
            return title;
}

14.把引用的系統的namespace和自定義或第三方的用一個換行把它們分開。

using System;
using System.Web.UI;
using System.Windows.Forms;

using Zivsoft.Data;
using Zivsoft.Data.SQLServer;//注意,最好建議按字目順序排序
using Zivsoft.Localization;

15.文件名要能反應類的內容,最好是和類同名,一個文件中一個類或一組關 連類。 如果代碼超過3000行,或者一個類分幾塊,可以采用Config.private.cs 或Config.public.cs命名。

16.目錄結構中要反應出namespace的層次。

17.大括號 "{“要新起一行。 個人覺得比較直觀。

public Sample()
{
      //
      //   TODO:   在此處添加構造函數邏輯
       //
}

18. 普通get/set屬性,建議采用3.0的風格:

public string Name
{
       get;
       set;
}
public string Age
{
       get;
       private set;
}

19. 局部變量,能用var,盡量使用var關鍵字。(注意,讀代碼時如果造成 類型不明確,采用具體類型)

var i=0;
var strName="Lihua";
UserInfo objUser=GetUserInfo();//注意,不推薦var

20. 對象初始化,能簡寫最好簡寫:

var vt=new ValueText{Value=10,Text="Age"};

其實規則很重要,它是一種標准,可有可無,但有總會比無好,大家正在編 碼的同志仔細看看,給點改進意見,目前更新到20條。

今天很巧,剛好零點,趕上cnblogs的今日頭條啦。另外,無意搜到“周利華 ”在google記錄裡竟然有16600條之多,感慨之余,都分不清哪個是自己,哈哈 ,最後加上“cnblogs”才找到自己。

最後,熬夜把這新的C#3.0編碼習慣與命名規則獻上,在分享中彼此提高。

綜合網友意見和建議,我剛做了部分修改。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved