C#编程规范(研发中心).doc
《C#编程规范(研发中心).doc》由会员分享,可在线阅读,更多相关《C#编程规范(研发中心).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C#编程规范一、规范目的1:一个软件的生命周期中,80%的花费在于维护;合理的规范可以减少后期开发人员对代码的维护。2:编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。为了执行规范,每个软件开发人员必须一致遵守编码规范;3:使用统一编码规范的主要原因,是使应用程序的结构和编码风格标准化,以便于阅读和理解这段代码;4:好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致,并且尽可能的直观。二、适用范围研发中心全体.NET开发人员。三、规范内容3.1 命名规范变量,类等命名方式主要采用以下两种:序号名称规范实例1Pascal所有单词第一个字母大写,其他字母小写如
2、:HelloWorld。此方式主要用于类,方法等命名2Camel除了第一个单词,所有单词第一个字母大写,其他字母小写如:helloWorld。此方式主要用于变量命名。3匈牙利命名法所有命名加前缀如btnXX,txtXX。可用在界面上一些按钮,文本或变量的定义。3.1.1变量命名规范1:变量和方法参数使用Camel 大小写形式如:public class HelloWorld int totalCount = 0; void SayHello(string name) string fullMessage = Hello + name; . :不要使用匈牙利方法来命名变量。即采用“_”或“X_”
3、做为前缀,例如:string m_sName;Object _obj;等。所有变量均采用camel 大小写形式。:不要用“_”或“&”等特殊字符作为第一个字母;:用有意义的,描述性的词语来命名变量。项目中可商量是否统一采用中文拼音的首字母来做为变量或参数的命名。3.1.2属性命名规范:用名词或名词短语命名属性。:用Pascal大写命名属性。3.1.3 方法命名规范:如果方法返回一个成员变量的值,方法名一般为Get+成员变量名,如若返回的值 是bool变量,一般以Is作为前缀。另外,如果必要,考虑用属性来替代方法;:如果方法修改一个成员变量的值,方法名一般为:Set + 成员变量名。同上,考虑
4、用属性来替代方法。:用动词或动词短语命名方法。:使用Pascal大写方式命名方法。如下所示:void RemoveAll()string GetCharArray()bool IsContain()3.1.4 类命名规范:用名词或名词短语命名类:使用Pascal大写。:不要使用任何类前缀以及不要使用带下划线的字符。:泛型类型参数的命名:命名要为T或者以T开头的描述性名字,例如:public class Listpublic class MyClass:对同一项目的不同命名空间中的类,命名避免重复,避免引用时的冲突和混淆。 6:自定将异常类使用Exception作为后缀,如MyException
5、。3.1.5接口命名规范:所有接口命名都以I做为开头,以表示这个类型是一个接口。:使用名词或名词短语,或者描述行为的形容词来命名接口。:使用Pascal大写。同时I不算在内。如:IComponent(描述性名词),ICustomAttributeProvider(名词短语),和IPersistable(形容词):不要在任何地方使用带下划线或其经特殊的字符。3.1.6事件命名规范1:定义为事件的委托,使用EventHandler做为后缀。如public delegate void MouseEventHandler(object sender, MouseEventArgs e);2:考虑使用动
6、词命名事件。3:使用Pascal命名,不要使用任何前缀或后缀。例如,使用 Close,而不要使用 OnClose。4:通常情况下,对于可以在派生类中重写的事件,应在类型上提供一个受保护的方法(称为OnXxx)。如:Public virtual void OnClose() If(Close!=null) Close(); 3.1.7 常量命名规范所有单词大写,多个单词之间用 _ 隔开。 如public const string PAGE_TITLE = Welcome;3.1.8 静态字段命名规范1:使用Pascal大小写2:对静态字段名称使用匈牙利语表示法加前缀。一般可采用“_”做为前缀。3
7、:使用名词、名词短语或者名词的缩写命名静态字段。3.1.9项目和程序集命名采用公司简称+项目名+模块名(可选)命名方式。3.2代码注释规范3.2.1代码注释约定所有的方法和函数都应该以描述这段代码功能的简明注释开始(方法是干什么)。 但这种描述不应该包括执行过程细节(它是怎么做的),因为这常常是随时间而变的,而且这种描述会导致不必要的注释维护工作,甚至更糟成为错误的注释。因此只需要简单描述此段代码的基本功能即可另外当参数的功能不明显且当过程希望参数在一个特定的范围内时,也应描述传递给过程的参数。被过程改变的函数返回值和全局变量,特别是通过引用参数的那些,也必须在每个过程的起始处描述它们。3.2
8、.2模块头部注释规范以一个物理文件为单元的都需要有模块头部注释规范,例如:C#中的.cs文件用于每个模块开头的说明,主要包括:序号名称选择描述1文件名称必选此文件的名称2功能描述必选此模块的功能描述与大概流程说明3作者必选当前文档编写者4日期必选当前文档创建日期5参考文档可选该档所对应的分析文档,设计文档。6引用可选开发的系统中引用其它系统的Dll、对象时,要列出其对应的出处,是否与系统有关不清楚的可以不写,以方便后期维护。7修改记录后期开发必选若在后期或二次开中档案的功能改变,则需要有修改人员的名字、修改日期及修改理由。8数据表可选所用到的数据表,视图,存储过程的说明,如关系比较复杂,则应说
9、明哪些是可擦写的,哪些表为只读的。如下例所示实例:/* * 文件名:ICycleEngine.CS * 基本功能:在后台线程中进行间隔循环的引擎接口 * 作者: HCB * 日期: 2013年8月5日 * 修改记录 * 修改日期 * 修改人: * 修改理由:*/namespace ESBasic.Threading.Engines / / ICycleEngine 在后台线程中进行间隔循环的引擎接口/ HCB 2013年8月5日 / public interface IcycleEngine3.2.3类属性注释规范在类的属性必须以以下格式编写属性注释:/ /属性说明/ 3.2.4方法注释规范1
10、:使用C#提供的机制。即包含XML 文本的特殊注释语法为方法进行注释。在进行注释时,对所有参数以及返回值都要进行简要说明。只要在方法头敲“/”三个斜杠系统自动生成基本如下所示的XML标签格式的注释:/ / 说明:/ / param name=/ / 2:对于公共类的方法,在后期开发或维护当中需要进行修改时,必须对修改人,修改日期,修改理由进行说明。3:所有的方法必须在其定义前增加方法注释。4:方法注释的XML文档中所有标签节点说明如下:标签用法作用ctext text 希望将其指示为代码的文本。为您提供了一种将说明中的文本标记为代码的方法。使用 将多行指示为代码contentcontent段落
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 编程 规范 研发 中心
限制150内