代码整洁之道--命名
整洁的代码只做一件事
优雅的代码
外表或者举止上令人愉悦的优美和雅观,令人愉悦的精致和简单
命名
名副其实,
避免误导
做有意义的区分
使用读的出来的名称
使用可搜索的名称 长名称胜宇短名称,搜得到的名称胜宇自造的名称
避免使用编码
匈牙利命名法:(不要)
由于在过去数据类型都是弱类型的,那时候编译器并不做类型检查,程序员需要匈牙利语标记法来帮助自己记住类型。
JAVA不需要类型编码就,对象是强类型的,现在编辑环境在编译开始前就可以侦测到类型错误,如果还用匈牙利命名法,会增加阅读代码的难度。
成员前缀(不要)
没有必要增加前缀和后缀这些废料,这些已经变成旧代码的标志
接口和实现
接口命名去掉废字母I,实现增加Imp
避免思维映射
明确是王道,编写其他人能理解的代码。
类名
类名和对象名应该是名称或名词短语,类名不应当用动词
方法名
方法名应当是动词或动词短语。
重载构造器时,使用描述了参数的静态工厂方法名
例如:
Complex fulcrumPoint = Complex.FromRealNumber(23.0);
通常好于
Complex fulcrumPoint =new Complex(23.0);
别扮可爱
别用笑话或者俚语
言到意到,意到言到。
每个概念对应一个词
给每个抽象概念选一个词,并且一以贯之i
别用双关语
避免同一单词用于不同目的
使用解决方案领域名称
只有程序员才会读代码,所以,尽管用计算机科学术语,算法名、模式名、数学术语。
使用解决方案领域名称,不要使用问题所涉及到领域来命名,增加阅读者对业务理解的负担。
使用源自所涉问题领域的名称、
如果不能用程序员熟悉的术语来给手头的工作命名,就采用从所涉问题领域而来的名称,至少,负责维护代码的程序员可以去请教领域专家。
优秀的程序员和设计师,其工作之一就是分离解决方案领域和问题领域的概念。
与所涉问题领域更加贴近的代码,应当采用源自问题领域的名称。
添加有意义的语境
不要添加没用的语境
只要短名称足够清楚,就要比长名称好,别给名称添加不必要的语境
取好名字最难的地方在于需要良好的描述技巧和共有文化背景
与其说这是一种技术、商业或管理问题, 还不如说是一种教学问题,其结果是,这个领域内的许多人都没能学会做的很好。
充分利用重构的工具,能用更好的名字就用更好的名字。