最近在看《重构:改善既有代码的设计》(后面简称《重构》),了解到一个写出好代码的思路。在说这个话题前,好代码是什么样子,可扩展性高,可复用性高,功能内聚,代码解耦。什么意思呢?我用搭积木来举例:扩展性高就是想要在搭好的积木增加一点功能,可以很简单,很方便的实现;可复用性高就是用积木做的一个小单元,比如乐高积木的一些小零件就是可复用性的代表;功能内聚就是积木都在内部发生作用,比如,我上次拼装乐高汽车,这个车能够在用力一推下向前走,而我在外面是看不到这个功能怎么实现的(当然我在拼的时候知道)。代码解耦就是积木模块之间依赖关系并不大,比如,乐高积木中有一个凤凰站在枝头的,这里面凤凰和树之间的依赖关系