“作者简介: 常柱,微信公众号【架构未来】作者,十多年一线互联网研发从业经验;前五八同城商业会员技术负责人,宝驾租车技术总监,现58 到家业务中台技术负责人。
好的软件设计最重要的元素之一是在处理编程任务时采用的思维方式。许多组织鼓励一种战术心态,专注于让特性尽可能快地工作。然而,如果你想要一个好的设计,你必须采取一种更有策略的方法,投入时间来产生干净的设计并解决问题。本章讨论了为什么战略方法可以产生更好的设计,并且从长远来看实际上比战术方法更便宜。
3.1 战术的编程
大多数程序员使用一种我称为战术编程的思维方式来进行软件开发。在战术方法中,您的主要关注点是让某些东西工作起来,比如一个新特性或一个 bug 修复。乍一看,这似乎是完全合理的:还有什么比编写有效的代码更重要呢?然而,战术规划使它几乎不可能产生一个良好的系统设计。
战术编程的问题在于它是短视的。 如果你在战术上编程,你是在试图尽快完成一项任务。也许你有一个艰难的最后期限。因此,规划未来并不是优先事项。你不会花很多时间去寻找最好的设计;你只是想尽快开始工作。你告诉自己,如果可以让当前的任务更快完成,增加一点复杂性或者引入一两个小的封装是可以的。
这就是系统变得复杂的原因。如前一章所述&#x