DOTNET编码规范Word文档格式.docx
- 文档编号:17552816
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:12
- 大小:20.53KB
DOTNET编码规范Word文档格式.docx
《DOTNET编码规范Word文档格式.docx》由会员分享,可在线阅读,更多相关《DOTNET编码规范Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
在代码编写中,常用到PASCAL命名法、CAMEL命名法、匈牙利命名法简单介绍如下:
1.1.PASCAL命名法
Pascal大小写形式-所有单词第一个字母大写,其他字母小写。
例如:
UserName、PhoneNumber等。
1.2.Camel命名法
Camel大小写形式-第一个单词小写,其他单词第一个字母大写,其余字母小写。
userName、phoneNumber等。
1.3.匈牙利命名法
匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。
m_strUserName、m_strPhoneNumber等。
2命名规范
2.1.项目命名规则
Pascal格式,所有单词第一个字母大写,其他字母小写。
总是和联编以及根命名空间相同。
2.2.资源文件命名规则
总是和类名相匹配,避免一个文件包含多个类的情况。
2.3.名称空间命名规则
2.3.1.采用有意义的命名空间名,例如产品名称或公司名称。
公司名称.技术名称[.Feature][.Design],如System.Window.Form
2.3.2.和类命名规范相同。
2.4.类命名规则
2.4.1.属性采用Pascal命名法,所有单词第一个字母大写,其他字母小写。
2.4.2.名字应该能够标识事物的特性。
2.4.3.文件名要和主类类名匹配
类HelloWorld,相应的文件名应为helloworld.cs(或,helloworld.vb)
2.4.3名字尽量不使用缩写,除非它是众所周知的。
2.4.4名字可以有两个或三个单词组成,但通常不应多于三个。
2.4.5使用名词或名词短语命名类。
2.4.6不要使用下划线字符(_)。
2.4.7使用Attribute作为自定义属性类的后缀。
2.4.8使用Exception作为自定义属性类的后缀
publicclassHelloWorld
{
…
}
2.4.接口命名规则
接口以I开头,其他和类命名规范相同。
publicinterfaceIXXX
2.5.方法命名规则
2.5.1.和类命名规范相同。
2.5.2.使用动词或动词短语,如Remove();
或GetCharArray();
等。
voidSayHello()
2.6.属性命名规则
2.6.1.属性采用Pascal命名法,所有单词第一个字母大写,其他字母小写。
2.6.2.命名要反映出对应的实体,并且不要以“Get”或“Set”为前缀
PublicstringName
get
returnm_Name;
2.7.域(成员变量)命名规则
2.7.1.域采用Camel命名法,除了第一个单词,所有单词第一个字母大写,其他字母小写。
2.7.2.用有意义的,描述性的词语来命名变量
2.7.3.固定词组和短语全部大写。
例如:
userID
2.7.3.尽量不要使用缩写。
用name,address,salary等代替nam,addr,sal
2.7.4.尽量不要使用单个字母的变量象i,n,x等.使用index,temp等
用于循环迭代的变量例外:
for(inti=0;
i<
count;
i++)
...
2.7.5.类的属性所对应的变量,采用变量名前加“m_”前缀的形式
publicclasshello
privatestringm_name;
publicstringName
returnm_name;
2.8.参数命名规则
参数采用Camel命名法,除了第一个单词,所有单词第一个字母大写,其他字母小写。
voidSayHello(stringuserName)
2.9.常量命名规范
常量名也应当有一定的意义,格式为NOUN或NOUN_VERB。
常量名均为大写,字之间用下划线分隔。
privateconstboolWEB_ENABLEPAGECACHE_DEFAULT=true;
privateconstintWEB_PAGECACHEEXPIRESINSECONDS_DEFAULT=3600;
privateconstboolWEB_ENABLESSL_DEFAULT=false;
2.10.控件变量命名规则
2.10.1.控件命名规范
类型
前缀
示例
AdRotator
adrt
adrtTopAd
Button
btn
btnSubmit
Calendar
cal
calMettingDates
CheckBox
chk
chkBlue
CheckBoxList
chkl
chklFavColors
CompareValidator
valc
valcValidAge
CustomValidator
valx
valxDBCheck
RequiredFieldValidator
valr
valrFirstName
RegularExpression
vale
valeEmail_Validator
RangeValidator
valg
valgAge
ValidationSummary
vals
valsFormErrors
DataGrid
dgrd
dgrdTitles
DataList
dlst
dlstTitles
DropDownList
drop
dropCountries
HyperLink
lnk
lnkDetails
Image
img
imgAuntBetty
ImageButton
ibtn
ibtnSubmit
Label
lbl
lblResults
LinkButton
lbtn
lbtnSubmit
ListBox
lst
lstCountries
Panel
pnl
pnlForm2
PlaceHolder
plh
plhFormContents
RadioButton
rad
radFemale
RadioButtonList
radl
radlGender
Repeater
rept
reptQueryResults
Table
tbl
tblCountryCodes
TableCell
tblc
tblcGermany
TableRow
tblr
tblrCountry
TextBox
txt
txtFirstName
XML
xmlc
xmlcTransformResults
2.10.2.ADO.NET控件命名规范
Connection
conn
connNorthwind
Command
cmd
cmdReturnProducts
Parameter
parm
parmProductID
DataAdapter
da
daProducts
DataReader
dr
drProducts
DataSet
ds
dsNorthWind
DataTable
dt
dtProduct
DataRow
drow
drowRow98
DataColumn
dcol
dcolProductID
DataRelation
drel
drelMasterDetail
DataView
dviw
dviwFilteredProducts
2.11.事件命名规则
2.11.1.用EventHandloer后缀命名事件处理程序。
publicdelegatevoidMouseEventHandler(objectsender,MouseEvente);
2.11.2.使用名为sender和e的两个参数。
Sender参数代表提出事件的对象。
Sender参数永远是一个类型对象,即使它可能使用了更为特定的类型。
与事件相关的状态被封装在一个名为e的事件类范例中。
要使用这个类型的正确的、特定的事件类。
2.11.3.用EventArgs后缀命名事件自变量类.
publicclassMouseEventArgs:
EventArgs
intx;
inty;
publicMouseEventArgs(intx,inty)
this.x=x;
this.y=y;
publicintX
get
returnx;
publicintY
get
returny;
}
2.11.4.命名事件名时,需要有之前和之后的时态概念,因此要使用现在时态和过去时态(而不使用BeforeXxx\AfterXxx的方式)。
例如,可以被取消的结束事件就有Closing事件和Closed事件。
2.14.5.用动词命名事件。
3.程序书写格式规范
3.1.缩进
3.1.1.缩进使用Tab健,不要使用空格键。
3.1.2.VS.NET的默认设置Tab健为4个空格。
3.2.对齐
3.2.1.注释需和代码对齐,应写到代码的上方,if语句的注释可写到语句之后。
3.2.2.在代码中垂直对齐左括号和右括号。
if(x==0)
Response.Write("
用户编号必须输入!
"
);
不提倡以下情况:
if(x==0){
或者:
if(x==0){Response.Write("
3.3.空格
在运算符和小括号前后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。
if(x==y)
而不应写为:
if(x==y)
3.4.空行
3.4.1.用一个空行来分开代码中的逻辑分组。
3.4.2.在一个类中,各个方法之间要用一个空行分开
3.4.3.将所有framework命名空间名放在一起,后面放自定义或第三方的命名空间名,并用一个空行隔开。
3.5.其他
3.5.1.每一行上放置的语句避免超过一条。
3.5.2.建议每行代码或注释在1024*800的显示频率下不超过120个字符。
3.5.3.编写SQL语句时,对于关键字全部使用大写。
4.注释规范
注释规范包括:
模块(类)注释规范、类的属性、方法注释规范、代码间注释
4.1.模块(类)注释规范
///<
summary>
///模块编号:
<
模块编号,可以引用系统设计中的模块编号>
///作用:
对此类的描述,可以引用系统设计中的描述>
///编写日期:
模块创建日期,格式:
YYYY-MM-DD>
///<
/summary>
4.2.类属性注释规范
///<
///属性说明
///<
4.3.方法注释规范
///说明:
对该方法的说明>
paramname="
参数名称>
>
参数说明>
/param>
returns>
对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>
/returns>
4.4.代码间注释规范
单行注释:
//<
单行注释>
多行注释:
/*多行注释1
多行注释2
多行注释3*/
代码中遇到语句块时应添加注释(if,for,foreach,……),添加的注释应能够说明此语句块的作用和实现手段(所用算法等等)。
5.补充
5.1.避免使用大文件
如果一个文件里的代码超过400行,应考虑将代码分开到不同类中。
5.2.避免写太长的方法
一个典型的方法代码应在50行以内。
如果一个方法发代码超过50行,应该考虑将其分解为不同的方法。
5.3.一个方法只完成一个任务
不要把多个任务组合到一个方法中,即使那些任务非常小。
5.4.使用C#或VB.NET的特有类型
使用C#或VB.NET的特有类型,而不是System命名空间中定义的别名类型。
intiCount而不是int16iCount
stringstrName而不是StringstrName
objectobjConn而不是ObjectobjConn
5.5.尽量使用常量
避免在程序中使用固定数值,尽量用常量代替。
5.6.避免使用很多成员变量
声明局部变量,并传递给方法。
尽量不要在方法间共享成员变量。
如果在几个方法间共享一个成员变量,那就很难知道是哪个方法在什么时候修改了它的值。
5.7.使用枚举类型
必要时使用enum,而不使用数字或字符串来指示离散值。
5.8.使用相对路径
不在代码中使用具体的路径和驱动器名,使用相对路径,并使路径可编程。
5.9.异常的处理
不必每个方法都使用try-catch,当特定的异常可能发生时才使用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DOTNET 编码 规范