版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#通用编码规范 Posted on 2010-11-03 15:31 gczhao 阅读(71) 评论(0) 编辑 收藏 本文转自/usernamegaorn/archive/2007/10/20/.aspx基本命名规范注记:Pascal 大小写形式:所有单词第一个字母大写,其他字母小写。Camel 大小写形式:除了第一个单词,所有单词第一个字母大写,其他字母小写。对于在页面中的类,类名使用Pascal大小写形式,当然,这个类名通常情况下与前台页面的文件名是一致的,比如,对于一个页面HelloWorld.aspx,其类名会如下定义:public clas
2、s HelloWorld : Page对于类库中的类,则应按照约定加一定的前缀,通常是小写字母c,比如一个通用类可以如下定义:public class cHelloWorld自然的,相应文件名也是遵循此定义格式,在本例中,为cHelloWorld.cs类中的方法都使用Pascal大小写形式public class HelloWorldvoid SayHello ( string userName ) 变量和方法中的参数使用Camel 大小写形式public class HelloWorldint totalCount = 0;void SayHello ( string userName )
3、string fullMessage = Hello + userName; 常量的定义常量名通常全部采用单词的大写,单词之间以下划线“ _ ”隔开。private const bool WEB_DEFAULT_DATA_LINK = true;类的对象实例的命名可以采用取类的首字母小写的方法,比如:DataSet ds = new DataSet();cHelloWorld hw = new cHelloWorld();页面控件的命名页面控件命名时,最好按照类型加前缀,其命名方式类似Camel 大小写形式,比如:txtUserName,btnSumbit,lblErrorInfo。不要使用匈
4、牙利方法来命名变量以前,多数程序员喜欢把数据类型作为变量名的前缀而m_作为成员变量的前缀。例如:string m_sName;int iAge;然而,这种方式在.NET编码规范中是不推荐的。所有变量都用Camel 大小写形式,而不是用数据类型和m_来作前缀。别使用单个字母的变量象i,n,x 等。使用 index,temp等。当然,用于循环迭代的变量例外,如for循环中的i。尽量不要使用下划线C#中的下划线会带来不好的代码阅读体验,所以应当限制下划线的使用。唯一采用下划线的规则是常量名的定义。比如如下代码:private string ExitDoor()cControl_Exit.Door()
5、;.其中的cControl_Exit.Door,一眼之下难以区分类还是方法,习惯于vb编程的人很容易将cControl看成对象,将Exit.Door看成方法。不要使用关键字或疑似关键字作为变量名比如class,void,key之类的单词,尽量不要单独用作变量名,但可以与其它单词组合作为变量名。类、方法和变量的命名不要过长,限制在三到四个单词以内。另外,要用有意义的,描述性的词语来命名变量。别用缩写。用name,address,salary等代替nam,addr,sal。接口的命名和类命名规范相同,唯一区别是 接口在名字前加上“ I ”前缀例:interface IDBCommand;inter
6、face IButton;代码格式规范避免使用大文件。如果一个文件里的代码超过300400行,必须考虑将代码分开到不同类中。避免写太长的方法。一个典型的方法代码在125行之间。如果一个方法的代码超过25行,应该考虑将其分解为不同的方法。使用Tab缩进使代码产生层次,不允许使用空格缩进。当前一个值得关注的趋势,就是通过限制Tab制表符缩进的层数,控制代码嵌套的深度。代码中操作符两端要留出空格要这样:for ( int i = 0; i 10; i+ )不要这样:for (int i=0;i10;i+)代码注释好的代码要做到易读(见名知意),就可以尽量少的使用注释,对于必要的注释,要遵循以下格式:
7、注释文字要和“ / ”空一个格。要这样:/ 注释内容不要这样:/注释内容模块或类文件的注释,采用如下格式:/ / Module ID:/ Module Name:/ Depiction:/ Author:/ Create Date:/ 方法的注释加到方法定义的前面,采用如下格式:/ / depiction:/ / param name=/ / / / Writer:/ Create Date:当然,以上各项并不是必需的,通常情况下只写就可以了,也可以不写。方法名需能看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。一个方法只完成一个任务。不要把多个任务组合
8、到一个方法中,即使那些任务非常小。别在程序中使用固定数值,用常量代替。别用字符串常数,用资源文件。不要在方法间共享成员变量,如果在几个方法间共享一个成员变量,那就很难知道是哪个方法在什么时候修改了它的值。必要时使用enum,别用数字或字符串来指示离散值。要这样:enum MailType Html, PlainText, Attachmentvoid SendMail (string message,MailType mailType) switch ( mailType ) case MailType.Html: / Do something break; 。 不要这样:void SendM
9、ail (string message, string mailType) switch ( mailType ) case Html: / Do something break; 。 别把成员变量声明为 public或 protected。都声明为private 而使用 public/protected 的Properties,例如:class cExample private string priOwner; public string Owner getreturn this.priOwner; 使用#region来分组相关的方法和属性定义,并且方法中,可以使用空行来分组逻辑上相关的代码
10、行。项目开发规范不允许随意定义全局变量。如果确实需要定义全局变量,应写入开发文档并告知其他人员。对于定义的公用类和公用方法,请及时写入开发文档,以备其他人查阅;如果需要修改公用类或公用方法,请与原作者协商,并将修改记录写入开发文档。调用统一的数据库访问方法,保证程序良好的可迁移性。对于可以复用的类、方法、页面、样式表以及JavaScript脚本,应尽量复用,以减少代码量。=本规范是一些通用规范加上我个人的一些看法,必有不当之处,望诸位及时指出、不吝赐教为盼。本规范在项目开发过程中会逐渐完善。c#编码规范 Posted on 2010-11-03 15:29 gczhao 阅读(66) 评论(0
11、) 编辑 收藏 本文转自/usernamegaorn/archive/2007/10/20/.aspx1 命名规约1.1 数据库对象命名规约1.1.1 表名均采用Tab-前缀+单数英文名词表示,不加空格,每个词的首字母大写。表示单个实体的表名:TabXxxxXXXX为实体英文单词,例如:员工信息表TabEmployee;表示两个实体关系的表名:TabXxYyXxYy为实体汉语拼音声母字母,例如:项目课程信息表TabProjectCourse。1.1.2 视图名均采用View-前缀+视图主要内容或基表名称构成,其他约定同表名。1.1.3 存储过程名均采用Pr
12、oc-前缀+存储过程主要用途名称构成,其他约定同表名。1.2 WinForms窗体与控件对象命名规约1.2.1 窗体名:均以frm-为前缀,采用英文单词表示,每个词的首字母大写。临时窗体名:frm+使用者+用途。例如:前台登录窗体frmWaiterLogin。主界面窗体名:frmMain+使用者。例如:前台主界面窗体frmMainWaiter。1.2.2 控件名:均以前缀+用途或内容的英文单词表示,每个词的首字母大写。TextBox控件:前缀为txt-,例如:用于输入用户名的TextBoxtxtUserName。Label控件:前缀为lbl-。Button控件:前缀为btn-。ComboBox
13、控件:前缀为cmb-。CheckBox控件:前缀为chk-。RadioButton控件:前缀为rad-。Panel控件:前缀为pnl-。DataGrid控件:前缀为grd-。MainMenu控件:前缀为mmu-。ContextMenu控件:前缀为cmu-。子菜单项:mu+菜单项名+子菜单项用途,例如:“文件”菜单中的“退出”项muFileExit。1.3 C# 类名与变量名命名规约1.3.1 类名:均以Cls-为前缀。1.3.2 类数据成员名:私有变量均以下划线“_”为前缀,首字母小写。1.3.3 变量名: 基本类型变量以变量类型的缩写为前缀,首字母小写。int型:前缀为i-。l
14、ong型:前缀为l-。double型:前缀为d-。float型:前缀为f-。bool型:前缀为b-。string型:前缀为str-。 系统引用类型变量以变量类型的缩写为前缀,首字母小写。object型:前缀为obj-。Array型:前缀为arr-。ArrayList型:前缀为als-。Hashtable型:前缀为ht-。DateTime型:前缀为dtm-。DataSet型:前缀为ds-。DataTable型:前缀为dtb-。DataView型:前缀为dvw-。DataAdapter型:前缀为da-。DataReader型:前缀为dr-。1.3.4 函数或方法名:主要用途的英文单词
15、组合,首字母大写。1.3.5 属性或索引名:主要内容的英文单词组合,首字母大写。1.4 报表名:rpt+主要内容的英文单词。2 代码编写规约2.1 SQL语句的书写规约例: strSQL = “SELECT * ”;strSQL += “FROM tablename ”;strSQL += “WHERE tablename”;2.2 C# 代码的书写规约按.NET推荐的编码风格编写,使用缩进与空行。对代码段、方法的参数和各变量的用途进行注释。对数据库操作、IO操作、类型转换等进行异常处理。C#命名约定 Posted on 2010-11-03 15:28 gczhao 阅读(184) 评论(0
16、) 编辑 收藏 本文转自/usernamegaorn/archive/2007/10/20/.aspxADO.NET 命名规范数据类型 数据类型简写 标准命名举例 Connection con conNorthwind Command cmd cmdReturnProducts Parameter parm parmProductID DataAdapter dad dadProducts DataReader dtr dtrProducts DataSet dst dstNorthWind DataTable dtbl dtblProduct DataR
17、ow drow drowRow98 DataColumn dcol dcolProductID DataRelation drel drelMasterDetail DataView dvw dvwFilteredProducts WinForm Control 命名规范数据类型 数据类型简写 标准命名举例 Label lbl lblMessage LinkLabel llbl llblToday Button btn btnSave TextBox txt txtName MainMenu mmnu mmnuFile CheckBox chk chkStock RadioButton rbt
18、n rbtnSelected GroupBox gbx gbxMain PictureBox pic picImage Panel pnl pnlBody DataGrid dgrd dgrdView ListBox lst lstProducts CheckedListBox clst clstChecked ComboBox cbo cboMenu ListView lvw lvwBrowser TreeView tvw tvwType TabControl tctl tctlSelected DateTimePicker dtp dtpStartDate HscrollBar hsb h
19、sbImage VscrollBar vsb vsbImage Timer tmr tmrCount ImageList ilst ilstImage ToolBar tlb tlbManage StatusBar stb stbFootPrint OpenFileDialog odlg odlgFile SaveFileDialog sdlg sdlgSave FoldBrowserDialog fbdlg fgdlgBrowser 数据类型 数据类型简写 标准命名举例 FontDialog fdlg fdlgFoot ColorDialog cdlg cdlgColor PrintDial
20、og pdlg pdlgPrint WebControl 命名规范数据类型 数据类型简写 标准命名举例 AdRotator adrt Example Button btn btnSubmit Calendar cal calMettingDates CheckBox chk chkBlue CheckBoxList chkl chklFavColors CompareValidator valc valcValidAge CustomValidator valx valxDBCheck DataGrid dgrd dgrdTitles DataList dlst dlstTitles Drop
21、DownList 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 RangeValidator
22、 valg valgAge RegularExpression vale valeEmail_Validator Repeater rpt rptQueryResults RequiredFieldValidator valr valrFirstName Table tbl tblCountryCodes TableCell tblc tblcGermany TableRow tblr tblrCountry TextBox txt txtFirstName ValidationSummary vals valsFormErrors XML xmlc xmlcTransformResults 变量变量的作用域及前缀前缀 说明 举例 P 全局变量 ps
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度轨道交通项目建议书合同范本3篇
- 二零二五年度节能环保空调租赁合同范例3篇
- 2024版房屋建筑电气施工责任协议版
- 2024酒店行业员工劳务派遣合同
- 二零二五年度航空货运时效承诺与赔偿服务合同3篇
- 小学科学课程资源整合的实践与思考
- 2025年度金融衍生品收益权转让合同3篇
- 二零二五年度食品行业食品安全管理体系认证合同3篇
- 商业购物中心照明节能改造方案
- 2025年度法院行政公文范本仲裁申请书制作与培训服务合同3篇
- 手术室中心吸引突然停止的应急预案
- 选矿厂管理新规制度汇编
- G -B- 43630-2023 塔式和机架式服务器能效限定值及能效等级(正式版)
- 工作总结中的不足之处
- 湖南省部分地区高三下学期语文三模试题汇编:文学类文本阅读
- 城市轨道交通安全防范系统技术要求
- 电科院:储能构网控制及并网测试
- 广东省初级中学学生学籍表
- 生鲜超市供货超市供货服务方案
- 银行营销拆迁户活动方案
- 智能养老app项目商业计划书
评论
0/150
提交评论