C#编码命名规则.docx
- 文档编号:2004569
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:11
- 大小:18.92KB
C#编码命名规则.docx
《C#编码命名规则.docx》由会员分享,可在线阅读,更多相关《C#编码命名规则.docx(11页珍藏版)》请在冰点文库上搜索。
C#编码命名规则
C#CodingStandard
一、命名
1.用pascal规则来命名方法和类型.
publicclassTextBox
{
publicvoidDataBind()
{
}
}
2.用camel规则来命名局部变量和方法的参数.
stringuserName;
publicAddUser(stringuserId,byte[]password);
3.所有的成员变量前加前缀m_
publicclassDatabase
{
publicstringm_connectionString;
}
4.接口的名称加前缀I.
interfaceICompare
{
intcompare();
}
5.自定义的属性以Attribute结尾
publicclassAuthorAttribute:
Attribute
{
}
6.自定义的异常以Exception结尾
publicclassAppException:
Exception
{
}
7.方法的命名.一般将其命名为动宾短语.
ShowDialog()
CreateFile()
GetPath()
8.代码的缩进.要用Tab,而不要用space.
9.局部变量的名称要有意义.不要用x,y,z等等.
stringuserName
10.所有的成员变量声明在类的顶端,用一个换行把它和方法分开.
11.用有意义的名字命名namespace,如:
产品名、公司名.
12.建议局部变量在最接近使用它时再声明.
13.使用某个控件的值时,尽量命名局部变量.
14.把引用的系统的namespace和自定义或第三方的分开.
15.文件名要能反应类的内容,最好是和类同名,一个文件中一个类.
16.目录结构中要反应出namespace的层次.
17.大括号"{"要新起一行.
publicclassAuthorAttribute:
Attribute
{
}
二、编码习惯.
1.用C#预定义的类名,而不要用别名.
stringuserName;而不是System.StringuserName;
intnumber;而不是System.Int32;
2.一行不要超过80个字符.
3.尽量不要手工更改机器生成的代码,若必须更改,一定要改成和机器生成的代码风格一样.
4.关键的语句(包括声明关键的变量)必须要写注释.
5.文字常量和数字常量不要硬编码,应该用常量类或枚举代替.
6.不要用goto系列语句.
7.不要声明public和protected的成员变量,应用property.
8.不要声明public的event,应用事件访问器.
publicclassSource
{
privateEventHandlerm_NumberChangeEvent;
publiceventEventHandlerNumberChangeEvent
{
add
{
m_NumberChangeEvent+=value;
}
remove
{
m_NumberChangeEvent-=value;
}
}
}
9.类型转换的使用规则.
Animalanimal=newDog();
Dogdog=animalasDog;
if(dog!
=null)
{
}
10.生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string.
11.始终使用"{}"包含if下的语句,即使只有一条语句.
12.switch语句一定要有default来处理意外情况.
13.尽量不要使用三目运算符?
:
,而要使用if语句.
14.尽量不用使用this引用,除非是要调用类中的另一个Constructor.
publicclassPerson
{
publicPerson(stringname)
{
}
publicPerson():
this("Jim")
{
}
}
==========================================================
C#编码命名规则
1.基本规则
第一个字母必须大写,并且后面的并发连结词的第一个字母均为大写
例:
GeneralManager、SmallDictionary、StringUtil
2.接口命名规则
接口名称前加“I_”
interfaceI_Compare
{
intcompare();
}
类的命名.
类名添加cls前缀
publicclassclsTextBox
{
publicvoidDataBind()
{
}
}
WebServer的命名.
类名添加ws前缀
publicclasswsTextBox
{
publicvoidDataBind()
{
}
}
方法、属性的命名.
使用Pascal大小写形式,一般将其命名为动宾短语.
ShowDialog()
CreateFile()
变量、参数
使用Camel大小写形式
例:
inttotalCount
常量
全部大写,单词之间以“_”分隔
例:
USER_PASSWORD
代码的缩进
用Tab,而不要用space
其他代码命名规则
●局部变量的名称要有意义.不要用x,y,z等等(循环变量除外)
●所有的成员变量声明在类的顶端,用一个换行把它和方法分开
●文件名要能反应类的内容,最好是和类同名,一个文件中一个类.
●大括号"{"要新起一行.
publicclassAuthorAttribute:
Attribute
{
}
●switch语句一定要有default来处理意外情况
●同程序外部连接(数据库、接口、文件等)一定要捕获任何类型的异常(try)
给出友好的消息给用户,必要时用日志记录错误的细节,包括发生的时间,和相关方法,类名等。
不要“捕捉了异常却什么也不做”
●始终使用"{}"包含if/else下的语句,即使只有一条语句
●把引用的系统的namespace和自定义或第三方的分开
●自定义的属性以Attribute结尾
publicclassAuthorAttribute:
Attribute
{
}
●自定义的异常以Exception结尾
publicclassAppException:
Exception
{
}
●注释需和代码对齐
●用一个空行来分开代码的逻辑分组
●花括弧({})需和括号外的代码对齐
●不在代码中使用具体的路径和驱动器名,使用相对路径,并使路径可编程
数据库命名规则
●表:
e—业务表中相对独立的实体表(例如:
课程资源表……)
r—业务中产生的关联表(例如:
选课表……)
b—系统中的基本表(例如:
类型表、民族、地区……)
●视图:
v_
●存储过程:
sp_
●触发器:
t_
●函数过程:
fn_
●列名:
一般第一列名为ID、主键、标识递增
其他列名尽可能用英文单词或英文缩写,如英文过长(超过6位)或过于生僻可用汉语拼音的首字母。
控件命名:
ControltypeprefixExample
ButtonbtnbtnOK
GridgrdgrdPrices
3DPanelpnlpnlGroup
ADODataadoadoBiblio
AnimatedbuttonanianiMailBox
CheckboxchkchkReadOnly
ComboboxcbocboEnglish
Dropdownlistbox≥ddlddlUser
CommandbuttoncmdcmdExit
CommondialogdlgdlgFileOpen
CommunicationscomcomFax≤
Control(usedwithinprocedureswhenthespecifictypeisunknown)
ctrctrCurrent
DatadatdatBiblio
Data-boundcomboboxdbcbodbcboLanguage
Data-boundgriddbgrddbgrdQueryResult
Data-boundlistboxdblstdblstJobType
DatacombodbcdbcAuthor
DatagriddgddgdTitles
DatalistdbldblPublisher
DatarepeaterdrpdrpLocation
DatepickerdtpdtpPublished
DirectorylistboxdirdirSource
DrivelistboxdrvdrvTarget
FilelistboxfilfilSource
FlatscrollbarfsbfsbMove
FormfrmfrmEntry
FramefrafraLanguage
GaugegaugauStatus
GraphgragraRevenue
HierarchicalflexgridflexflexOrders
HorizontalscrollbarhsbhsbVolume
ImageimgimgIcon
ImagecomboimgcboimgcboProduct
ImageListilsilsAllIcons
LabellbllblHelpMessage
LightweightcheckboxlwchklwchkArchive
LightweightcomboboxlwcbolwcboGerman
LightweightcommandbuttonlwcmdlwcmdRemove
LightweightframelwfralwfraSaveOptions
LightweighthorizontalscrollbarlwhsblwhsbVolume
LightweightlistboxlwlstlwlstCostCenters
LightweightoptionbuttonlwoptlwoptIncomeLevel
LightweighttextboxlwtxtlwoptStreet
LightweightverticalscrollbarlwvsblwvsbYear
LinelinlinVertical
ListboxlstlstPolicyCodes
ListViewlvwlvwHeadings
MAPImessagempmmpmSentMessage
MAPIsessionmpsmpsSession
MCImcimciVideo
MenumnumnuFileOpen
MonthviewmvwmvwPeriod
MSChartchchSalesbyRegion
MSFlexgridmsgmsgClients
MSTabmstmstFirst
OLEcontaineroleoleWorksheet
OptionbuttonoptoptGender
PictureboxpicpicVGA
PictureclipclpclpToolbar
ProgressBarprgprgLoadFile
RemoteDatardrdTitles
RichTextBoxrtfrtfReport
ShapeshpshpCircle
SlidersldsldScale
SpinspnspnPages
StatusBarstastaDateTime
SysInfosyssysMonitor
TabStriptabtabOptions
TextboxtxttxtLastName
TimertmrtmrAlarm
ToolbartlbtlbActions
TreeViewtretreOrganization
UpDownupdupdDirection
VerticalscrollbarvsbvsbRate
◆注记
Pascal大小写形式——所有单词第一个字母大写,其他字母小写。
Camel大小写形式——除了第一个单词,所有单词第一个字母大写,其他字母小写。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 编码 命名 规则