高质量代码
Last updated
Last updated
大部分程序员熟悉编程语言、开发工具和开发框架,日常工作就是使用框架,根据业务需求填充代码。其实,这样的工作并不需要我们具备很强的代码设计能力,只要理解业务并将业务翻译成代码就可以了。
然而,当我们要开发一个与业务无关的通用功能时,要让代码既可用又好用,就需要有代码设计方面的知识储备和经验积累了。此外,作为程序开发的基本功,代码设计相关的知识不仅能让我们轻松地读懂开源项目,还能帮助我们了解代码中的技术精髓。
设计原则和设计模式的初衷都是为了提高代码的质量,需重点理解它们的原理(设计初衷+定义+实现)、能解决哪些问题、有哪些应用场景。要看懂、会用、用好,如果理解得不透彻,反而会适得其反(过于教条主义,拿原则当真理,生搬硬套)。设计模式的设计结果(类和对象之间的关系)可以用 UML 来表示,但我们还必须同时清楚设计产生的决定过程、选择过程和权衡过程。
实战设计原则和模式时,就看我们能否写出易读、易扩展、易维护的高质量代码,因为最终目的都是提高代码的可读性、可扩展性、复用性、可维护性等。所以在考虑用某个设计原则/模式是否合理时,可以以此作为最终的考量标准。此外,程序设计语言的选择也比较重要,因为它将影响我们理解问题的出发点。
建立正确的技术认知和技术观,比单纯地学技术和知识点重要得多。我们可以先建立整体的知识框架,再慢慢深入、各个攻破。
手写常用的设计模式是偏记忆的,往往考察不出来真正的代码设计和实现能力。因此,可以给一个功能需求,让做代码设计和实现,然后不断优化(开放题,需要交流讨论明确需求,就和日常工作中的交流一样)。也可以进行 Code Review,找出代码存在的问题,然后做代码重构。