最近一直在加班,做一家全国 top 10 高校的项目,深深体会了面向领导编程的「快乐」。A 领导看完,需要改动这些东西,添加哪些需求。改完之后,A 给领导 AA 看,需要改动什么,要求今天改完,明天开会给 AAA 看。
最 high 的是,想让 AAA 大领导直接看,把问题都提出来,一次性改完,那是不可能的。
带着这份「快乐」,心里还是惦记着手上那个烂代码的项目,一心就想把它重构好。有缘遇见,善始善终,最好搞出一款开源工具;然后换个起点,刷一波技术栈,开始新的征程。
每每看到这些烂代码,就会想到烂的反面,什么是好代码?好坏代码的评判标准是什么?可维护性、可读性、可扩展性是三个最重要的指标。
如何提高代码的可维护性、可读性、可扩展性?这里就涉及到了代码规范、设计原则、编程风格、设计模式、代码重构。
看了 2 本书,GOF 的《设计模式》、《HEAD_FIRST设计模式》。第一本是设计模式的开山之作,它的诞生比 Java 还早,所以书中例子用了 C 和 Smalltalk 语言编写,桌面应用为主;这次反倒觉得《HEAD_FIRST设计模式》更容易理解一些,吸收更多。
刷了 3 遍《设计模式之美》专栏,梳理的很清楚,且有实战案例,让写出高质量的代码变得有章可循。最大的收获恐怕是,坚持打卡第五名 + 评论点赞 top 3,被极客时间退回了购买专栏的钱(笑晕)。
在学习这块内容的时候,我还思考了一个问题:如何才能记住,并且理解更深刻,融入自己的代码中?
我觉得,仅仅是看书、理解理论、写设计模式的模板代码是不够的,所以我更热衷于在实际的开源代码扒出设计模式的应用,了解了大师们的实战玩法,就可以照猫画虎了。
工作以来,第一次花大精力去完整地、系统地去学习与探索一块知识。感觉最大的收获就是,阅读源码更轻松了,明白了作者为什么这样设计代码的用意。
一图胜千言,我把对这块的探索,都汇总到了脑图里
像这种内功心法,易懂难精,能打出多大的威力,全看个人修为。
想到一个片段,《倚天屠龙记》里,张无忌忘了所有的招式,学会了太极拳,打倒了玄冥二老。代码规范、设计原则、编程风格、设计模式,都是招式,只有学通了这些,忘掉招式,才可以随心所欲,成为真正的高手。
经过 26 年的发展,这块资料,网上多如牛毛,不废话了。
下一站,刷遍全网 Java 面试题...
↓↓ 查看脑图