VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Objective-C编程 >
  • c#3.0编码习惯和命名规则

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  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编码习惯与命名规则献上,在分享中彼此提高。

  综合网友意见和建议,我刚做了部分修改。

 

 

 

  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.所有的成员变量声明在类的顶端,用一个换行把它和方法分开。



相关教程