编码规范及其代码.docx
- 文档编号:2948200
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:35
- 大小:35.12KB
编码规范及其代码.docx
《编码规范及其代码.docx》由会员分享,可在线阅读,更多相关《编码规范及其代码.docx(35页珍藏版)》请在冰豆网上搜索。
编码规范及其代码
项目编号
200602006
文档编号
13
密级
内部
选课系统编码规范及其代码说明
目录
1.导言
1.1目的
1.2范围
1.3缩写说明
1.4术语定义
1.5引用标准
1.6参考资料
1.7版本更新信息
2.编码格式规范
3.命名规范
3.1命名的基本约定
3.2各种标示符类型的命名约定
3.3组件名称缩写列表
4.声明规范
4.1变量声明
4.2代码缩进
4.3空白
5.语句规范
6.注释规范
6.1注释的方法
6.2开头注释
6.3类和接口的注释
7.目录规范
1.导言
1.1目的
该文档的目的是描述网上招聘系统项目的编码规范和对代码的说明,其主要内容包括:
●编码规范
●命名规范
●注释规范
●语句规范
●声明规范
●目录设置
●代码说明
本文档的预期的读者是:
●开发人员
●项目管理人员
●质量保证人员
1.2范围
该文档定义了本项目的代码编写规范,以及部分代码描述和所有代码的说明。
1.3缩写说明
Aspx
Aspx是ActiveServerPagesXML的缩写。
1.4术语定义
Class
C#程序的单元。
Packages
由很多的类组成的工作包。
1.5引用标准
[1]《企业文档格式标准》
北京长江软件有限公司
1.6参考资料
书名:
《系统分析设计技术》作者:
张友生
《C#程序设计》
2.编码格式规范
1.代码书写格式
(1)所有的缩进TAB键为4个空格,每个单词的首字符大写,其余小写。
(2)在代码中垂直对齐左括号和右括号。
例:
if(x==0)
{
Response.Write("用户名必须输入!
");
}
不允许以下情况:
if(x==0)
{
Response.Write("用户名必须输入!
");
}或者
if(x==0)
{
Response.Write("用户名必须输入!
");
}
(3)在大多数运算符之前和之后使用空格,这样做时不会改变代码的的意图却可以使代码容易阅读。
例:
intj=i+k;而不应写为:
intj=i+k;
(4)缩写SQL语句时,对于关键字使用全部大写,对于数据库元素(如表,列和视图)使用大小写混合)。
(5)将每个主要的SQL子句放在不同的行上,这样更容易阅读和编辑语句。
2.注释的写法
(1)在你劳神的地方请加上详细的注释说明,除了最简单的存取成员变量的Set/Get成员函数之外,其余大部分的函数写上注释是良好的习惯,尽量使你的程序让别人很容易看懂。
(2)大多的注释会使很难看,但一些复杂的算法和数据结构和数据结构处还是要加上注释的,这样别人就容易看懂,否则时间长了,你自己都未必卸载明白了。
(3)如果是对某一段程序(算法/结构)的注释,在程序头直接用//再空一格进行说明,一行不要超过80个字符。
(4)为了防止在阅读代码时不得不左右流动源代码编辑器,每行代码或注释在不得超过一显示屏。
(5)使用连续的多个/表示注释行(不要超过80字符)。
(6)文件头部应有注释,简单描述文件的内容(7)对于程序中的比较关键的算法和函数,必须加注释。
3.cs文件的书写
(1)各个部分应使用注释行和空行分割,并在必要的地方写上注释。
(2)函数之间用注释各空行分割。
中间的内容缩进一个TAB三.其他1.变量
(1)float和bool禁止用"=="判断.bool应该用逻辑运算关系符,而float应该用差值区间来判断"相等";
(2)类型转换一律用显示类型转换
(3)类型的长度一律用sizeof()获得;
(4)当声明一个变量时,务必要自已初始化一下变量;
2.函数
(1)功能单一,函数名要名符其实.
(2)要易懂,实现时要根过分追求技巧,优化放到后面去做
.(3)长度一般禁止超过200行.
(4)要检查输入值是否合法,实现(成员)函数时务必要求输入参数是在要求范围之内,尤其你定义的(成员)函数给别人调用时,要判断其合法性.
(5)调用函数时要严格按照接口规范调用,调用后要判断执行情况,并做适当的错误处理(尔后会给出错误和异常处理规范)
(6)尽量避免整块复制代码段,如果出现这样的情况要分析原因,如果这段代码完成独立的功能,应考虑使用函数,否则,应考虑使用宏定义,否则因为修改引起的不一致往往是错误的根源
.(7)除极其简单的函数外,其他的函数在稿处必须加上FMAT_TARCE(),参见错误异常处理规范
.(8)函数的出口尽量唯一,最好在出口处加上FMAT_TRCE();
(9)写代码时,尽量减少堆的分配次数,能使用Stack的尽量使用Stack
(10)函数编写必须精练,消除冗余的代码,删除不用的变量
(11)if/while等语句中和条件表达式的运算结果必须为显示的Bool量
(12)禁止使用goto语句附:
标识符大小写方式示例标识符大小写规则标识符大小写示例类PascalAppDomain枚举类型PascalErrorLevel枚举值PascalFataError事件PascalValueChanged异常类PascalWebException只读的静态字段PascalReadValue接口PascalIDisposable方法PascalToString命名空间PascalSystem.Drawing属性PascalBackColor参数CameltypeName
3.命名规范
3.1命名的基本约定
1>要使用可以准确说明变量/字段/类的完整的英文描述符,如firstName。
对一些作用显而易见的变量可以采用简单的命名,如在循环里的递增(减)变量就可以 被命名为“i”。
2>要尽量采用项目所涉及领域的术语。
3>要采用大小写混合,提高名字的可读性。
为区分一个标识符中的多个单词,把标识符中的每个单词的首字母大写。
不采用下划线作分隔字符的写法。
有两种适合的书写方法,适应于不同类型的标识符:
PasalCasing:
标识符的第一个单词的字母大写;
camelCasing:
标识符的第一个单词的字母小写。
4>下表描述了不同类型标识符的大小写规则:
标识符
大小写
示例
命名空间
Pascal
namespaceCom.Techstar.ProductionCenter
类型
Pascal
publicclassDevsList
接口
Pascal
publicinterfaceITableModel
方法
Pascal
publicvoidUpdateData()
属性
Pascal
PublicintLength{…}
事件
Pascal
publiceventEventHandlerChanged;
私有字段
Camel
privatestringfieldName;
非私有字段
Pascal
publicstringFieldName;
枚举值
Pascal
FileMode{Append}
参数
Camel
publicvoidUpdateData(stringfieldName)
局部变量
Camel
stringfieldName;
5>避免使用缩写,如果一定要使用,就谨慎使用。
同时,应该保留一个标准缩写的列表,并且在使用时保持一致。
6>对常见缩略词,两个字母的缩写要采用统一大小写的方式(示例:
ioStream,getIOStream);多字母缩写采用首字母大写,其他字母小写的方式(示例:
getHtmlTag);
7>避免使用长名字(最好不超过15个字母)。
8>避免使用相似或者仅在大小写上有区别的名字。
3.2各种标示符类型的命名约定
1>程序集命名
实验室名称(Lab)+项目名称+模块名称(可选),例如:
中心服务器程序集:
Lab.SeverCenter;
中心服务器业务逻辑程序集:
Lab.SeverCenter.Business;
2>命名空间命名
采用和程序集命名相同的方式:
实验室名称(Lab)+项目名称+模块名称。
另外,一般情况下建议命名空间和目录结构相同。
例如:
中心服务器:
Lab.SeverCenter;
中心服务器下的用户控件:
Lab.SeverCenter.UserControl;
中心服务器业务逻辑:
Lab.SeverCenter.Business;
中心服务器数据访问:
Lab.SeverCenter.Data;
3>程序集和DLL
l大多数情况下,程序集包含全部或部分可重用库,且它包含在单个动态链接库(DLL)中。
l一个程序集可拆分到多个DLL中,但这非常少见,在此准则中也没有说明。
l程序集和DLL是库的物理组织,而命名空间是逻辑组织,其构成应与程序集的组织无关。
l命名空间可以且经常跨越多个程序集。
可以考虑如下模式命名DLL:
例:
Lab.SeverCenter.dll
4>类和接口命名
l类的名字要用名词;
l避免使用单词的缩写,除非它的缩写已经广为人知,如HTTP。
l接口的名字要以字母I开头。
保证对接口的标准实现名字只相差一个“I”前缀,例如对IComponent接口的标准实现为Component;
l泛型类型参数的命名:
命名要为T或者以T开头的描述性名字,例如:
publicclassList
publicclassMyClass
l对同一项目的不同命名空间中的类,命名避免重复。
避免引用时的冲突和混淆;
5>方法命名
l第一个单词一般是动词;
l如果方法返回一个成员变量的值,方法名一般为Get+成员变量名,如若返回的值是bool变量,一般以Is作为前缀。
另外,如果必要,考虑用属性来替代方法;
l如果方法修改一个成员变量的值,方法名一般为:
Set+成员变量名。
同上,考虑用属性来替代方法。
6>变量命名
l按照使用范围来分,我们代码中的变量的基本上有以下几种类型,类的公有变量;类的私有变量(受保护同公有);方法的参数变量;方法内部使用的局部变量。
这些变量的命名规则基本相同,见标识符大小写对照表。
区别如下:
a)类的公有变量按通常的方式命名,无特殊要求;
b)类的私有变量采用两种方式均可:
采用加“m”前缀,例如mWorkerName;
c)方法的参数变量采用camalString,例如workerName;
l方法内部的局部变量采用camalString,例如workerName。
l不要用_或&作为第一个字母;
l尽量要使用短而且具有意义的单词;
l单字符的变量名一般只用于生命期非常短暂的变量:
i,j,k,m,n一般用于integer;c,d,e一般用于characters;s用于string
l如果变量是集合,则变量名要用复数。
例如表格的行数,命名应为:
RowsCount;
l命名组件要采用匈牙利命名法,所有前缀均应遵循同一个组件名称缩写列表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编码 规范 及其 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)