C项目命名规范范例.doc
《C项目命名规范范例.doc》由会员分享,可在线阅读,更多相关《C项目命名规范范例.doc(14页珍藏版)》请在三一文库上搜索。
1、 C#项目开发代码规范命名规制定意义 1 方便代码的交流和维护,便于日后自己的再次阅读。 2 不影响编码的效率,不与大众习惯冲突。 3 使代码更美观、阅读更方便。 4 使代码的逻辑更清晰、更易于理解命名规制定原则首要原则有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了1.除约定俗成的,别用缩写。用name, address, salary等代替 nam, addr, sal 2.除用于循环,别使用单个字母的变量象i, n, x 等. 而要使用 index, temp等。for ( int i = 0; i count;
2、 i+ ) .其他习惯l 除了界面控件外,不要使用类型前缀。比如:使用名称amount,而不是 intAmount;l类:使用名词、名词短语命名。比如:public class FileStream;l方法:使用动词、动词短语开始。比如:CreateUser(), RemoveAt()等;l接口:以 I 开始,后面加上名词、名词短语、形容词命名。比如:IDisposable;l常量:所有单词大写,多个单词之间用 _ 隔开。public const string PAGE_TITLE = Welcome;l命名空间:基本格式:CompanyName/ProjectName.TechnologyN
3、ame.Feature.Designa) CompanyName/ProjectName:公司名、项目名称或产品名称;b)TechnologyName:稳定的、公认的技术名称或架构层次名称;c).Feature.Design:可选的功能与设计;变量方法命名规则C#命名规1、用pascal规则来命名方法和类.(第一个单词首字母大写,后面连接的每个单词首字母都大写)publicclassDataBase;publicvoidGetDataTable()2、类:使用名词、名词短语命名。比如:public class FileStream;2.用camel规则来命名局部变量和方法的参数.(第一个单词不
4、大写,后面连接的单词首字母大写)publicvoidAddUser(stringuserId,bytepassword)stringuserName;3.所有的成员变量前加前缀_publicclassDatabaseprivatestring_connectionString;4.接口的名称加前缀IinterfaceICompareintcompare();5.自定义代码属性类以Attribute结尾publicclassOperationAttribute:Attribute6.自定义的异常以Exception结尾publicclassAppException:Exception7.方法的命
5、名.一般将其命名为动宾短语,“动词对象”.GetRecordData();GetPath();CreateFile();8.代码的缩进.要用Tab,而不要用space. 9. 使用带有说明性的变量名。()避免单字符串的变量名,使用类似于index或temp这样有意义的名字。()对于public或protected类型的变量避免使用匈牙利表示法。()不要缩写单词。10. 所有的类成员变量应该被声明在类的顶部,并用一个空行把它们和方法以与属性的声明区分开.11.用有意义的名字命名namespace,如:产品名、公司名.12.建议局部变量在最接近使用它时再声明.13.使用某个控件的值时,尽量命名局部
6、变量.14.把引用的系统的namespace和自定义或第三方的用一个换行把它们分开.15.文件名要能反应类的容,最好是和类同名,一个文件中一个类或一组关连类.16.目录结构中要反应出namespace的层次.17.大括号要新起一行. 18.在和你的代码缩进处于同一个级别处为该行代码添加注释19单独方法要加注释 字段(一目了然的课一部详细说名)例如:/ / / / / public string GetName(int id)return “xiaomi“;名称应该说明“什么”而不是“如何”。通过避免使用公开基础实现(它们会发生改变)的名称,可以保留简化复杂性的抽象层。例如,可以使用 GetNe
7、xtStudent(),而不是 GetNextArrayElement()。 命名原则是:选择正确名称时的困难可能表明需要进一步分析或定义项的目的。使名称足够长以便有一定的意义,并且足够短以避免冗长。唯一名称在编程上仅用于将各项区分开。表现力强的名称是为了帮助人们阅读;因此,提供人们可以理解的名称是有意义的。不过,请确保选择的名称符合适用语言的规则和标准。以下几点是推荐的命名方法。1、避免容易被主观解释的难懂的名称,如方面名 AnalyzeThis(),或者属性名 xxK8。这样的名称会导致多义性。2、在类属性的名称中包含类名是多余的,如 Book.BookTitle。而是应该使用 Book.
8、Title。3、只要合适,在变量名的末尾或开头加计算限定符(Avg、Sum、Min、Max、Index)。4、在变量名中使用互补对,如 min/max、begin/end 和 open/close。 5、布尔变量名应该包含 Is,这意味着 Yes/No 或 True/False 值,如 fileIsFound。6、在命名状态变量时,避免使用诸如 Flag 的术语。状态变量不同于布尔变量的地方是它可以具有两个以上的可能值。不是使用 documentFlag,而是使用更具描述性的名称,如 documentFormatType。 (此项只供参考)7、即使对于可能仅出现在几个代码行中的生存期很短的变量
9、,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i 或 j。 可能的情况下,尽量不要使用原义数字或原义字符串,如For i = 1 To 7。而是使用命名常数,如 For i = 1 To NUM_DAYS_IN_WEEK 以便于维护和理解。8、用于事件处理的委托添加“EventHandler”后缀9、用于事件处理之外的那些委托添加“Callback”后缀10、不要给委托添加“Delegate”后缀11、用名词或名词词组来给类型命名,在少数情况下也可以用形容词词组来给类型命名12、用动词或动词词组来命名方法13、用名词、名词词组或形容词来命名属性14、要用动词或动词短语来命名事件
10、15、要用名词或名词短语来命名字段小写规则大写标识符中的所有字母都大写。仅对于由两个或者更少字母组成的标识符使用该约定。例如:System.IOSystem.Web.UI下表汇总了大写规则,并提供了不同类型的标识符的示例。标识符大小写样例名字空间Pascalnamespace System.Security 类型Pascalpublic class StreamReader 接口Pascalpublic interface IEnumerable 方法Pascalpublic class Object public virtual string ToString();属性Pascalpubli
11、c class String public int Length get; 事件Pascalpublic class Processpublic event EventHandler Exited;字段(私有实例)Camelprivate string userName;字段(公共静态)Pascalpublic static readonly string UserId;枚举Pascalenum FileMode Append, 参数Camelpublic class Convert public static int ToInt32(string userId);缩写为了避免混淆和保证跨语言
12、交互操作,请遵循有关区缩写的使用的下列规则: 1 不要将缩写或缩略形式用作标识符名称的组成部分。例如,使用 GetWindow,而不要使用 GetWin。 2 不要使用计算机领域中未被普遍接受的缩写。 3 在适当的时候,使用众所周知的缩写替换冗长的词组名称。例如,用 UI 作为 User Interface 缩写,用 OLAP 作为 On-line Analytical Processing 的缩写。 4在使用缩写时,对于超过两个字符长度的缩写请使用 Pascal 大小写或 Camel 大小写。例如,使用 HtmlButton 或 HTMLButton。但是,应当大写仅有两个字符的缩写,如,S
13、ystem.IO,而不是 System.Io。5 不要在标识符或参数名称中使用缩写。如果必须使用缩写,对于由多于两个字符所组成的缩写请使用Camel 大小写,虽然这和单词的标准缩写相冲突。命名空间1、给命名空间命名时的一般性规则是使用公司名称,后跟技术名称和可选的功能与设计,如下所示。CompanyName.TechnologyName.Feature.Design例如:namespace JadeBird.StudentManager/学员系统namespace JadeBird.StudentManager.Register /北学员注册模块 2、命名空间使用Pascal大小写,用点号分隔
14、。3、TechnologyName 指的是该项目的英文缩写,或软件名。4、命名空间和类不能使用同样的名字。例如,有一个类被命名为Debug后,就不要再使用Debug作为一个名称空间名。文件命名1 文件名遵从Pascal命名法,无特殊情况,扩展名小写。类1、使用 Pascal 大小写。2、用名词或名词短语命名类。3、使用全称避免缩写,除非缩写已是一种公认的约定,如URL、HTML4 、不要使用类型前缀,如在类名称上对类使用 C 前缀。例如,使用类名称 FileStream,而不是CFileStream。5 、不要使用下划线字符 (_)。6 、有时候需要提供以字母 I 开始的类名称,虽然该类不是接
15、口。只要 I 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称 IdentityStore 是适当的。在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,ApplicationException 对于从名为 Exception 的类派生的类是适当的名称,原因ApplicationException 是一种Exception。请在应用该规则时进行合理的判断。例如,Button 对于从 Control 派生的类是适当的名称。尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长。publicclassFileStr
16、eampublicclassButtonpublicclassString接口以下规则概述接口的命名指南: 1、用名词或名词短语,或者描述行为的形容词命名接口。例如,接口名称 IComponent 使用描述性名词。接口名称 ICustomAttributeProvider 使用名词短语。名称 IPersistable 使用形容词。 2、使用 Pascal 大小写。 3、少用缩写。4、给接口名称加上字母 I 前缀,以指示该类型为接口。在定义类/接口对(其中类是接口的标准实现)时使用相似的名称。两个名称的区别应该只是接口名称上有字母 I 前缀。 5、不要使用下划线字符 (_)。 6、当类是接口的标
17、准执行时,定义这一对类/接口组合就要使用相似的名称。两个名称的不同之处只是接口名前有一个I前缀。以下是正确命名的接口的示例。 public interface IServiceProvider public interface IFormatable以下代码示例阐释如何定义 IComponent 接口与其标准实现 Component 类。publicinterfaceIComponent/Implementationcodegoeshere.publicclassComponent:IComponent/Implementationcodegoeshere.枚举 (Enum)枚举 (Enum)
18、 值类型从 Enum 类继承。以下规则概述枚举的命名指南: 1 对于 Enum 类型和值名称使用 Pascal 大小写。 2 少用缩写。 3 不要在 Enum 类型名称上使用 Enum 后缀。 4 对大多数 Enum 类型使用单数名称,但是对作为位域的 Enum 类型使用复数名称。 5 总是将 FlagsAttribute 添加到位域 Enum 类型。6不要命名“Reserved”枚举值。参数以下规则概述参数的命名指南: 1、使用描述性参数名称。参数名称应当具有足够的描述性,以便参数的名称与其类型可用于在大多数情况下确定它的含义。 2、对参数名称使用 Camel 大小写。 3、 使用描述参数的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 命名 规范 范例
链接地址:https://www.31doc.com/p-14124738.html