代码编写规范范本
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>
///</returns>
4.代码间注释规范
单行注释:
//<单行注释>
多行注释:
/*多行注释1
多行注释2
多行注释3*/
代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。
3.不允许把多个短语句写在一行中,即一行只写一条语句。
示例:如下例子为不符合规范
rng.Font.Size = 10;rng.Font.Name = "宋体";
应如下书写
rng.Font.Size = 11;
rng.Font.Name = "宋体";
4.If、for、do、while、case、switch、default等语句自占一行,且If、for、do、while等语句的执行语句部分无论多少都要加括号{}。
下列为各种控件所统一的前缀
标准控件
1btnButton
2chkCheckBox
3cklCheckedListBox
4cmbComboBox
5dtpDateTimePicker
6lblLabel
7llbLinkLabel
8lstListBox
9lvwListView
10mtxMaskedTextBox
◆包含ID的,ID全部大写。如CustomerID。
示例:
public class FileStream
public class Button
4.接口(Interface)命名规范.和类命名规范相同,唯一区别是 接口在名字前加上“I”前缀。
示例:
interface IDBCommand;
interface IButton;
// code two comments
CodeBlock
}
9.避免在同一行代码或表达式中间插入注释
三、标识符命名规范
1.变量命名规则。变量的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
变量命名:
成员变量:m_
局部变量: 以小写字母开头
·类、属性及方法:以大写字母开头,后续单词首字母大写
修改 bቤተ መጻሕፍቲ ባይዱnEdit
添加 btnAdd
删除 btnDelete
3. 类(Class)、方法(Method)、命名空间(NameSpace)命名规范
说明:
◆名字应该能够标识事物的特性。
◆名字尽量不使用缩写,除非它是众所周知的。
◆名字可以有两个或三个单词组成,但通常不应多于三个。
◆在名字中,所有单词第一个字母大写。如IsSuperUser。
}
If(……)
{
……// program code
}
应如下书写
For(……)
{
……// program code
}
If(……)
{
……// program code
}
二、注释规范
1.模块(类)注释规范
///<summary>
///模块编号:<模块编号,可以引用系统设计中的模块编号>
///作用:<对此类的描述,可以引用系统设计中的描述>
示例:如下例子不符合规范
Void ExampleFun(void)
{
// code one comments
CodeBlock one
// code two comments
CodeBlock
}
应改为如下布局
Void ExampleFun(void)
{
// code one comments
CodeBlock one
10.鉴于大多数名称都是通过连接若干单词构造的,请使用大小写混合的格式以简化它们的阅读。每个单词的第一个字母都是大写.
四、异常处理
1.重要功能实现要有全面的异常处理
2.针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为e;
如果有冲突的情况下,可以重复e,比如:ee。
示例:
示例:如下例子不符合规范
If(Strtxt==NULL)return;
应如下书写
If(Strtxt==NULL)
{
return;
}
5.程序块的分界符(如C++/C#语言中的‘{’和‘}’)应各自独占一行并且位于同一列,同时与引用它们的语句左对齐。
示例:如下例子不符合规范
For(……){
……// program code
示例:string strStkcd。
7.在同一软件产品中,应规划好接口部分标识符(变量、结构、函数及常量)的命名,防止编译、链接时产生的冲突。
说明:对接口部分的标识符应该有严格限制,防止冲突。如可规定接口部分的变量与常量之前加上“模块”标识等。
8.防止局部变量和公共变量同名
9.明确公共变量的含义、作用、取值范围及公共变量间的关系,并去掉没必要的公共变量。
代码编写规范
一、排版规范
1.程序块要采用缩进风格编写,缩进的空格以统一的开发工具为准。函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
2.较长的语句(>100字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要警醒适当的缩进,是排版整齐,语句可读。
Try
{
//your code
try
{
//code
}
catch(Exception ee)
{
//your code
}
}
catch(Exception e)
{
//your code
}
///作者:作者中文名
///编写日期:<模块创建日期,格式:YYYY-MM-DD>
///</summary>
如果模块有修改,则每次修改必须添加以下注释:
///<summary>
///Log编号:<Log编号,从1开始一次增加>
///修改描述:<对此修改的描述>
///作者:修改者中文名
///修改日期:<模块修改日期,格式:YYYY-MM-DD>
5.命名中若使用特殊约定或缩写,则要有注释说明。
6.对于变量命名,禁止使用单个字符(如i,j,k……),建议除了要有具体含义外,还能表示其变量类型、数据类型等,但i,j,k作局部变量是允许的。
说明:变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的差错时间。
///</summary>
2.类属性注释规范
/// <summary>
///属性说明
/// </summary>
3.方法(函数)注释规范
/// <summary>
///说明:<对该方法的说明>
/// </summary>
///<param name="<参数名称>"><参数说明></param>
///<returns>
5.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
6.注释的内容要清楚、明了,含义准确,防止注释二义性。
7.对于所有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。变量、常量的注释应放在其上方相邻位置或右方。
8.注释与所描述内容进行同样的缩排。
11cdrMonthCalendar
12icnNotifyIcon
13nudNumeircUpDown
14picPictureBox
15prgProgressBar
16rdoRadioButton
17rtxRichTextBox
18txtTextBox
19tipToolTip
20tvwTreeView
参考实例:initBorderColor(局部成员变量)、voteNum(局部变量),程序员可根据实际情况梢做改动,能够使其他程序员看变量名便知其类型和属性等关键标识符意义;
2.控件命名规范。控件命名规则一般为前缀+字段名。
示例:字段Title,在界面中的控件为textbox 命名为txtTitle
21wbsWebBrowser
数据
1dtsDataSet
2dgvDataGridView
3bdsBindingSource
4bdnBindingNavigator
5rpvReportViewer
按钮命名规则
按钮命名一般为前缀btn+动作名称
几种常用按钮命名
保存 btnSave
重置 btnReset
查询 btnSearch
///</returns>
4.代码间注释规范
单行注释:
//<单行注释>
多行注释:
/*多行注释1
多行注释2
多行注释3*/
代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。
3.不允许把多个短语句写在一行中,即一行只写一条语句。
示例:如下例子为不符合规范
rng.Font.Size = 10;rng.Font.Name = "宋体";
应如下书写
rng.Font.Size = 11;
rng.Font.Name = "宋体";
4.If、for、do、while、case、switch、default等语句自占一行,且If、for、do、while等语句的执行语句部分无论多少都要加括号{}。
下列为各种控件所统一的前缀
标准控件
1btnButton
2chkCheckBox
3cklCheckedListBox
4cmbComboBox
5dtpDateTimePicker
6lblLabel
7llbLinkLabel
8lstListBox
9lvwListView
10mtxMaskedTextBox
◆包含ID的,ID全部大写。如CustomerID。
示例:
public class FileStream
public class Button
4.接口(Interface)命名规范.和类命名规范相同,唯一区别是 接口在名字前加上“I”前缀。
示例:
interface IDBCommand;
interface IButton;
// code two comments
CodeBlock
}
9.避免在同一行代码或表达式中间插入注释
三、标识符命名规范
1.变量命名规则。变量的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
变量命名:
成员变量:m_
局部变量: 以小写字母开头
·类、属性及方法:以大写字母开头,后续单词首字母大写
修改 bቤተ መጻሕፍቲ ባይዱnEdit
添加 btnAdd
删除 btnDelete
3. 类(Class)、方法(Method)、命名空间(NameSpace)命名规范
说明:
◆名字应该能够标识事物的特性。
◆名字尽量不使用缩写,除非它是众所周知的。
◆名字可以有两个或三个单词组成,但通常不应多于三个。
◆在名字中,所有单词第一个字母大写。如IsSuperUser。
}
If(……)
{
……// program code
}
应如下书写
For(……)
{
……// program code
}
If(……)
{
……// program code
}
二、注释规范
1.模块(类)注释规范
///<summary>
///模块编号:<模块编号,可以引用系统设计中的模块编号>
///作用:<对此类的描述,可以引用系统设计中的描述>
示例:如下例子不符合规范
Void ExampleFun(void)
{
// code one comments
CodeBlock one
// code two comments
CodeBlock
}
应改为如下布局
Void ExampleFun(void)
{
// code one comments
CodeBlock one
10.鉴于大多数名称都是通过连接若干单词构造的,请使用大小写混合的格式以简化它们的阅读。每个单词的第一个字母都是大写.
四、异常处理
1.重要功能实现要有全面的异常处理
2.针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为e;
如果有冲突的情况下,可以重复e,比如:ee。
示例:
示例:如下例子不符合规范
If(Strtxt==NULL)return;
应如下书写
If(Strtxt==NULL)
{
return;
}
5.程序块的分界符(如C++/C#语言中的‘{’和‘}’)应各自独占一行并且位于同一列,同时与引用它们的语句左对齐。
示例:如下例子不符合规范
For(……){
……// program code
示例:string strStkcd。
7.在同一软件产品中,应规划好接口部分标识符(变量、结构、函数及常量)的命名,防止编译、链接时产生的冲突。
说明:对接口部分的标识符应该有严格限制,防止冲突。如可规定接口部分的变量与常量之前加上“模块”标识等。
8.防止局部变量和公共变量同名
9.明确公共变量的含义、作用、取值范围及公共变量间的关系,并去掉没必要的公共变量。
代码编写规范
一、排版规范
1.程序块要采用缩进风格编写,缩进的空格以统一的开发工具为准。函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
2.较长的语句(>100字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要警醒适当的缩进,是排版整齐,语句可读。
Try
{
//your code
try
{
//code
}
catch(Exception ee)
{
//your code
}
}
catch(Exception e)
{
//your code
}
///作者:作者中文名
///编写日期:<模块创建日期,格式:YYYY-MM-DD>
///</summary>
如果模块有修改,则每次修改必须添加以下注释:
///<summary>
///Log编号:<Log编号,从1开始一次增加>
///修改描述:<对此修改的描述>
///作者:修改者中文名
///修改日期:<模块修改日期,格式:YYYY-MM-DD>
5.命名中若使用特殊约定或缩写,则要有注释说明。
6.对于变量命名,禁止使用单个字符(如i,j,k……),建议除了要有具体含义外,还能表示其变量类型、数据类型等,但i,j,k作局部变量是允许的。
说明:变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的差错时间。
///</summary>
2.类属性注释规范
/// <summary>
///属性说明
/// </summary>
3.方法(函数)注释规范
/// <summary>
///说明:<对该方法的说明>
/// </summary>
///<param name="<参数名称>"><参数说明></param>
///<returns>
5.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。
6.注释的内容要清楚、明了,含义准确,防止注释二义性。
7.对于所有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。变量、常量的注释应放在其上方相邻位置或右方。
8.注释与所描述内容进行同样的缩排。
11cdrMonthCalendar
12icnNotifyIcon
13nudNumeircUpDown
14picPictureBox
15prgProgressBar
16rdoRadioButton
17rtxRichTextBox
18txtTextBox
19tipToolTip
20tvwTreeView
参考实例:initBorderColor(局部成员变量)、voteNum(局部变量),程序员可根据实际情况梢做改动,能够使其他程序员看变量名便知其类型和属性等关键标识符意义;
2.控件命名规范。控件命名规则一般为前缀+字段名。
示例:字段Title,在界面中的控件为textbox 命名为txtTitle
21wbsWebBrowser
数据
1dtsDataSet
2dgvDataGridView
3bdsBindingSource
4bdnBindingNavigator
5rpvReportViewer
按钮命名规则
按钮命名一般为前缀btn+动作名称
几种常用按钮命名
保存 btnSave
重置 btnReset
查询 btnSearch