1.4 小结
健壮的代码很重要,整洁的代码也很重要。你的代码需要在代码库的整个生命周期内都是可维护的,为了确保如此,你需要对你正在沟通的内容和方式进行积极的预见。你需要尽可能将你的知识清晰地体现在代码中。不断向前看感觉像是一种负担,但是随着实践的进行,它会变得很自然,当你在自己的代码库中工作时,你就会开始收获好处。
每次你将真实世界的概念映射到代码中时,无论是通过使用集合还是决定保持函数的独立性,你都是在创建一个抽象。每一个抽象都是一种选择,每一个选择都传达了一些东西,无论有意或无意。我鼓励你思考正在编写的每一行代码,并问自己:“未来的开发人员将会从中学到什么?”你应该让未来的维护人员能够以与你今天相同的速度交付价值。否则,你的代码库将会变得臃肿,进度将会下滑,复杂性将会增加。作为开发者,你的工作就是降低这种风险。
寻找潜在的麻烦点,如错误的抽象(集合或迭代)或偶然的复杂性。随着时间的推移,这些都是沟通可能会中断的主要区域。如果这类麻烦点的区域经常发生变化,那么现在就应该优先处理它们。
在第2章中,你将把本章的内容应用到一个基本的Python概念——类型中。你选择的类型向未来的开发人员表达了你的意图,选择正确的类型将带来更好的可维护性。
[1]Charles Antony Richard Hoare.《皇帝的旧衣》。ACM 24, 2(1981年2月),75-83.https://doi.org/10.1145/358549.358561.
[2]牦牛递须(yak-shaving)指开始解决最初的问题之前,你必须经常解决不相关的问题。
[3]Geoffrey James. The Tao of Programming.https://oreil.ly/NcKNK.
[4]当被观察时,会显示不同的行为的bug。SIGSOFT'83:Proceedings of the ACM SIGSOFT/SIGPLANsoftware engineering symposium on High-level debugging.