已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 技术管理系列之 C#编程规范 试行版 版本号:Version 1.5 侏罗纪软件股份有限公司 二零一四年 八月 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 版本修订记录 版本号重要说明人员时间状态 V1.0初始版本,A 王建2014.4.16初稿 V1.1M熊伟2014.4.21已审批 V1.5编码规范统一刘军2014.8.12已发布 A - 添加 M 修改 D 删除 状态: 草稿,初稿,修订中,审批中,已审批,已发布 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 目录目录 第一章第一章 概述概述 .4 1.1 规范制定原则.4 1.2 术语定义.4 1.2.1 Pascal (帕斯卡)命名法.4 1.2.2 Camel(骆驼)命名法.4 1.3 文体.4 第二章第二章 命名规范命名规范 .6 2.1 总体规则.6 2.2 程序集命名.6 2.3 类、结构和接口命名.6 2.4 方法命名.7 2.5 参数与变量的命名.7 第三章第三章 注释规范注释规范 .8 3.1 总体规则.8 3.2 模块(类)注释规范.8 3.3 属性注释规范.8 3.4 方法注释规范.9 3.5 代码注释规范.9 第四章第四章 编码规范编码规范 .10 4.1 缩进和间隔.10 4.210 4.3 空行.10 第五章第五章 附录附录 .12 5.1 项目常用文件夹命名.12 5.2 主要控件名简写对照表.12 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 第第 1 章章 概述概述 为了软件代码规范化管理需求,特编制 C#编程规范,着力提高中心代码的可读性、通 用性和一致性,为后续模块代码的归集、积累做准备。编程规范的编制是一个循序渐进的 过程,本版本制定了基础的规定和约束。 1.1 规范制定原则规范制定原则 保证企业编写出的程序都符合相同的规范,做到一致性、统一性: 1.方便代码的交流和维护 2.不影响编码的效率,不与大众习惯冲突 3.使代码更美观、阅读更方便 4.使代码的逻辑更清晰、更易于理解 1.2 术语定义术语定义 1.2.1 Pascal (帕斯卡)命名法 将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符 的标识符使用 Pascal 大小写。 例如:FileUpLoader 1.2.2 Camel(骆驼)命名法 标识符的首字母小写,而每个后面连接的单词的首字母都大写。 例如:fileName 1.3 文体文体 本规范中的建议分为四种:要,建议,避免,不要,表示需要遵循的级别。文档中会 以粗体表示。对于应遵循的规范,前面会以“”来表示,对不好的做法前面会以“”来表示: 要要:描述必须遵循的规范。例如:异常类要要以“Exception”做为后缀; 建议建议:描述在一般情况下应该遵循的规范,但如果完全理解规范背后的道理,并有很 好的理由不遵循它时,也不畏惧打破常规。例如:强制类型转换时,在类型和变量之间建建 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 议议加一空格。 不要不要:描述一些几乎绝对绝不应该违反的规范。例如: 每个函数有效代码(不包括注释和空行)长度不要不要超过 50 行。 避免避免:与建议相对,一般情况下应该遵循,但有很好的理由时也可以打破。例如: 避免避免块内部的变量与它外部的变量名相同。 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 第第 2 章章 命名规范命名规范 2.1 总体规则总体规则 除了参数与变量外,所有项目名称、文件夹名称、文件名称、命名空间名称、类、函 数、接口、属性等名称的命名,使用 Pascal 风格。 2.2 程序集命名程序集命名 任何解决方案,都应通过项目、文件夹等方式将相同动作层级的代码文件组织在一起, 避免代码结构的无序混乱。 1.程序集名称要要与命名空间保持一致。 2.程序集下文件夹命名要要与文件夹下文件(C#代码文件)命名空间一致。 3.程序集采用公司域名(Jurassic)+ 项目名称 + 模块名称(可选)的形式命名,使 用.(句点)作为分割符号。其命名规则是由大概念到小概念,如 Com.Jurassic.Business,Framework.Model,不要不要反向使用; 4.程序集下文件夹建议建议不超过两级。 5不在程序集内的文件夹,如脚本、图片等资源文件,建议建议放到统一的文件夹下管理。 2.3 类、结构和接口命名类、结构和接口命名 1. 名字要要用名词或名词短语,避免单独使用单词的缩写,除非它的缩写已经广为人 知,如 HTTP; 2. 接口命名要要以字母 I 为前缀,例如:IComponent,保证对接口的标准实现名字 只相差一个“I”前缀; 3. 派生类的末尾建议建议使用基类名称,例如,从 Stream 继承的 Framework 类型以 Stream 结尾,从 Exception 继承的类型以 Exception 结尾; 4. 泛型类型参数的命名:命名要要为 T 或者以 T 开头的描述性名字; 5. 文件名要要与类、结构、接口命名一致; 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 2.4 方法命名方法命名 1. 第一个单词建议建议用动词; 2. 如果方法返回一个成员变量的值,方法名建议建议为 Get+成员变量名,如若返回的值 是 bool 变量,建议建议以 Is 作为前缀。另外,如果必要,考虑用属性来替代方法;; 3. 如果方法修改一个成员变量的值,方法名建议为:Set + 成员变量名。同上,考 虑 用属性来替代方法; 2.5 参数与变量的命名参数与变量的命名 1. 类的私有变量要要使用 Camel 风格:建议建议采用加“m”前缀,例如:mWorkerName; 2.参数与方法内的局部变量要要使用 Camel 风格; 3.不要不要用_或 expr2; expr3); 5.二元操作符和操作数之间要要用空格隔开。如:i + c; 6.强制类型转换时,在类型和变量之间要要加一空格。如:(int) i ; 4.2 在代码中垂直对齐左括号和右括号。 if (x = 0) 代码 不要不要出现以下情况: if(x = 0) 代码 不要不要出现以下情况: if(x = 0) 代码 不要不要出现以下情况: if(x = 0) 代码 else 代码 4.3 空行空行 1. 适当的增加空行,来增加代码的可读性; 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 2. 在下列情况之间建议建议有一行空行: 1)方法之间; 2)局部变量和它后边的语句之间; 3)方法内的功能逻辑部分之间; 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 第第 5 章章 附录附录 5.1 项目常用文件夹命名项目常用文件夹命名 Scripts 保存所有的 Javascript 文件,目录内包括 JQuery、Ext 等下级。 Images 保存所有的图片文件。 Styles 保存所有的 CSS 层叠样式单文件。 5.2 主要控件名简写对照表主要控件名简写对照表 缩写的基本原则是取组件类名各单词的第一个字母,如果只有一个单词, 则去掉其中的元音,留下辅音。缩写全部为小写。 1.1.DataData ControlControl 类 型前 缀示 例 AccessDataSourceadsadsPubs DataListdlstdlstTitles DetailViewdvwdvwTitles FormViewfvwfvwFonts GridViewgvwgvwCity ObjectDataSourceodsodsMenus RepeaterrptrptQueryResults ReportViewerrvwrvwRecord SiteMapDataSourcesmdssmdsSite SqlDataSourcesdssdsBooks XmlDataSourcexdsxdsTitles 2.2.ValidationValidation ControlControl 类 型前 缀示 例 CompareValidatorvalcvalcValidAge CustomValidatorvalxvalxDBCheck RangeValidatorvalgvalgAge RegularExpressionValidatorvalevaleEmail RequiredFieldValidatorvalrvalrFirstName 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 ValidationSummaryvalsvalsFormErrors 3.NavigationNavigation ControlControl 类 型前 缀示 例 MenumnumnuUser1 SiteMapPathsmpsmpSite1 TreeViewtrvwtrvwMenu 4.Loginogin ControlControl 类 型前 缀示 例 ChangePasswordcpwdcpwdUser1 CreateUserWizardcuwcuwLogin LoginloglogCenter LoginNamelognlognUser LoginStatuslogslogsUser LoginViewlogvlogvUser PasswordRecoverypwdrpwdrUser 5.WebPartsWebParts ControlControl 类 型前 缀示 例 AppearanceEditorPartpaedpaedPart1 BehaviorEditorPartpbedpbedPart2 CatalogZonezcazcatCity ConnectionsZonezconzconDataBase DeclarativeCatalogPartpdcapdcaPart1 EditorZonezedzedNews ImportCatalogPartpicapicaPart LayoutEditorPartpledpledNews PageCatalogPartppcappcaMail PropertyGridEditorPartppgeppgeServer ProxyWebPartManagermpwpmpwpWeb WebPartManagermwpmwpSite1 WebPartZonezwpzwpSite2 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 6.基本数据类型基本数据类型 数据类型数据类型简写标准命名举例 ArrayarrarrShoppingList Boolean blnblnIsPostBack Byte bytbytPixelValue Char chrchrDelimiter DateTime dtmdtmStartDate DecimaldecdecAverageHeight Double dbldblSizeofUniverse Integer intintRowCounter Long lnglngBillGatesIncome Object obj objReturnValue ShortshrshrAverage SinglesngsngMaximum StringstrstrFirstName 7.7.ADO.NETADO.NET 命名规范命名规范 数据类型数据类型简写标准命名举例 ConnectionconconNorthwind CommandcmdcmdReturnProducts ParameterparmparmProductID DataAdapterdaddadProducts DataReaderdtrdtrProducts DataSetdstdstNorthWind DataTabledtbldtblProduct DataRowdrowdrowRow98 DataColumndcoldcolProductID DataRelationdreldrelMasterDetail DataViewdvwdvwFilteredProducts 8.8.WinFormWinForm ControlControl 命名规范命名规范 数据类型 数据类型简写标准命名举例 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 LabellbllblMessage LinkLabelllblllblToday ButtonbtnbtnSave TextBoxtxttxtName MainMenummnummnuFile CheckBoxchkchkStock RadioButtonrbtnrbtnSelected GroupBoxgbxgbxMain PictureBoxpicpicImage PanelpnlpnlBody DataGriddgrddgrdView ListBoxlstlstProducts CheckedListBoxclstclstChecked ComboBoxcbocboMenu ListViewlvwlvwBrowser TreeViewtvwtvwType TabControltctltctlSelected DateTimePickerdtpdtpStartDate HscrollBarhsbhsbImage VscrollBarvsbvsbImage TimertmrtmrCount ImageListilstilstImage ToolBartlbtlbManage StatusBarstbstbFootPrint OpenFileDialogodlgodlgFile SaveFileDialogsdlgsdlgSave FoldBrowserDialogfbdlgfgdlgBrowser FontDialogfdlgfdlgFoot ColorDialogcdlgcdlgColor PrintDialogpdlgpdlgPrint 9.WebControlWebControl 命名规范命名规范 类 型前 缀示 例 AdrotatoradrtadrtTopAd BulletedListblstblstCity ButtonbtnbtnSubmit CalendarcalcalMettingDates CheckBoxchkchkBlue CheckBoxListchklchklFavColors CompareValidatorvalcvalcValidAge CustomValidatorvalxvalxDBCheck 侏罗纪软件股份有限公司 技术管理系列之 C#编程规范 DropDownListdropdropCountries DataGriddgrddgrdTitles DataListdlstdlstTitles RangeValidatorval
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 正规文章格式要求
- 吉林体育院2010届学士学位论文撰写规范
- 工程监理合同延期服务费(3篇)
- 中学生议论文评语
- 工程合同相关建议书范文(3篇)
- 论民族声乐对戏曲演唱与表演的借鉴
- 盈利能力存在的主要问题及对策分析
- 激光选区熔化成形技术的发展现状及研究进展
- 书香青春读书向未来初二议论文范文5
- 物资采购及管理存在的问题
- 医院信息系统HIS可行性研究报告
- 油库7s标准化管理培训
- 口腔清洁培训课件
- 科技创业公司管理制度
- 万古霉素血清谷浓度:急性肾损伤与临床疗效的关联及机制探究
- 13S201室外消火栓及消防水鹤安装
- 人工智能通识 课件 第七章 智能之躯-具身智能
- 个人充电桩免责协议书
- 芯片设计师面试题目及答案
- 2025中小学学校教材教辅征订管理工作方案
- 小学数学学习障碍干预:教师教学经验与改进路径研究
评论
0/150
提交评论