我理解的Clean代码 - macerub


什么是清洁代码?正如鲍勃大叔清洁代码书中说:清洁代码的定义可能与程序员一样多。
首先,我最喜欢的一位著名作家的话是:“干净的代码读起来就像写好的散文”(@Grady_Booch)。简短的句子说明了一切。干净的代码应该和读一本好小说一样愉快。名字已经透露,流程很简单。清洁代码讲述了一个故事。
干净的代码就像一幅好画。当您看一幅好画时,即使您不是画家,也知道它是好东西。干净的代码感觉一样。很高兴阅读。有序而优雅。一切都在这里是有原因的。它使你微笑。
干净的代码很简单。它是如此简单,以至于作者看起来并不聪明。但是,很明显,该代码是由努力的人编写的。简单不容易。干净的代码总是看起来像是由对自己的工艺充满热情的人编写的。
干净的代码集中。简而言之,它做一件事并且做得很好。目的很明确。没有歧义。它没有意外和意外的副作用。如果您调用“ fillComboBox”,您将知道该方法不会无意间修改文件。
清洁代码讲的是问题,而不是解决方案。它讲述了要解决的问题的故事。它处于正确的抽象级别。它使用最少的“计算机化”术语。

清洁原则密切关注细节:

  • 错误代码是有意义的。
  • 错误处理是明确的。
  • 变量名和函数名是一致的。
  • 没有内存泄漏。
  • 没有棘手的构造。
  • 抽象是表达性和有用的。

清洁代码没有散发坏味道:

  • 它不是刚性的。很容易改变。
  • 它不是固定的。您可以轻松地重用它。
  • 它不是不透明的。很容易理解其意图。
  • 它并不脆弱。您可以在不引入意外错误的情况下进行更改。

全面而有意义的测试套件涵盖了干净的代码。无论今天的代码多么干净。如果没有测试,则无法自信地进行重构。这意味着代码最终将变得不干净。
但是,为什么要让代码干净?代码被读取的次数远远大于其被写入的次数。倾向于以牺牲可读性为代价而使编写速度更快的解决方案或技术是没有道理的。

快速前进的唯一方法就是前进

呼吁软件公司人事:停止寻找刷油漆的专家。寻找优秀的艺术家。将精力集中在寻找可以编写干净代码的软件工程师上。