TotalDue=LineItemTotal-Discount+TotalTax
•软件开发人员从数据类型后缀改为使用单字符前缀
–Dim Iwidth As Long
–Dim iHeight As Integer)
D i m strNameAs String
•3个字符可以实现充分的多变性,并使前缀合乎逻辑和直观。再一次观察一下前面给出的代码语句:
TotalDue = LineItemTotal – Discount + TotalTax
txtTotalDue.Text =
curLineItemTotal –txtDiscount.Text + curTotalTax
curTotalDue =
curLineItemTotal – curDiscount + curTotalTax
txtTotalDue.Text =
txtLineItemTotal.Text – txtDiscount.Text + _txtTotalTax.Text
Ø 名字应该能够标识事物的特性。
Ø 名字一律使用英文单词,而不能为拼音。
Ø 名字尽量不使用缩写,除非它是众所周知的。
Ø 名字可以有两个或三个单词组成,但不应多于三个,控制在3至30个字母以内。
Ø 在名字中,多个单词用大写第一个字母(其它字母小写)来分隔。例如:IsSuperUser。
Ø 名字尽量使用前缀而不是后缀。
Ø 名字中的单词尽量使用名词,如有动词,也尽量放在后面。例如:FunctionUserDelete(而不是FunctionDeleteUser)。
在具体任务开发中,如果有特定的命名约定,则在相应的软件开发计划中予以明确定义及上报质量管理部审计组。
Pascal: 大小写形式——所有单词第一个字母大写,其他字母小写。
camel: 大小写形式——除了第一个单词,所有单词第一个字母大写,其他字母小写。
在.NET编码规范中所有变量都用camel命名形式,而不是用数据类型和m_来作前缀。
用有意义的,描述性的词语来命名变量
- 别用缩写。用name, address, salary等代替nam, addr, sal
- 别使用单个字母的变量象i, n, x等.使用index, temp等
用于循环迭代的变量例外:
for ( int i = 0; i < count; i++ )
{
...
}
- 变量名中不使用下划线 (_)。
- 命名空间需按照标准的模式命名
在程序中,明确变量的作用范围是很有必要的,所以规定:
- 全局变量命名:加前缀‘g’表示(global)。
例如:string gstrName; int giID;
- 局部变量命名:变量类型+变量名。
例如:string strName; int iID;
- 静态变量命名:加前缀‘s’表示(static)
例如:static string sstrName; static int siID;
- 只读变量命名:加前缀‘ro’表示(readonly)
例如:readonly string rostrName; readonly int roiID;
补充说明:
针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为exp;
如果有冲突的情况下,可以用“exp”+标志名称,如:expSql。
Try
{
//your code
try
{
//code
}
catch(Exceptionexp)
{
//your code
}
}
catch(ExceptionexpSql)
{
//your code
}
补充:如果捕获异常不需要作任何处理,则不需要定义Exception实例。
例:
try
{
//your code
}
catch( Exception exp)
{
}
Ø 鉴于大多数名称都是通过连接若干单词构造的,请使用大小写混合的格式以简化它们的阅读。每个单词的第一个字母都是大写.
Ø 即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i或 j。
Ø 在变量名中使用互补对,如 min/max、begin/end和 open/close。
Ø 不要使用原义数字或原义字符串,如 For (i = 1;i <= 7;i++)。而是使用命名常数,如 For (i = 1;i <= NUM_DAYS_IN_WEEK;i++)以便于维护和理解。
常量名也应当有一定的意义,格式为NOUN或NOUN_VERB。常量名均为大写,字之间用下划线分隔。
例:
Private constbool WEB_ENABLEPAGECACHE_DEFAULT =true;
privateconstint WEB_PAGECACHEEXPIRESINSECONDS_DEFAULT = 3600;
private constbool WEB_ENABLESSL_DEFAULT =false;
注:
变量名和常量名最多可以包含 255个字符,但是,超过 25到 30个字符的名称比较笨拙。此外,要想取一个有实际意义的名称,清楚地表达变量或常量的用途,25或 30个字符应当足够了。
Class)命名
a)名字应该能够标识事物的特性。
b)名字尽量不使用缩写,除非它是众所周知的。
c)名字可以有两个或三个单词组成,但通常不应多于三个。
d) 使用Pascal,所有单词第一个字母大写。例如 IsSuperUser,包含ID的,ID全部大写,如CustomerID。
e) 使用名词或名词短语命名类。
f) 少用缩写。
g)不要使用下划线字符 (_)。
例: public classFileStream
public classButton
public classString
和类命名规范相同,唯一区别是 接口在名字前加上“I”前缀
例:
interface IDBCommand;
interface IButton;
Method)命名
a)和类命名规范相同。
b)方法名需能看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。
和类命名规范相同。