代码整洁之道

[toc]

第一章

  1. 开篇第一句话我认为最符合本书主题:“阅读本书有两种原因:第一,你是一个程序员;第二,你想成为更好的程序员。”
  2. “勒布朗法则:稍后等于永不(Later equals never)”。 这句话在我的印象里确实说过 ‘:先这样吧,以后有时间在弄’,然后以后可能在也没弄过了。

第二章

  1. “变量、函数或类的名称应该已经答复了所有的大问题。它该告诉你,它为什么会存在,它做什么事,应该怎么用。如果名称需要注释来补充,那就不算是名副其实。” 也就是说,应该使用有意义的名称(驼峰命名法)来 ‘描述’ 它们。
  2. 做有意义的区分,如果有一个productInfoproductData的类,虽然他们名字不同,但是表示的意思确无区别。
  3. 类名和对象名应该是名词或名词短语,例如:Customer、 WikiPage、Account 或 AddressParser。应该避免使用 Manager、Processor 、 Data 或 Info 这样的类名。类名不应当是动词
  4. 方法名应当是动词或动词短语,如 postPayMent 、 deletePage 或 save 。
  5. 给每个抽象概念选一个词,并且一以贯之。例如,使用 fetch 、 retrieve 和 get 来给多个类中的同种方法命名。
  6. 避免将同一单词用于不同目的。
  7. 代码作者应尽力写出易于理解的代码。应该把代码写的一目了然,而不必让别人禅精竭虑的研究。

第三章

  1. 函数的第一条规则就是要短小。第二条规则是还要更短小
  2. “函数应该做一件事。做好这件事。只做这一件事。” 做好函数拆分非常重要,不仅结构清晰,而且利于函数复用。
  3. 不要害怕长名称。长而具有描述性的名称,要比短而令人费解的名称好。长而具有描述性的名称,要比描述性的长注释好。
  4. 最理想的函数数量是 0 个,其次是 1 个,再次是 2 个,应该尽量避免 3 个参数。
  5. 最好把 try / catch 代码块的主体部分抽离出来,另外形成函数。

第四章

  1. 什么也比不上放置良好的注释来得有用。什么也不会比乱七八糟的注释更有本事搞乱一个模块。什么也不会比陈旧、提供错误信息的注释更有破坏性。
  2. 有些注释掉的代码,其实可以都删掉。
  3. 总的来说,就是只写必要的注释,能够清晰描述的注释。

第五章

  1. 合理的使用空白行分隔代码,能够使代码结构更加清晰,可读性大大增强。
  2. 在赋值操作符 “=” 的两侧加空格,以达到强调的目的。 let a = 1
  3. 不需要在函数名和左元括号之间加空格,因为函数和其参数密切相关,如果隔开,就显得互无关系。
  4. 函数中的参数需要用逗号隔开,表示参数是互相分离的。
  5. 乘法 “*” 之间没加空格,因为乘法具有较高的优先级。 加法和减法之间需要加空格,因为加法和减法的优先级较低。

第七章

  1. 我们可以使用 try/catch/finally 来捕获错误和抛出错误。

  2. 抛出的每个异常,都应当提供足够的环境说明,以判断错误信息的来源和位置。同时应创建信息充分的错误消息,并和异常一起传递出去,在消息中,应包括失败的操作和失败的类型。

第八章

  1. “如果有良好的软件设计,则无须巨大投入和重写即可进行修改”。 这就表示期初项目设计封装的重要性。
  2. 单元测试能够让你的代码可扩展、可维护和可复用。因为有了测试,就不用担心对代码的修改。没有测试,每次修改都有可能带来缺陷。
  3. 一个测试一个断言。或者可以说,单个测试中的断言数量应该最小化。
  4. 整洁的测试包含以下 5 条规则:
    • 快速。测试应该够快,能够快速运行。
    • 独立。每个测试应该相互独立。
    • 可重复。测试应当可以在任何环境中重复使用。
    • 自足验证。测试应当有布尔值输出。
    • 及时。测试应当及时编写。

第十二章

  1. 只要遵循以下规则,设计就能变得“简单”:
    • 运行所有测试
    • 不可重复
    • 表达了程序员的意图
    • 尽可能减少类和方法的数量
  2. 有了测试,就能保持代码的整洁,方法就是递增式地重构代码。测试消除了对清理代码就会破坏代码的恐惧。

第十四章

  1. “编程是一种技艺甚于科学的东西。要编写整洁代码,必须先写肮脏的代码,然后再清理它。”
  2. “就像写作文一样,应该先写草稿,在写二稿,一次又一次地撰稿,最后写出终稿。写出好作文是一个逐步改进的过程。”
  3. “多数新手程序员没有特别认真地遵守这个建议。他们相信,首要任务是写出能工作的程序。只要程序能工作,就转移到下一个任务上,而那个能工作的程序就留在了最后那个所谓能工作的转态。多数有经验的程序员都知道,这是一种自毁行为。”

results matching ""

    No results matching ""