臃肿的优化

通常情况下,开发人员会在代码还未执行基本功能,甚至还未创建任何代码时,就试图优化其代码或设计工件,以达到令人发指的程度。这会在生产中迅速产生问题。

在本节中,我想专门讨论与此主题相关的三种反模式:

  • 分析瘫痪

  • 自行车脱落

  • 过早优化

分析瘫痪

简而言之,这就是过度分析战略,以至于进展缓慢,甚至在极端情况下完全停止。这种解决方案不仅会迅速过时,而且可能是在教育不足的情况下制定的,例如,在一次会议上,过度分析的老板试图提前挖掘太深的细节,而不允许他们的开发人员真正做一些研究。

过度分析问题并预先寻求完美的解决方案是行不通的;程序员应该寻求完善自己的解决方案,而不是预先提出完善的解决方案。

分拆

从根本上说,这就是分析瘫痪症可能发生的原因,其基础是一些非常琐碎的决定,例如登录页面的颜色。唯一需要解决的问题就是不要在琐碎的决策上浪费时间。尽可能避免由委员会进行设计,因为大多数人,无论他们认为自己的设计能力有多强,在设计方面基本上都是不称职的。

过早优化

在本节中,到目前为止,我主要是在批评项目经理;没有时间去批评开发人员。通常情况下,开发人员会过早地寻求优化他们的代码,而没有根据教育数据得出结论来指导何时应该进行优化。

编写干净且可读的代码是你的首要任务;然后你可以使用一些优秀的分析工具来确定瓶颈所在。XDebug 和 New Relic 只是其中的一些工具。

然而,有些情况下必须进行优化,特别是在一些长时间的计算任务中,将时间从 O(N2) 减少到 O(N) 可以至关重要。尽管如此,大多数简单的 PHP web 应用程序将无需考虑这个问题。