注:编码只是准则,而不是规范。
- 变量命名:单词首字母大写;
- EmployeeSalary
- 命名空间和类:同上,最好不使用带有下划线的单词;
- 采用大小写命名规则:employeeSalary;
- 类型中所有私有成员字段的名称;(注:成员字段的前缀名常常用一条下划线开头;)
- 传递给方法的所有参数名称;
- 用于区分两个同名的对象;(比较常见的就是属性封装的字段)
- 属性和方法的使用
如果要编码的相关项满足下述所有条件,就把他设置为属性,否则就应该使用方法;
- 客户端代码应能读取它的值,最好不要使用只写属性,例如,应使用SetPassword()方法,而不是Password只写属性;
- 读取值不应该花太长的时间,如果是属性通常表明读取过程花的时间相对较短;
- 读取该值不应有任何明显的和不希望的负面效应,设置属性的值不应有与该属性不直接相关的负面效应。如设置对话框的宽度会改变对话框在屏幕上的展示外观,这是可以的。因为它与归属性相关;
- 可以按照任何顺序设置属性,尤其在设置属性时,最好不要因为还没有设置另一个相关的属性而抛出异常。例如:如果为了访问数据库的类,则需要设置属性ConnectionString、UserName和Password,应该确保已经实现了该类这样用户才能按照顺序设置他们。
- 顺序读取属性应有相同的结果。如果属性的值有不可预料的改变,就应该把它编写为一个方法。例如:在检测汽车运动的类中,把Speed(速度)设置为属性就不合适,应该使用GetSpeed()方法;另一方面应该吧Weight(重量)和EngineSize(发动机尺寸)设置为属性,因为他们是不变的。
- 字段应该都是私有的,某些情况下也可以把常量或只读字段设置为公开的,如果把字段设置为公开的,就不利于以后扩展或者修改类。