admin管理员组文章数量:1531487
2024年5月17日发(作者:)
基于.NET项目的代码书写规范要求书
第一章 主体命名规范
外挂服务命名规范
服务项目命名
所有服务项目名使用ESrv(注意大小写)开头,第五位字母开始自订义,但是第五位字母
必须大写。比如ESrvDemo1,其中Demo1为自定义名称。
二、类成员访问权限规范
所有类成员要严格的按照成员的使用性质,设置它们的访问修饰符,修饰符的意义如下:
声明的可访问性意义
l public //访问不l 受限制。
l protected //访问仅限于包含类或从包含类派生的类型。
l internal //访问仅限于当前程序集。
l protected internal //访问仅限于从包含类派生的当前程序集或类型。
l private //访问仅限于包含类型。
第二章 代码书写规范
一、代码注释规范
1) .cs文件的注释
所有.cs文件开头都要加上注释,写明文件创建时间、作者、用途概述等格式如下:
//********************************************************
//
//创建日期: 2004.7.19
//作 者: XXX
//功能说明: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//
//********************************************************
函数参数命名及过程注释
参数一定要能说明要传递的意思,用对应的英文或相近的英文单词表示均小写开头。所有的
函数体开头都要加上注释,所以注释使用.NET注释规范,如下格式:
///
/// 构造函数
///
/// 示例参数1
/// 示例参数2
public UpgradeThread(string netPath, string myPath)
{
程序语句。。。。。
}
3) 常量变量注释
所有的常量变量,无论是全局还是局部使用的,凡是对代码整体起到关键性做用的都需要加
上注释。如下示例:
///
/// 当前线程指向的备份文件本地保存路径
///
public string StorePath = "";
4) 代码修改注释
当开发者维护以前的程序代码时,需要在修改处的开始及结尾,加上自己的注释信息,格式
如下:
/*BEGIN 2004-7-19 Jayson 修正了XXX问题*/
略…
/*END 2004-7-19 Jayson*/
二、代码排版规范
1) 语句结构
为保证语句结构的清晰和程序的可读性,在编写软件程序时应注意以下几个方面的问题:
在一行内只写一条语句,并采用空格、空行和移行保证清楚的视觉效果。
每一个嵌套的函数块,使用一个TAB缩进,大括号必须放在条件语句的下一行,单独成一
行,便于查看是否匹对。例如,有一段程序如下:
for(int i=0; i<10; i++){ine(“xxxxx”)}
应该写为:
for(int i=0; i<10; i++)
{
ine(“xxxxx”)
}
2) 代码书写格式规范
文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间的空行为
2-3行;
在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。
每行长度尽量避免超过屏幕宽度。
尽量用公共过程或子程序去代替重复的功能代码段。
使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将 x=a*b/c*d 写成
x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。
避免采用过于复杂的条件测试。
避免过多的循环嵌套和条件嵌套。
一个函数尽可能不要超过200行。一个文件应避免超过2000行。
避免采用多赋值语句,如x = y = z;
三、结构定义规范
1) 命名规则
用大小写字母表示。
TAG_Xxxx 以TAG开头,下划线后面定义具体结构的名称,或者写成TAGXxxx。
缩写字母采用全大写,其它的每个单词首字母采用大写其它的为小写。
命名时,尽可能采用英文单词或是英文单词缩写,有利于别人从命名得知此命名的用途和含
义。(不太常用的英文建议查阅电子字典)。
示例:
public struct TAG_ALLMESSAGE
public struct TAG_AllMessage
四、枚举类型定义规范
1) 命名规则:
用大小写字母表示
EU_Xxxxx以EU 打头,下划线后面定义类型名称
示例:
public enum EU_Message
五、常量定义规范
1) 全局使用常量
示例:
public const bool G_Trans_false = false;
2) 常量定义规范
大小写字母命名
G_XXX_YXX G表示全局,XXX标识常量用途,YYY标识具体的值
3) 局部使用常量(定义在每个Class 的前面)
示例:
public const int L_Priority_Lowest = 0
六、变量定义规范
1) 变量定义原则
变量定义的基本原则是:变量名=属性+类型+对象描述+自定义。
每一个变量定义尽量在函数、过程的开始处就进行定义,尽量避免在代码中不规则的穿插定
义。
七、函数返回值使用规范
避免使用结构体等复杂类型
使用bool类型:该函数只需要获得成功或者失败的返回信息时候
使用int 类型:错误代码用负数表示,成功返回0,建议使用此方式。
八、控件命名及使用规范
1、TextBox 命名:txtXxx 即控件类型+控件说明(使用说明,能能说明等) 如:
txtLoginUserName 可以知道,是一个登陆时用到的文本控件
2、Label 命名:lblXxx lblLoginError 可以知道,是登陆时错误提示的 Label 控件
3、ListBox 命名:lbXxx lbUserList 可以知道,是用来显示多个用户的ListBox控件
其他控件命名规范一次类推
九、定义实体类的规范
数据库有一个 Users 表 那么对应的实体类名:
public Class Users
{
//具体实现
}
在实体类中:私有变量定义格式如:
private int _UserID; UserID 是数据库表里面的字段
///
/// 用户编号
///
public int UserID
{
get{ return _UserID;}
set{ _UserID=value;}
}
十、数据库字段命名规范
DB_XXXX(数据库命名)、TB_DATABASE_XXXX(数据库表命名)、V_XXXX(视图命名)、
PROC_XXXX(存储过程命名) 其他按照所写规则或者头字母规则一次类推
类型+使用说明或者功能说明
如:DB_MARRY 一眼可以看出是:数据库名称 ,功能就是婚嫁数据库。
TB_MARRY_Users 是一个数据库的表:表属于 DB_MARRY 数据库
版权声明:本文标题:项目的代码命名规范 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1715879722a474942.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论