欢迎访问测试中国(www.testingcn.com),做测试的朋友请加QQ群:45598719

C#命名规则和开发习惯

上一篇 / 下一篇  2007-05-07 10:13:03 / 个人分类:开发相关

一、命名

 

1.pascal规则来命名方法和类型,类名添加cls前缀。

Pascal规则是:第一个字母必须大写,并且后面的并发连结词的第一个字母均为大写,例如象GeneralManager、SmallDictionary、StringUtil都是合乎这种规则的类名。

publicclassclsTextBox

{

    publicvoidDataBind() 

    {

    }

}

 

2.camel规则来命名局部变量和方法的参数.并添加数据类型前缀。前缀但参考附录)

camel规则是:第一个子串外的所有子串的第一个字母大写

stringstrUserName;

publicAddUser(stringstrUserId,byte[] byPassword);

 

3.所有的成员变量前加前缀m_

publicclassDatabase

{

    publicstringm_strConnectionString;

}

 

4.接口的名称加前缀I.

interfaceICompare

{

    intcompare();

}

 

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

publicclassAuthorAttribute : Attribute

{

}

 

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

publicclassAppException : Exception

{

}

 

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

ShowDialog()

CreateFile()

GetPath()

 

8.代码的缩进.要用Tab,而不要用space.

 

9.局部变量的名称要有意义.不要用xyz等等.

stringuserName

 

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

 

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

 

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

 

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

 

14.把引用的系统的namespace和自定义或第三方的分开.

 

15.文件名要能反应类的内容,最好是和类同名,一个文件中一个类.

 

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

publicclassAuthorAttribute : Attribute

{

}

17常量

全部大写,单词之间以“_”分隔

例如:USER_PASSWORD 

 

二、编码习惯.

1.C#预定义的类名,而不要用别名.

stringuserName;  而不是System.String userName;

intnumber;       而不是System.Int32;

 

2.一行不要超过80个字符.

 

3.尽量不要手工更改机器生成的代码,若必须更改,一定要改成和机器生成的代码风格一样.

 

4.关键的语句(包括声明关键的变量)必须要写注释.

 

5.文字常量和数字常量不要硬编码,应该用常量类或枚举代替.

 

6.不要用goto系列语句.

 

7.不要声明publicprotected的成员变量,应用property.

 

8.不要声明publicevent,应用事件访问器.

publicclassSource

{

    privateEventHandler m_NumberChangeEvent;

    

    publiceventEventHandler NumberChangeEvent

    {

        add

        {

             m_NumberChangeEvent +=value;

        }

        

        remove

        {

             m_NumberChangeEvent -=value;

        }

    }

}

 

9.类型转换的使用规则.

Animal animal =newDog();

Dog dog = animalasDog;

if(dog !=null)

{

}

 

10.生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string.

 

11.始终使用"{ }"包含if/else下的语句,即使只有一条语句.

 

12.switch语句一定要有default来处理意外情况.

 

13.尽量不用使用this引用,除非是要调用类中的另一个Constructor.

publicclassPerson

{

    publicPerson(stringname)

    {

    }

    

    publicPerson() :this("Jim")

    {

    }

}

 

数据库命名规则

 

1、数据库对象命名规则

表:    tb_e|r|b_<TableName>  首字母大写

            e—业务表中相对独立的实体表(例如:课程资源表……)

            r—业务中产生的关联表(例如:选课表……)

            b—系统中的基本表(例如:类型表、民族、地区……)

视图:    vw_<ViewName>       首字母大写

存储过程:sp_<SpName>          首字母大写

触发器:  ti | tu | td_<TriggerName> 首字母大写

函数过程:fn_<FunctionName>     首字母大写

 

3、数据项命名规则

列名命名规则:首字母大写

 

注:建议名称部分用英文单词或单词简写

 

 

附录:

 

数据类型     

bool-b

float-flt

unit-ui

byte-by

int—i

ulong-ulng

char-ch

long—lng

ushort-usht

decimal-dec

sbyte-sby

string-str

double-dbl

short-sht

object-obj

emun-emn

struct-st

 

 

控件命名:

Controltype                      prefix           Example

3D Panel                        pnl           pnlGroup

ADO Data                       ado           adoBiblio

Animated button                 ani           aniMailBox

Button                           btn            btnOK

Check box                       chk           chkReadOnly

Combo box                       cbo           cboEnglish

TAG: 开发相关

 

评分:0

我来说两句

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 322856
  • 日志数: 231
  • 图片数: 1
  • 建立时间: 2006-12-13
  • 更新时间: 2008-10-29

RSS订阅

Open Toolbar