第1章 - 干净的代码

这本书是关于关于如何编写好的代码的编程实践,以及如何将糟糕的代码转化为好的代码。

代码代表了需求的细节,这些细节不能被忽视或抽象化。我们可以创建更接近需求的语言。我们可以创建帮助我们解析和组装这些需求到正式结构中的工具。但我们永远无法消除必要的精确性。

为什么要写糟糕的代码?

  • 你赶时间吗?
  • 你试图“快速”完成吗?
  • 你没有时间做好工作吗?
  • 你厌倦了在同一个程序/模块中工作吗?
  • 你的老板催促你尽快完成吗?

上述理由可能会造成一片无意义代码的沼泽。

如果你说“我稍后再回来修复它”,你可能会陷入LeBlanc定律 “稍后等于永不”。

你是一名专业人士,代码是你的责任。让我们分析以下轶事:

如果你是一名医生,有一个病人要求你停止所有愚蠢的手术前洗手,因为它太耗时间了怎么办?显然病人是老板;然而,医生应该绝对拒绝遵守。为什么?因为医生比病人更了解疾病和感染的风险。如果医生遵从病人的要求,那是不专业的(更不用说是犯罪的)。

同样,程序员屈从于不了解制造混乱风险的管理者的意愿也是不专业的。

也许有时候你想要快速完成以赶上截止日期。唯一的快速方法是始终保持代码尽可能干净。

什么是干净的代码?

每个有经验的程序员都有自己的干净代码定义,但有一点是清楚的,干净的代码是你可以轻松阅读的代码。干净的代码是得到妥善照顾的代码。

在Bob大叔的书中,他说了以下内容:

把这本书看作是对象导师学派干净代码的描述。书中的技术和教导是我们实践艺术的方式。我们愿意声称,如果你遵循这些教导,你将享受到我们所享受的好处,你将学会编写干净和专业的代码。但不要犯错误地认为我们在任何绝对意义上是“正确”的。还有其他学派和其他大师,他们同样有专业主义的主张。你也应该向他们学习。

童子军规则

仅仅编写好代码是不够的。代码必须随着时间的推移保持清洁。我们都看到过代码随着时间的推移而腐烂和退化。因此,我们必须采取积极的角色来防止这种退化。

应用童子军规则是一个好习惯:

总是让营地比你发现时更干净。