程序代码编写规范
10
Panel
pnl
11
TreeView
tvw
12
ListView
lvw
13
ImageList、Image、Picture
img
14
GroupBox
gbx
15
6
ProgressBar
Pbr、progressBar
17
StatusBar
Stb、statusbar
18
Grid
grd、grid
19
…
3.4
3.4.1
系统名+文档名
3.4.2
系统名+文件名
3.4.3
直接命名。
…
(3)在界面层中尽量使用异常处理try语句,不要将系统级别的错误直接暴露给用户,而更应该的是把系统抛出的错误信息记录到LOG日志文件中去,告诉用户友好的提示信息
3.3
窗体控件命名以控件缩写3个字母开头,以具有代表含义的词来命名,其形式为:控件缩写(前3个字母)+命名(具有代表含义的单词),具体命名方式见代码命名规范。
以下列出常用控件缩写:
0
控件名
缩写
说明
1
Form
frm
2
MainNenu、PopupMenu、MenuItem
mnu
3
TextBox、TextMemo
txt
4
Label
lbl
5
CheckBox
chk
6
RadionBoutten
rbt
7
ListBox
lbx
8
ComboBox
cbx
9
Boutten
btn
3.1.14
数据库的字段、表名的命名都推荐采用Pascal命名方式,尽量不采用缩写。当然,使用长的字段名、表名,可能会使SQL语句的编写带来负面影响。我推荐大家可以使用一些ORM,ORM的性能肯定不会比直接写SQL的好,但是如果做业务系统,更重要的是系统多久能交付用户使用,ORM不仅使开发时间可以缩短不少,并且在后期的维护上也比直接写SQL便利很多。
3.1.5
规则:全部大写
实例与描述:全部大写,单词间以下划线隔开
3.1.6
规则:Pascal
实例与描述:IDisposable注:总是以I前缀开始,后接Pascal命名
3.1.7
规则:Pascal
实例与描述:ToString
3.1.8
规则:Pascal
实例与描述:以.分隔,当每一个限定词均为Pascal命名方式,比如:using ExcelQuicker.Framework
(2)避免使用不易理解的数字,用有意义的标识来替代(枚举和常量)
比如:
if(productType == 0)
…
else if (productType == 1)
…
(不推荐使用)
if(productType == ProductType.CD)
…
else if (productType == ProductType.DVD)
3.2
A.每行语句至少占一行,如果语句过长(超过一屏),则该语句断为两行显示;
B.把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion,在编写程序时,对应自动产生的控件定义,用#region Automatic Generated Web Components … #endregion框住
3.1.12
自定义异常类以Exception结尾,并且在类名中能清楚的描述出该异常的原因。比如NotFoundFileException,描述出了某个实体(文件、内存区域等)无法被找到。
3.1.13
在一般情况下,不推荐缩写命名,不要担心变量命名长,长的变量名能使变量的意义更加清晰,其实从长变量名的负面作用三,因为Ctrl+C和Ctrl+V加上在VS中的智能感知,其负面追用已经很小。变量命名的原则是,尽最大努力让其他人在看到我们的变量/函数/…等的第一时间,大概能猜出它是做什么的。
C.使用空格,
(1)双目操作符的前后加空格(+, =, &&等),index = index + 1;
(2)单目操作符前加空格(!, ++, ~等),index ++;
(3)逗号、分号只在后面加空格
D.使用空行,在一段功能代码、或者函数、属性之间插入空行,这样很直观。
E.代码可读性一些建议
(1)注意运算符的优先级,应该尽量使用括号明确表达式的操作顺序,避免使用默认优先级,给维护人带来困扰
请在这里输入公司名称
版权所有不得复制
1
为了使编写代码具有可读性、可理解性、可维护性,对程序编写人员代码实行统一风格,使得程序代码能够以名称反映含义、以形式反映结构。此文档可供程序代码编写人员及代码维护人员使用。
2
2.1
2.2
3
3.1
Pascal和Camel命名约定:
编程的命名方式主要有Pascal和Camel两种(Pascal:每个单词的首字母大写,例如ProductType;Camel:首个单词的首字母小写,其余单词的首字母大写,例如productType)
请在这里输入公司名称
文档编号
产品版本
密级
XK-DN-2000-10-11-12
V 1.0
产品名称:
共页
程序编写规范及约定
(仅供内部使用)
文档作者:_______________日期:___/___/___
开发/测试经理:_______________日期:___/___/___
项目经理:_______________日期:___/___/___
3.1.9
规则:Camel
实例与描述:首字母小写
3.1.10
规则:Camel
实例与描述:也可以加入类型标识符,比如对于System.String类型,声明变量是以str开头,string strSQL = string.Empty;
3.1.11
规则:Camel以m开头+Pascal命名
实例与描述:如mProductType(m意味member)属性
比如:int productTypeCount = 0; //我们在第一时间就能知道它是记录产品的数量的变量
而对于糟糕的命名方式:int prodTypeCount = 0; //它是productTypeCount的简写,我们一部分人也许知道prod是product的缩写,但是每人能保证所有的人都知道它。我个人认为:最优秀的代码它本身就是注释。作为一流的程序员。并不仅仅实现功能,而是要让我们的代码更加优美,具备让他人维护或今后扩充的能力。作为现在的业务系统,其门槛的准入水平已大大降低,实现功能上的需求已没有什么难度,但是高手和菜鸟的区别在于,高手的代码通俗易懂,在整个编码的过程中,不仅能考虑到性能、还会考虑代码可读性和维护性。
3.1.1
规则:Pascal、Camel
实例与描述:例子说明
3.1.2
规则:Pascal
实例与描述:Application
3.1.3
规则:Pascal
实例与描述:记住,是以Pascal命名,切勿包含Enum,否则FXCop会抛出Issue
3.1.4
规则:Pascal
实例与描述:以Pascal命名,不以任何特殊字符串区别于类名、函数名