阅读笔记(六)——《代码整洁之道》3

在程序中命名的规范,命名随处可见,变量、函数、类、模块、命名空间等都需要有好的命名。一个名称如果能让阅读者一看就知道要表达的意思,就可以认为是一个好的名称。 不要使用单个字母来做变量名,时间一长,自己都不清楚自己当初的命名是什么意思。小方法体,如循环中的计数器除外。 不要使用有误导性的字母作为变量名,比如小写字母l和大写字母O,因为他们和数字的一和零很像,有的字体还比较好区分,但大多数字体很难分辨。 “匈牙利命名法(HN)”:该命名法是一位叫 Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。在当时那个时代编译器并不做类型检查,程序员需要使用HN来帮助自己记住类型。现在的一些高级静态编程语言具有更丰富的类型系统,编译器可以很好的做类型检查,所以使用NH纯属多余。使用NH的几个弊端:

  • 增加了名称的长度;
  • 使名称变得不可读,而在本章的2.5小节有强调要使用可以读得出来的名称;
  • 增加了修改名称的难度,修改了变量的类型,变量名就要随着修改,否则会造成误导。

本章中讲到对接口的命名不要使用“I”作为前缀,这点我持保留意见,可能因为我一直是从事的Net上的开发,DotNet的类库中的接口基本都是使用“I”作为前缀的,而且在《NET 设计规范》一书中也强调接口要使用“I”作为前缀。 类名使用名词或是名词短语,而不应当使用动词。 对于方法名做到每个概念一个词,应该保持一致,比如对于绑定数据的方法,不要有的地方用BindData,而另一些地方使用DataBind 。 最后想说的是命名除了一些通用的法则外,对于一些规范性的问题还是要遵循所使用语言或平台规定或是约定俗成的惯例。比如方法名C#中推荐使用Passcal风格,而在Java中则是使用Camel风格。

posted @ 2020-01-03 17:22  米汤000  阅读(85)  评论(0编辑  收藏  举报