我经常听到的一种思想是提前测试,经常测试,可能是可用性测试或任何其他类型。
另一种声明,通常也被认为是真实的:过早优化是万恶之源
这让我有点困惑。我应该早点测试吗?如果我找到并解决问题,那是优化吗?还为时过早吗?我应该只是使用早期测试来识别问题,然后再修复它们吗?
请就这些陈述提供一些指导。
我如何知道我是否过早优化?
答案 0 :(得分:1)
过早优化可能意味着您应该修复设计和/或编码问题'在早期阶段。如果您等待这一点,将添加更多代码,并且更复杂(并且至少耗费时间)来改善这些问题。
结果是你 - 作为积极的副作用 - 减少错误的数量,不仅通过优化,而且稍后。
您知道在改进结构(代码或设计)时过早优化,而不更改功能。为此,可以使用回归测试:
Run tests, all should be ok
Improve code/design
Run tests, all should be ok
当然,这只有在你进行了非常好的回归测试时才有效。
如果您的意思是性能优化,这是完全不同的,我建议不要进行任何性能优化,除非您遇到性能问题,或者您事先知道性能可能是个问题。如果最后一种情况属实,它应该是设计的一部分。