【转】浅析C#3.0编码习惯与命名规则

1.用Pascal规则来命名方法和类型。

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

2.用Camel规则来命名局部变量和方法的参数.

public class Product 
{
private string _productId;
private string _productName;
public void AddProduct(string productId,string productName)
{
}
}

3.所有的成员变量前加前缀“_”。

public class DataBase 
{
private string _connectionString;
}

4.接口的名称加前缀 “I”。

public interface IConvertible 
{
byte ToByte();
}

5.自定义的属性以“Attribute”结尾。

public class TableAttribute:Attribute 
{
}

6.自定义的异常以Exception结尾。

public class NullEmptyException:Exception 
{
}

7.方法的命名。一般将其命名为动宾短语。

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


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 
            { 
      } 
}
}

9.所有的成员变量声明在类的顶端,用一个换行把它和方法分开。

public class Product 
{
private string _productId;
private string _productName;
public void AddProduct(string productId,string productName)
{
    } 
}

10.用有意义的名字命名namespace,如:公司名、产品名。

namespace Zivsoft//公司命名 
{
} 
namespace ERP//产品命名
{
} 

11.建议局部变量在最接近使用它时再声明。

12.使用某个控件的值时,尽量命名局部变量。

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

13.把引用的系统的namespace和自定义或第三方的用一个换行把它们分开

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

14.文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类。

15.目录结构中要反应出namespace的层次。

16.大括号 "{“要新起一行。

public Sample() 
{
//
// TODO: 在此处添加构造函数逻辑
//
}

17. 普通get/set属性,建议采用3.0的风格:

public string Name
{
get;
set;
}

18. 局部变量,能用var,尽量使用var关键字。

19. 对象初始化,能简写最好简写:

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

其实规则很重要,它是一种标准,可有可无,但有总会比无好,大家正在编码的同志仔细看看,给点改进意见,目前更新到19条。

posted on 2009-03-19 11:22  寒轻  阅读(265)  评论(0编辑  收藏  举报