您好,欢迎访问三七文档
项目开发规则C#命名规范1.1命名空间框架中所有命名空间的起始部分COM.ACCP业务中所有命名空间的起始部分COM.ASSEMBLY.FOLDER实际结构和名称以业务为准1.2类1)名字应该能够标识事物的特性。2)名字可以有两个或三个单词组成,但通常不应多于三个。3)采用Pascalcase,所有单词第一个字母大写。4)使用名词或名词短语命名类。5)少用缩写。6)不要使用下划线字符(_)。例:publicclassFileStreampublicclassButton1.3接口和类命名规范相同,唯一区别是接口在名字前加上“I”前缀例:interfaceIDBCommandinterfaceIButton1.4枚举和类命名规范相同,唯一区别是枚举在名字前加上“E”前缀例:enumESystemType1.5方法1)使用动词或动词短语命名方法。2)采用Pascalcase,所有单词第一个字母大写。3)方法中的参数命名采用Camelcasing,所有单词第一个字母大写,除了首字母小写。1.6属性1)使用名词或名词短语命名2)采用Pascalcase,所有单词第一个字母大写3)少用缩写4)不要使用下划线字符(_)1.7变量1)变量名称=变量的前缀+代表变量含意的英文单词或单词缩写。常用变量类型的前缀命名规则,定义如下:类型前缀boolblnbytebytcharchardoubledblfloatfltintegerintlonglngobjectobjstringstr常用对象:类型前缀CollectioncollDateTimedtDataSetdsDataReaderdrdDataRowdrDataColumndcHashtablehsXmlDomxmlXmlReaderxr2)类的私有变量,在遵循第一条规则后,在其前加“m_”前缀。例:publicclassHello{privatestringm_strName;publicstringName{get{returnm_strName;}}}3)即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如i或j。4)不要使用原义数字或原义字符串,如for(inti=1;i=7;i++)。而是使用命名常数,如for(inti=1;i=NUM_DAYS_IN_WEEK;i++)以便于维护和理解。1.8常量1)常量的名字应该都大写,并且指出完整含义,单词之间用下划线(_)分隔。例:constintPAGE_COUNT=10;1.9控件前台系统开发时,只能使用下面列出的控件,又不能满足要求请先和模块负责人联系。讨论通过后才可使用,规范修改前严禁使用未列出的控件。Framework有提供相应控件的,不得使用.Net标准控件控件命名=Window控件缩写前缀+变量名控件类型命名ButtonBtnCheckBoxChkComboBoxCmbDateTimeBoxDtbGroupBoxGrbLabelLblLookupBoxLkpNumericBoxNumPanelPnlProgressBarPgbRadioButtonRadTextBoxTxtMemoEditMemoTreeViewTvw1.10数据集命名规范1)普通数据集命名以Ds开头2)作为查询参数的数据集命名以DsQuery开头,表名以QUERY_为前缀3)元素的所有字母大写,各字母以下划线“_”分割4)专用名词建议使用习惯缩写5)与后台交互的数据集不允许使用属性1.11注释注释规范包括:类注释规范、类的属性、方法注释规范、代码间注释规范1.11.1类注释规范类开始必须以以下形式书写类注释:///summary///类的描述:///作者:///创建时间:格式:YYYY-MM-DD////summary1.11.2类属性注释规范在类的属性必须以以下格式编写属性注释:///summary///属性说明:////summary1.11.3方法注释规范在类的方法声明前必须以以下格式编写注释///summary///说明:对该方法的说明////summary///paramname=参数名称参数说明/param///returns///对方法返回值的说明////returnsDataGridGridDataListListImageImgDropDownListDrp1.11.4代码间注释规范代码间注释分为单行注释和多行注释:单行注释://单行注释多行注释:/*多行注释1多行注释2多行注释3*/2C#代码格式规范1)所有的缩进为4个空格,使用VS.NET的默认设置。2)在代码中垂直对齐左括号和右括号。(需讨论)例:if(x==0){Response.Write(用户编号必须输入!);}不允许以下情况:if(x==0){Response.Write(用户编号必须输入!);}或者:if(x==0){Response.Write(用户编号必须输入!);}3)为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在1024*800的显示频率下不得超过一显示屏4)每一行上放置的语句避免超过一条。5)在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。例:intj=i+k;而不应写为intj=i+k;6)将大的复杂代码节分为较小的、易于理解的模块。7)相同功能的代码段用#region折叠起来,在阅读时比较简洁和易于理解例:#region代码段说明#endregion3SourceSafe使用规范代码维护一律使用VS.NET内嵌的集成方式,不要使用VSS客户端工具(客户端工具仅用来维护文档版本)。注意:必须安装VS.NET2003安装程序内带的VSS版本(6.0d),才能与VS.NET环境集成。如果已安装其它早期版本,请先卸载再安装新版本。3.1创建项目第一个创建项目的人应在VS.NET2003环境下的菜单中选择“文件”—〉“源代码管理器”—〉“将选定项目添加到源代码管理器”(注意:不要选择“将解决方案添加到源代码管理器”)。下图是一个Project的资源管理视图,其中bin、obj两个灰色的目录是VS.NET2003自动生成的临时文件夹,用来保存编译过程中的临时文件,不应上传到SourceSafe上,否则会因为指读属性影响本地编译结果。其它灰色的文件都是指project之外的文件,均不应该上传至Sourcesafe。3.2获取项目其他开发人员需要使用项目文件时,必须在VS.NET2003环境下的菜单选择文件-源代码管理-从源代码管理打开…3.3日常使用规范1.项目文件(*.csproj)签出后应当尽早签入,以避免影响其他人使用。2.签入前必须先编译通过,编译通过后的文件允许签入3.相关文件必须一次性签入,推荐整个项目一次性整体签入4.每日下班前,必须签入编译通过的版本。总则:不管你用什么命名方法,所有的命名规则一定要统一,不要一会儿中文拼音一会儿英文等等。1、采用英文单词或英文短语(包括缩写)作为名称,不能使用无意义的字符或汉语拼音。2、每个数据库对象表,视图,字段,存储过程,不要用任何数据库的关键词作为名称。凡是能写注释的地方,应该写上注释,以便查看。3、名称应该清晰明了,能够准确表达事物的含义,最好可读,遵循“见名知意”的原则。4、对长度也要有限制,最好不要超过30个字符,在PD设置生成时,部分数据库对象会自动截取到30位。5、所有名称的字符范围为:A-Z,a-z,0-9和_(下划线)。不允许使用其他字符作为名称。6、注释分单行和双行,在数据库对象如函数,存储过程,视图等,都需要在页头添加数据库对象前缀命名说明表写法一:模块名_具体功能实体名,如用户角色表User_Role等,写法二:直接写成UserRole,不用_来区分,看习惯和所用数据库。列名表名缩写_写法:表名缩写_具体内容如用户角色表User_Role的名称:UR_Name,如果是单个的表名,比如区域表Area,则可以写成Area_ID。表命名的十个需要注意的地方存储过程sp_up_proc_单个表直接用表名,并加功能,大小写均可(Add,Edit,Del,Query,Report,Validate等)视图vw_vw_直接的内容,一般是用于查询Query和报表Report两种情形触发器trg_方法一:trg_表名_方法名_[之前之后等]比如:trg_User_Info_Insert方法二:触发器分为行级Row【R】和语句级Statement[【S】,又分为after【A】,before【B】,insteadof【I】,方法又有三种Insert【I】,Update【U】,Detele【D】,所以:如:trg_User_Info_RBI(代表语句级,之前,插入操作),有点专业,不知道命名规则的人看不明白。函数fn_f_fn_功能名称。一些是具体的操作函数,比如字符串处理,fn_SplitStr(参数)处理字符串,如果与模块相关,则fn_模块名称_具体方法主键pk_pk_表名[或缩写]_列名简洁的写法:写法一:pk_表名,写法二:pk_列名,因为列名设计时已经包含表的含义外键fk_fk_从表名字段_主表名字段。这个推荐索引idx_idx_表名_字段名(一个或多个)【可以在其后加U或者C,规则同触犯器】推荐使用:idx_字段名一是唯一Unique【U】与非唯一NonUnique【N】一是聚集Cluster【C】与非聚集NonCluster【N】约束ck_1.默认约束:df_表名_列名,df_列名2.唯一约束:uni_表名_列名,uni_列名3.检查约束:【ck_列名】,【ck_表名_列名】4.主键约束:【pk_表名】,【pk_列名】5.外键约束:fk_表名_REFERENCE_表名序列seq_写法1:seq_User_Info(因为每个表一般只有一个序列)写法2:seq_UI_ID(因为表名含义已经包含在字段中)写法3:seq_User_Info_UI_ID(表名加字段名)事务trans_trans_游标crs_crs_表空间_data_idx_tmp_rbs@面向用户或者应用名,这个以用户名或者应用名加后缀组成数据表空间以用户名+_+data命名索引表空间以用户名+_+idx命名专用临时表空间以用户名+_+tmp命名专用回滚段表空间以用户名+_+rbs命名特殊处理:@LOB段数据专用表空间后面再加_lobs命名
本文标题:项目编码规范
链接地址:https://www.777doc.com/doc-815286 .html