标签:
在写这篇文章时,我也是酝酿了许久;在平时编码时,也经常苦于如何命名让变量,函数及类变都优雅,美观。因为,有时候看回过头来看代码发现,一个变量或是函数名特别是有单词组合都时候,会觉得有些单词组合在一起,看起来很别扭。举个例子,如类型统计:typeStats,statsType,categoryStats,statsCategory。其中2看的最别扭,3其次,1和4都还可以接受。当然这个也不是说2,3不行,这里我只是想说明命名之前,我尽可能的多组合自己的变量,使最后的命名更加优雅。
这里总结一下自己在平时多使用心得,故总结以下心得:
类型 | 长度 |
循环变量 | 1 |
方法 | 1-2 |
类 | 2-3 |
全局变量 | 3-4 |
“value”,“equals”,“data”在任何情况下都不是一种有效对命名方式。
变量的名字必须能够准确反应它的含义和内容。
如: n_,obj_,_p
如:txtUserName,lblUserName,cmbIsAdmin等,否则会对可读性造成影响,而且会令查找/替换工具(find/replace tools)不可用。
在命名使,要和当前的命名规则匹配,不要另起规则。常见的问题:userName,username,UserName,USER_NAME等。
以Java的规则为例:
1 public class App{ 2 public App(String appName){ 3 String name = appName; 4 // ....... 省略后面的代码 ...... 5 } 6 7 public void show(AppDetail app){ 8 String name = app.getAppName();// 构造方法中已使用name变量 9 String appName = app.getAppName(); 10 } 11 }
如:在方法,初始化方法和类中,这样做可以提高可读性和可维护性。
同2.7一样,赋予它们不同的名字,这样对保持可读性和可维护性很重要。
这样做的后果会导致在跨平台使用时产生问题。
变量名不要超过50字符,过长的变量名会导致代码丑陋和难以阅读,还可能因为字符限制在某些编译器上存在兼容性问题。
例如:在同时使用英语和日文来命名会导致理解不一致和降低代码的可读性。
方法名必须准确表达该方法的行为,在多数情况下以动词开头,如:createPassword。
在项目注坚持使用同一种方法命名方式,如:getTxtUserName(),isAdmin(),updateUserInfo(),否则会对可读性造成影响,而且会令查找/替换工具不可用。
在命名时,不要不统一的使用大小写字母,如:
以Java为例:
这样做可以在没有文档的情况下尽量做到“见明知意”。
细节很重要,平时编码时需要注意的一些细节,时刻记住,我们编码是为了让别人更好的去阅读你的代码,而不是“迷惑”别人。一次在阅读代码时发现以前一哥们写的注释,我瞬间内心暖暖的。大概内容如下:
private int getSummary(Manager manager){ // 为了BT的需求,破坏了代码优雅的结构( ̄▽ ̄) }
最后说一句,同是程序员,程序员何苦为难程序员!!!
标签:
原文地址:http://www.cnblogs.com/smartloli/p/4262759.html