良好的命名规范可以为团队合作开发推波助澜,无论在项目开发,还是产品维护上都起到了至关重要的作用。应该说命名规范是一种约定,也是程序员之间良好沟通的桥梁。另外古人相信只要知道一个人真正的名字就会获得凌驾于那个人之上的不可思议的力量。只要给事物想到正确的名字,它就可以带来比代码更强的力量。如果所有的命名都与其自然相适合,则关系清晰,含义可以推导得出,一般人的推想也能在意料之中。
命名规范
在vb的学习当中介绍:
•程序代码常常要引用控件和变量,在复杂的过程中,很难完全理解代码中出现的所有元素。
•如何确定某个语句是引用一个变量还是控件呢?如果没有某种约定将变量与控件区分开来,代码就很难阅读。
•例如:
TotalDue=LineItemTotal-Discount+TotalTax
•软件开发人员从数据类型后缀改为使用单字符前缀
•例如
–Dim Iwidth As Long
–Dim iHeight As Integer)
•更好的命名约定最终代替了单字符前缀。这种命名约定称为匈牙利标记法,
–它使用3字符前缀来表示数据类型和控件类型,
•如何直观地与赋予变量的数据类型相匹配的:
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)。
在具体任务开发中,如果有特定的命名约定,则在相应的软件开发计划中予以明确定义及上报质量管理部审计组。
命名规范
Variable)命名
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
Interface)命名
和类命名规范相同,唯一区别是接口在名字前加上“I”前缀
例:
interface IDBCommand;
interface IButton;
Method)命名
a)和类命名规范相同。
b)方法名需能看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。
(NameSpace)命名
和类命名规范相同。
分享到:
相关推荐
普华永道-纵观全局、运筹帷幄、决胜千里:大额风险暴露管理-2019.7-22页.pdf
运筹帷幄之中决胜千里之外,运筹可以量化,运输问题跟关键爱你
普华永道-纵观全局、运筹帷幄、决胜千里:大额风险暴露管理-7-22页.pdf
据要求,根据个人分析,收集了大量的资料,浓缩的写一些信息方面的分析,然后重点写后期的拓展与市场运营方面。...同时希望大家支持,多多指教,也希望能够在长期的奋斗与实践中获取自己的成绩与风格。
刘邦在建国后的一次庆功会上,曾向群臣解释说:“夫运筹帷幄之中,决胜千里之外,吾不如子房(张良);镇国家,抚百姓,给饷馈,不绝粮道,吾不如萧何;连百万之众,战必胜,攻必取,吾不如韩信。三者皆人杰,吾能用...
运筹帷幄 决胜千里——关于做好医疗卫生信息化建设项目规划的几点体会.pdf
舞动DB2之3_运筹帷幄DB2 从Oracle运维转型
运筹帷幄之做好政务项目中的计划管理.docx
通达信运筹帷幄副图指标.doc
从Oracle运维转型-运筹帷幄DB2,为数据库学习人员介绍
佳宜会员管理软件把客户信息以及各种查询统计等紧密的结合起来,让企业管理者真正做到“运筹帷幄之中,决胜千里之外”,有效地实现企业的现代化管理,全面提升企业的市场竞争力和整体形象。是一套不可多得 的经济、...
系统把客户信息以及各种查询统计等紧密的结合起来,让企业管理者真正做到“运筹帷幄之中,决胜千里之外”,有效地实现企业的现代化管理,全面提升企业的市场竞争力和整体形象。是一套不可多得的经济、高效、实用的...
本软件更是把美国最权威的几家财经网站集成到了一个页面当中,让你在一个页面就可以看到任意两个网站对同一款股票的评估、报价等等信息,真正做到“运筹帷幄之中,决胜千里之外”。 照顾到部分股民英语不好的情况...
系统把客户信息以及各种查询统计等紧密的结合起来,让企业管理者真正做到“运筹帷幄之中,决胜千里之外”,有效地实现企业的现代化管理,全面提升企业的市场竞争力和整体形象。是一套不可多得 的经济、高效、实用的...
易图运筹帷幄版专门针对电脑公司需求开发,产品历经近八年的升级完善,凝聚了数千家电脑公司的管理智慧,形成一套行之有效的管理体系,无论公司处在哪个阶段,也能立马从软件中受益。 您一间店都管不好,还敢开...
通达信指标公式源码 运筹帷幄 用来判断买卖点主图指标.doc
运筹帷幄--市场营销研究与预测.pdf
债券灼识海外系列专题之二:揭秘欧央行二十年中流击水下货币政策的运筹帷幄-0725-华创证券-19页.pdf