自己总结的C#编码规范--3.特定场景下的命名最佳实践
2014-07-28 14:01
302 查看
特定场景下的命名最佳实践
命名空间
要使用PascalCasing,并用点号来分隔名字空间中的各个部分。如Microsof.Office.PowerPoint
要用公司名作为命名空间的前缀,这样就可以避免与另外一家公司使用相同的名字。
要用稳定的,与版本无关的产品名称作为命名空间的第二层
不要使用公司的组织架构来决定命名空间的层次结构,因为内部组织结构经常改变。
不要用相同的名字来命名命名空间和该空间内的类型。
例如,不要先将命名空间命名为Debug,然后又在该空间中提供Debug类。大部分编译器包括VS要求用户在这样的类型前加上完整的限定符。
要让接口的名字以字母I开头
如IComponet,IDisposable 大家一看就知道是接口。同时要确保如果一个类是一个接口的标准实现,那么这个类和接口应该只差一个"I"前缀。
派生类的末尾使用基类名称
例如,从 Stream 继承的 Framework 类型以 Stream 结尾,从 Exception 继承的类型以 Exception 结尾。泛型类型参数的命名
使用描述性的名字来命名泛型类型参数,并且在前面加上T前缀如下面都是很好的命名
public delegate TOutput Converter<TInput, TOutput>(TInput from);
如果只有一个类型参数,可以只用一个字母T来表示泛型
public class Nullable<T>
public class List<T>
如果泛型参数有约束,那么需要在泛型类型参数名中需要显示出该约束
public interface ISessionChannel<TSession> where TSession:ISession
枚举类型的命名
要用单数名词而不是复数命名枚举类型,如要用ConsoleColor而不是ConsoleColorspublic enum ConsoleColor
{
Red,
Yellow,
Blue
}
不要给枚举类型加"Enum"、"Flag"等后缀。
ColorEnum,ColorFlag都不好,因为本身就是枚举,再加上就是没有意义的重复 。
要用动词和动词短语命名方法
属性的命名
要用名词、名词短语或形容词来命名属性要用描述集合中具体内容的短语的复数形式来命名属性集合,而不要用短语的单数形式加"List"、"Array"或"Collection"后缀
class BinaryTree
{
//Good Naming
public NodeCollection Nodes { get; set; }
//Bad Naming
public NodeCollection NodesCollection { get; set; }
要用肯定性的短语命名布尔属性。最好在前面选择性的加入"Is"、"Can"、"Has"等前缀。
CanSeek比CantSeek和Seekable都更准确和容易理解。
事件的命名
要用动词或动词短语命名事件如: Clicked、Painting、DroppedDown 等等
要用现在进行时(ing)和过去式(ed)来赋予事件发生之前和之后的概念。而不是使用Before和After.
如窗口关闭前发生的close事件应该命名为Closing,而在窗口关闭之后发生的应该命名为Closed.
字段的命名
禁止使用实例的公有字段和受保护字段,请使用属性代替。Tips:在VisualStudio中输入"prop"可快速创建外部可修改的属性,输入"propg"可快速创建不允许外部修改的属性。如:
//propg
public int NodesCount { get; private set; }
//prop
public List<BinaryNode> Nodes { get; set; }
一般只使用静态字段
要使用名词、名词短语或形容词命名字段
不要给字段加前缀如"g_"、"s_"来表示静态字段。因为字段和属性是非常相似的,所以要遵循相同的命名规范。
相关文章推荐
- 自己总结的C#编码规范--1.命名约定篇
- 自己总结的C#编码规范--2.命名选择篇
- 自己总结的C#编码规范--6.格式篇
- 自己总结的C#编码规范--5.如何写好注释篇
- 自己总结的C#编码规范--前言&目录
- 自己总结的C#编码规范--7.文档下载 & 总结
- 自己总结的C#编码规范--4.注释篇
- C# 编码及命名规范
- 转帖:C++、Java与C#的命名规范总结
- [ C# ] 最佳的编码规范和良好的编程习惯
- 我自己总结的C#开发命名规范整理了一份
- atitit.泛型编程总结最佳实践 vO99 java c++ c#.net php
- 总结C#语言命名规范 (转)
- C#编码规范(3):常用变量和控件在变量命名中缩写
- C#编码标准 - 指导和最佳实践 - Juval Lowy
- C#编码规范之VS2005控件命名
- C#开发中如何对SqlServer命名规范的总结
- C#编码标准指导和最佳实践 之 命名规范
- C#编码标准 - 指导和最佳实践 - Juval Lowy
- C#编码及命名规范