详解.Net中变量的命名和属性
2008-06-09 18:25 TTlive 阅读(372) 评论(0) 编辑 收藏 举报static readonly与const的变量,作用是一样的,无论访问修饰符是不是public,还是其它(private、protected、internal),变量名称一般为大写,中间以下划线。
public static readonly int MAX_HEIGHT;
public const int MIN_HEIGHT = 10;
有些程序员对大写不敏感,上例中,MAX_HEIGHT用Max_Height代替也未尝不可,甚至MaxHeight也可以。在.Net类库中,int.MaxValue与int.MinValue便是这样定义的。
除了以上两种静态只读和常量变量之外,其它变量命名均以下划线开始,访问修改符为private(不建议命名为internal、protected,更不建议命名为public):
private static int _maxHeight; private int _minHeight; |
如果其命名不前置下划线,易与参数变量混淆。
对于下面这种定义:
private int _minHeight = default(int); public int MinHeight { set{ _minHeight = value; } get{ return _minHeight; } } |
初学者可能觉得有点画蛇添足,不如直接命名为:
private int _minHeight = int.MinValue; public int MinHeight//或者是protected、internal,甚至是private { set{ _minHeight = value; //即使这里目前没有其它处理逻辑 } get{ return _minHeight; } } public void Method1(int minHeight) { this.MinHeight = minHeight;//在这里不要使用this._minHeight直接读写 // } |
即使变量的访问是受保护的或者或者是私有的,也要使用属性存取器。
原则是:对于变量的读取,要用属性存取器封装,无论其访问修饰符如何,即使其属性存取器内除了存取目前没有任何其它逻辑。