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

开发 后端
本文通过一些建议简单描述了程序员在使用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)
{
    } 
}

#p#

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条。

【编辑推荐】

  1. 浅析C#中的套接字编程
  2. 详解C# 4.0中必选参数与可选参数混合的问题
  3. 浅谈C# 4.0中的动态类型和动态编程
责任编辑:book05 来源: cnblog
相关推荐

2010-09-01 13:44:23

idclassCSS

2009-07-01 09:56:10

C#3.0

2009-08-24 17:55:44

C#3.0新特性

2009-04-23 17:56:05

C#自动属性对象初始化

2009-08-28 13:56:25

C#反射命名空间

2010-01-12 17:32:49

H3C交换机命名规则

2009-07-31 18:18:33

Camel命名法C#命名规范

2009-09-21 08:50:42

.NET中文变量

2009-09-18 15:53:37

C# 3.0新语言特性

2009-09-01 17:29:51

C#命名规约

2010-01-20 10:19:55

C++数组

2011-06-17 15:29:44

C#对象初始化器集合初始化器

2009-07-24 18:02:46

ASP.NET编程

2012-04-23 14:14:22

编码质量

2010-08-27 09:51:25

idclassCSS

2023-03-12 15:25:37

2021-09-27 22:49:13

GoC 指针

2010-08-25 09:11:57

DIVCSS

2010-02-05 17:25:26

C++标识符命名规则

2009-07-15 11:02:32

Swing组件
点赞
收藏

51CTO技术栈公众号