原文jeffpsherman - 2024.04.08

在软件领域,如同在制造业,有些问题是由于 bug 或“特殊原因”引发的,而有些则是“常见原因”,这是由于系统设计和实现的性质所导致的。修复 bug 就是移除特殊原因,消除 bug 可以极大地提升软件质量,但它并不会影响“常见原因”问题。

我遇到的一些“常见原因”导致软件的性能问题,包括:

  • 软件位于“云端””,但实际上它只在美国的一个数据中心。因此,对欧洲和亚洲的客户来说,软件运行缓慢且延迟很大。
  • 软件运行缓慢是因为硬件配置不足。
  • 软件运行缓慢是因为向用户发送了大量不必要的数据。
  • 软件运行缓慢是因为数据访问模式低效(比如,数据库索引设置不合理)。

即使没有 bug,“常见原因”问题也可能导致软件质量低下。

要摆脱这个问题,我们需要以解决 bug 的热情来解决系统设计和实现问题。