草 稿

编写可读代码的艺术

此清单为试用,全部内容在 https://github.com/pragbyte/book-notes

  1. 代码应当易于理解

  2. 代码的写法应当使别人理解它所需的时间最小化。

  3. 就算是需要高度优化代码的领域,还是有办法让代码的可读性更高。

  4. 把信息装到名字里

  5. 选择非常专业的词,尽量避免使用空泛的词。清晰和精确比装可爱要好。

  6. 用具体的名字代替抽象的名字,让人容易理解这段代码对应的行为。

    ServerCanStart -> CanListenOnPort

    DISALLOW_EVIL_CONSTRUCTORS -> DISALLOW_COPY_AND_ASSIGN

  7. 如果一个名字对应多种行为而导致含糊,最好拆分为多个。

    run_locally -> extra_logging && use_local_database

  8. 如果一个变量有什么重要的事情需要读者必须知道,那么值得把额外的词添加到名字中。

    id -> hex_id

  9. 如果名字代表一个度量的话,最好把名字带上它的单位。

    这种给名字附带额外信息的技巧不仅限于单位。如果人们误解名字之后会容易产生缺陷的时候,也应该采用。

     

    elapsed -> elapsed_ms

    password -> plaintext_password

    comment -> unescaped_comment

  10. 名字的长短和它如何被使用有关系。

    在一个小的作用域里面可以使用较短的名字,而在一个较大的作用域中,名字需要包含足够的信息。

  11. 使用编辑器的补全功能

  12. 使用项目所特有的缩写词非常糟糕。

    经验原则是:团队新成员是否能理解这个名字的含义?如果能,那可能就没有问题。

  13. 如果名字中某些单词可以拿掉而不会损失任何信息,应该果断丢掉。

    ConvertToString -> toString

    DoServerLoop -> ServerLoop

  14. 利用名字的格式来传递信息。

    下划线,连字符和大小写的方式。如 CamelCase 表示类名,snake_case 表示变量名,UPPER_CASE 表示宏名。

  15. 自定格式规范使名字包含更多信息

    比如当调用 JQuery 库时,返回结果加上 $ 作为前缀。无论使用何种规范,在你的项目中要保持一致。

赞了此轻单

评论(0