您的位置:建站学院首页 >> 文章 >> asp.net >> .NET概论及软件使用
.NET命名规范中文版
FileStream { } public class Button { } public class String { } 接口命名原则 使用名词或名词短语,或者描述行为的形容词来命名接口。例如,IComponent(描述性名词),ICustomAttributeProvider(名词短语),和IPersistable(形容词)。使用Pascal大写。减少接口名中缩写的使用量。不要使用带下划线的字符。在接口名前加前缀I,以表示这个类型是一个接口。不要在类名前加上前缀C。偶而情况下,需要在类名前加上I而并不表示它是一个接口。在这种情况下,只要I后面的字符是小写就可(例如,IdentityStore。)当类是接口的标准执行时,定义这一对类/接口组合就要使用相似的名称。两个名称的不同之处只是接口名前有一个I前缀。 下面我们举个例子,来看看接口IComponent和它的标准执行,类Component。 public interface IComponent { } public class Component : IComponent { } public interface IServiceProvider{ } public interface IFormatable { } 属性命名原则 在属性的后面加上Attribute后缀,来自定义属性类。如下例所示。 public class ObsoleteAttribute{ } Enum命名原则 Enum需使用Pascal大写。 Enum值名需使用Pascal大写。减少enum名中缩写的使用量。 Enum名前不要加前缀(例如,adxxx表示ADO enums,rtfxxx表示多信息文本enum,等等。)。在enum类型上不要加Enum后缀。 Enum名称需使用单数名词。比特域使用复数名词。如果列举值在参数或属性中使用,需用一个enum来定义列举值。这样工具就可以知道一个属性或参数可能的值了。 public enum FileMode{ Create, CreateNew, Open, OpenOrCreate, Truncate } 如果数字值to be bitwise or'ed together,就使用Flags对属性进行自定义。 [Flags] public enum Bindings { CreateInstance, DefaultBinding, ExcatBinding, GetField, GetProperty, IgnoreCase, InvokeMethod, NonPublic, OABinding, SetField SetProperty, Static } 在封装一个Win32 API时,这个规则有一个特例。从一个Win32标头产生内部定义是很常见的。你可以使用Win32大写,这种形式下字母通常全部大写。 使用Int32作为一个enum的基础类型。如果这个enum代表标志,而且标志又非常多(大于32),或者这个enum在将来可以发展成许多标志,或者类型需要与类型int有所不同以便向后兼容时,在这种情况下就产生了特例。 只有在值可以被完全表示为一组位标志时,才使用enum。开集不能使用enum(例如操作系统版,等等)。 只读和Const字段名 用名词,名词短语,或名词的缩写命名静态字段。用Pascal大写命名静态字段。不要用匈牙利文类型的符号作静态字段名的前缀。 参数名 使用描述性参数名。参数名应该具有足够的描述性,这样在大多数情况下参数名和它的种类可以用来确定它的意思。用camel大写方式命名参数。根据参数的意思来命名参数,而不是根据参数的种类来命名。我们希望开发工具可以用很方便的方式提供关于参数种类的信息,这样参数名可以得到更好的使用,可以对语义而不是对种类进行描述。但是偶尔使用根据类型命名的参数名也是完全可以的。 不要使用保留参数。如果在下一个版本中需要更多的数据,可以增加进来。不要用匈牙利文类型的符号作为字段名的前缀。 Type GetType (string