发布时间 : 星期六 文章Net代码编写规范更新完毕开始阅读
郑州海为电子科技有限公司
5.1.2控件命名
控件命名 = Web控件缩写前缀 + [“_”] + 名称 如:DataGrid dg_UserList 或 dgUserlist
5.2 常量命名
常量名也应当有一定的意义,格式为NOUN或NOUN_VERB。常量名均为大写,字之间用下划线分隔。 例:
private const bool WEB_ENABLEPAGECACHE_DEFAULT = true;
private const int WEB_PAGECACHEEXPIRESINSECONDS_DEFAULT = 3600; private const bool WEB_ENABLESSL_DEFAULT=false; 注:
变量名和常量名最多可以包含 255 个字符,但是,超过 25 到 30 个字符的名称比较笨拙。此外,要想取一个有实际意义的名称,清楚地表达变量或常量的用途,25 或 30 个字符应当足够了。
5.3 类(Class)命名
1) 2) 3) 4) 5) 6) 7)
名字应该能够标识事物的特性。
名字尽量不使用缩写,除非它是众所周知的。
名字可以有两个或三个单词组成,但通常不应多于三个。
在名字中,所有单词第一个字母大写。例如 IsSuperUser,包含ID 的,ID可以全部大写,如CustomerID。 使用名词或名词短语命名类。 少用缩写。
不要使用下划线字符 (_)。
例: public class FileStream public class Button public class String
5.4 接口(Interface)命名
和类命名规范相同,唯一区别是接口在名字前加上“I”前缀 例:
interface IDBCommand; interface IButton;
5.5 方法(Method)命名
和类命名规范相同。
5.6 命名空间(NameSpace)命名
和类命名规范相同。
郑州海为电子科技有限公司
5.7 属性(Property)命名
与类名命名规范相同。
6 编码规则
6.1 错误检查规则
a) 编程中要考虑函数的各种执行情况,尽可能处理所有流程情况。 b) 检查所有的系统调用的错误信息,除非要忽略错误。
c) 将函数分两类:一类为与屏幕的显示无关, 另一类与屏幕的显示有关。对 于与屏幕显示无关的函数,函数通过返回值来报告错误。 对于与屏幕显示有关的函数,函数要负责向用户发出警告,并进行错误处理。 d) 错误处理代码一般放在函数末尾。
e) 对于通用的错误处理,可建立通用的错误处理函数,处理常见的通用的错误。
6.2 大括号规则
将大括号放置在关键词下方的同列处,列如: If($condition) {
/// }
while($condition) { /// }
6.3 缩进规则
使用一个“Tab”为每层次缩进。例如: Function func() {
if (something bad) {
if (another thing bad) {
while (more input) { } } } }
6.4 小括号规则
a) 不要把小括号和关键词(if 、while等)紧贴在一起,要用空格隔开它们。
郑州海为电子科技有限公司
b) 不要把小括号和函数名紧贴在一起。 c) 除非必要,不要在Return返回语句中使用小括号。因为关键字不是函数, 如果小括号紧贴着函数名和关键字,二者很容易被看成是一体的。
6.5 If Then Else规则
如果你有用到else if 语句的话,通常最好有一个else块以用于处理未处理到的其他情况。可以的话放一个记录信息注释在else处,即使在else没有任何的动作。其格式为:
if (条件1) // 注释 { }
else if (条件2) // 注释 { }
else // 注释 { }
注:if 和循环的嵌套最多允许4层
6.6 比较规则
总是将恒量放在等号/不等号的左边。一个原因是假如你在等式中漏了一个等号,语法检查器会为你报错。第二个原因是你能立刻找到数值而不是在你的表达式的末端找到它。例如: if ( 6 == $errorNum ) ...
6.7 Case规则
default case总应该存在,如果不允许到达,则应该保证:若到达了就会触发一个错误。Case的选择条件最好使用int或string类型。
6.8 对齐规则
变量的申明和初始化都应对齐。例如: int m_iCount; int i,j;
float m_fIncome,m_fPay; m_iCount = 0; i = 1; m_fIncome = 0.3;
6.9 代码语句规则
1) 所有的缩进为4个空格,使用VS.NET的默认设置。 2) 在代码中垂直对齐左括号和右括号。
if(x==0) {
郑州海为电子科技有限公司
3) 4) 5) 6)
7)
Response.Write(\用户编号必须输入!\ }
不允许以下情况: if(x==0) {
Response.Write(\用户编号必须输入!\ } 或者:
if(x==0){ Response.Write(\用户编号必须输入!\
为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在1024*800的显示频率下不得超过一显示屏
当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。 每一行上放置的语句避免超过一条。
在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。 例: int j = i + k; 而不应写为 int j=i+k;
将大的复杂代码节分为较小的、易于理解的模块。
6.10 单一功能规则
原则上,一个程序单元(函数、例程、方法)只完成一项功能。
6.11 简单功能规则
原则上,一个程序单元的代码应该限制在一页内(25~30行)。
6.12明确条件规则
不要采用缺省值测试非零值。例如:使用“if ( 0 != f( ) )”而不用“if ( f( ) )”。
6.13 选用FALSE规则
大部分函数在错误时返回FALSE、0或NO之类的值,但在正确时返回值就不定了(不能用一个固定的TRUE、1或YES来代表),因此检测一个布尔值时应 该用FALSE、0、NO之类的不等式来代替。例如:使用“if ( FALSE != f( ) )”而不用“if (TRUE == f( ) )”。
6.14 独立赋值规则
嵌入式赋值不利于理解程序,同时可能会造成意想不到的副作用,应尽量编写独立的赋值语句。例如:使用“a = b + c ; e = a + d;”而不用“e = ( a = b + c ) + d ”。
6.15 定义常量规则
对于代码中引用的常量(尤其是数字),应该define成一个大写的名字,在代码中引用名字而不直接引用值,也可使用枚举(enum)构建键值对来实现。
6.16 模块化规则
某一功能,如果重复实现一遍以上,即应考虑模块化,将它写成通用函数。并