编写可读代码的艺术
代码应当易于理解
代码的写法应当使别人理解它所需的时间最小化。
就算是需要高度优化代码的领域,还是有办法让代码的可读性更高。
把信息装到名字里
选择非常专业的词,尽量避免使用空泛的词。清晰和精确比装可爱要好。
用具体的名字代替抽象的名字,让人容易理解这段代码对应的行为。
ServerCanStart -> CanListenOnPort
DISALLOW_EVIL_CONSTRUCTORS -> DISALLOW_COPY_AND_ASSIGN
如果一个名字对应多种行为而导致含糊,最好拆分为多个。
run_locally -> extra_logging && use_local_database
如果一个变量有什么重要的事情需要读者必须知道,那么值得把额外的词添加到名字中。
id -> hex_id
如果名字代表一个度量的话,最好把名字带上它的单位。
这种给名字附带额外信息的技巧不仅限于单位。如果人们误解名字之后会容易产生缺陷的时候,也应该采用。
elapsed -> elapsed_ms
password -> plaintext_password
comment -> unescaped_comment
名字的长短和它如何被使用有关系。
在一个小的作用域里面可以使用较短的名字,而在一个较大的作用域中,名字需要包含足够的信息。
使用编辑器的补全功能
使用项目所特有的缩写词非常糟糕。
经验原则是:团队新成员是否能理解这个名字的含义?如果能,那可能就没有问题。
如果名字中某些单词可以拿掉而不会损失任何信息,应该果断丢掉。
ConvertToString -> toString
DoServerLoop -> ServerLoop
利用名字的格式来传递信息。
下划线,连字符和大小写的方式。如 CamelCase 表示类名,snake_case 表示变量名,UPPER_CASE 表示宏名。
自定格式规范使名字包含更多信息
比如当调用 JQuery 库时,返回结果加上 $ 作为前缀。无论使用何种规范,在你的项目中要保持一致。
评论(0)