C#编码规范C# Programming Conventions.docx
《C#编码规范C# Programming Conventions.docx》由会员分享,可在线阅读,更多相关《C#编码规范C# Programming Conventions.docx(8页珍藏版)》请在冰豆网上搜索。
![C#编码规范C# Programming Conventions.docx](https://file1.bdocx.com/fileroot1/2023-2/13/ce14b6e5-d4dc-4bc8-acdc-7de67d5b777f/ce14b6e5-d4dc-4bc8-acdc-7de67d5b777f1.gif)
C#编码规范C#ProgrammingConventions
C#编码规范C#ProgrammingConventions
C#语言代码书写规范
一.变量命名
对于各个基本类型的变量,在命名时,参考如下例子:
变量类型
前缀规则
举例
说明
string
s
sEmployeeName
int
i
iAge
用于循环的i,j,k等除外
long
l
lTotalMoney
bool
b
bIsMember
float
f
fFloatData
double
d
dDoubleData
byte
by
byByteData
私有字段命名
变量类型
前缀规则
举例
说明
string
_s
sEmployeeName
int
_i
iAge
用于循环的i,j,k等除外
long
_l
lTotalMoney
bool
_b
bIsMember
float
_f
fFloatData
double
_d
dDoubleData
byte
_by
byByteData
二.组件以及集合(Assemblies)命名规则
我公司开发的代码库(在.NET中称为assembly)命名规则:
以公司名称公司(Vanceinfo)作为第一级,例如:
在开发一个用于扩充C#database类的库,名字命名应该为:
Vanceinfo.DatabaseOperation
三.方法(method)的命名规则
1.方法命名使用英文单词组合,每个单词首字母大写。
2.在名称过长时,可以使用英文单词的缩写。
3.组成方法的单词顺序,动词一般放在前面,名词放在后面。
4.写法举例:
AddData(…)
AppendEmployee(…)
5.以下写法不正确:
Add_Data(…)
DataAdd(…)
四.名称空间与类的命名规则
1.类命名使用英文单词组合,每个单词首字母大写。
如:
StringIntObject
2.在名称过长时,可以使用英文单词的缩写。
3.名称空间(NameSpace)的命名规则与类的相同。
4.名称空间的命名规则如下:
Vanceinfo.项目代码.第一层功能划分.第二层功能划分.****
例如:
Vanceinfo.Patent.Management.CustomerManager
五.对象的命名规则
1.在new一个新的对象时或者使用类的原名称,但第一个字母小写;此规则适合于类内的全局变量;
例如:
HelloWorldhelloWorld=newHelloWorld();
或者前缀使用类的小写字母的缩写,然后使用英文单词组合,适合于一个方法内的局部变量;
例如:
HelloWorldhwGreeting=newHelloWorld();
2.如果对象是包含很多数据的集合等,名称中要用英文单词复数。
例如:
DataSetdsCustomers=newDataSet();
3.在Form中的控件对象的命名要求使用以下前缀:
控件名称
命名规则
举例
说明
Label
lb
lbUserName
TextBox
tb
tbPassword
ComboBox
cmb
cmbFavority
DropDownList
ddl
ddlDepartment
ListBox
lst
lstOrders
Button
btn
btnSubmit
CheckBox
chk
chkHaveOne
RadioButton
rb
rbSoftware
ListView
lv
lvEmployee
TreeView
tv
tvFileFolder
GroupBox
gb
gbCustomerDetail
DateTimePicker
dtp
dtpEditDate
DataGrid
dg
dgCustomers
Menu
mnu
mnuSetTitle
MenuItem
mnuItem
mnuItemSave
……可继续补充新的控件
4.如果控件对象是包含很多数据的集合等,名称中要用英文单词复数。
例如:
ListBox对象,由于存放订单数据,则命名为lbOrders
六.文件划分与命名规则
1.文件划分:
一般要求一个Class作为一个文件。
如:
名称空间Vanceinfo.Patent.Management.CoustomerManager
划分为三个文件:
WebVendorManager.aspx//界面层
VendorManager.aspx//逻辑层
Credit.aspx//服务商信用等级类
2.文件的命名:
文件中类的名称作为文件的名称,大小写要完全对应。
例子如上。
七.注释的书写
1.文件头注释:
严格按照如下的风格书写:
//------------------------------------------------------------------------------
///
///Copyright(c)文思创新软件技术有限公司.
///
//------------------------------------------------------------------------------
/*******************************************************************************/
/*FileName:
WebMain.aspx*/
/*Function:
“登录”软件主界面*/
/*Author:
张三*/
/*Date:
2006-07-24*/
/*Modified:
李四(2007-08-23)*/
/*******************************************************************************/
其中的日期,要求按照YYYY-MM-DD的格式书写。
2.文件中的注释:
。
要求全部使用中文书写注释;
。
变量的注释写在变量的同一行变量的后面,格式如下:
boolbHasChanges=false;//记录在数据是否改变
。
对象的注释写在对象的上一行,格式如下:
//客户数据的数据集
DataSetcustomerDataSet=newDataSet();
。
方法的说明注释写在方法的紧上面,使用如下的格式:
(1).自定义函数的注释格式
//######################################################################
///
///保存数据
///Author:
张三(2006-07-24)
///
///要报存的数据所存放的DataSet
///返回保存是否成功的标记,成功:
true;失败:
False
//######################################################################
PublicboolSaveData(DataSetds)
{
…………
}
(2).系统产生的函数的注释格式
//=========================================================================
///
///窗体加载事件响应函数
///Author:
张三(2007-08-23)
///
//=========================================================================
PublicvoidFormLoad()
{
…………
}
。
程序块的注释写在相应程序块的前面;一个完整的程序块一般不要使用空行;
。
一个完整的程序块,其前一行和后一行,分别使用空注释行,即使用“//”开始,后面不跟任何字符;对其说明的注释写在块的紧上面一行,格式如下:
//
//计算本年度利润
bFinish=false;
sDept=“WelcometoChina”;
……….
//
。
版本升级时代码修改的注释,要求对于要修改的代码,注释说明。
格式如下:
//版本升级及bugzilla仅供参考
//计算本年度利润
//改动开始:
<版本号build#>,<改动日期>,<改动人>
//<改动目的描述,建议还需要包括对应的bugzillaID或EVRfeatureID>
...
//改动结束:
<版本号>
//
八.
程序的书写
1.缩进书写严格按照四字符缩进;
2.循环书写参照下例:
for(i=0;i<100;i++)
{
iANum=iANum+1;
}
说明:
单行的循环块也必须使用{}。
3.If语句嵌套最多不允许超过三层;
4.函数和函数之间空一行;
5.不允许多行不必要的空行;
6.每个自定义函数必须标明作者;
7.在对一个函数进行重大修改时,在修改处必须标明作者、修改日期和修改内容;
8.要尽量避免建立过于庞大的类;尽量避免建立过于庞大的函数;
9.全局变量必须在类的构造函数之前进行定义。