大龄程序员必看经典技术书《重构(第2版)》
《重构:改善既有代码的设计》的作者是著名的马丁·福勒(Martin Fowler),他是一位世界级软件开发大师,也是ThoughtWorks的首席科学家。这本书是第2版,20年前出的第1版就已经在行业内相当有名了。 大家在看《设计模式》之前,优先看《重构》这本书并进行实践。 无论是做前端、后端,还是算法推荐、运维,这本书都能够有很大的收获,是一本必看的经典技术书。 我们绝大多数程序员,在项目开发的过程中,代码写着写着发现,每天都在写增删改查这样的重复体力劳动,在技术上没有任何可以提升的地方,这样就陷入了一个迷茫期。 在豆爸的职业生涯中,虽然很少有机会需要从零开发项目,大多数情况要么是接手别人的代码继续开发,要么是进行维护性开发。但是,即使我们在开发最简单的业务项目,和最基础的对表单增删改查操作,还是有相当多的软件开发过程中值得去改进和提升的。 这是因为我们在开发一个项目时,不是简单的把功能完成就没事了。对代码的质量好坏更多的体现在对核心的需求实现上。
- 代码的可读性:我们要在编写代码的过程中消除代码的各种“坏味道”。在前面的2个章节,就是在讲要怎么样编写来提升代码的可读性。我建议结合代码规范来学习。
- 代码的健壮性:如果我们在开发一个表单的功能时,只要信息能够输入进去,数据能够按筛选条件查询出来,就认为开发完成了。而更完整的开发应该是做好各种边界和参考完整性检查,做好各种异常捕获的操作,以确保用户在做任何输入时,整个应用程序不会崩溃。如果我们把基础的功能实现,代码量可能就一百多行,而要完整实现健壮性,就有可能写上千行代码才可以。
- 代码的可维护性:当项目代码部署到生产环境后,我们发现,在运行态是没办法实时进行排查、调试的。因此,我们应该考虑怎么样在开发阶段打印出相关的log日志,和打印出相关的排查信息。以便于在运行态的时候通过这些日志和排查的信息进行分析出,到底是在哪里出现了异常、在哪里出现了性能问题。在解决了上述的这几点之后,接下来就应该考虑下一个问题:
- 代码的可复用性:有哪些共用的函数或方法可以从代码中抽象出来,然后构成一个可复用的类。这就是提升代码中可复用性的关键点。如果我们工作了几年,仍经常去做大量的复制粘贴的操作,那就说明缺乏最基本的可复用性的编程思想。当有了上述的重构点,就会自然的过渡到最后一个点:
- 代码的可扩展性:就是我们在编程开发的过程中,怎样更好的适应业务需求的变更,怎样确保整个应用程序的可扩展性。这一点是从重构转移到设计模式上了。
因此,学习《设计模式》就是通过面向对象编程,来实现整个应用程序面对需求的可扩展性。比如说,假如我们不会应用一些设计模式的思想,去开发了一些接口的抽象。那么当需求出现了变更后,我们会发现整个项目中,有几十个类文件都要进行相应的修改。而在我们基于设计模式的思想,就会发现我们原来相关的代码和类文件,并不需要都去修改。可以通过相应增加额外的派生类来实现。这就是最关键的点:基于面向对象编程的思想来实现软件本身的代码可扩展性。
综上所述,都是我们编写出高质量代码的关键点。这些内容都在《重构:改善既有代码设计(第2版)》书中可以找到!给出了相关的参考思路和实现。
有关键情节透露