<分区>
我经常听到的一个思想流派是早测试,经常测试,可能是可用性测试或任何其他类型。
另一种说法,也被普遍认为是正确的:过早的优化是万恶之源
这让我有点困惑。我应该早点测试吗?如果我发现并解决了问题,那是优化吗?还有,是早熟吗?我是否应该只使用早期测试来识别问题,然后在以后修复它们?
请就这些声明提供一些指导。
我怎么知道我是否过早优化?
<分区>
我经常听到的一个思想流派是早测试,经常测试,可能是可用性测试或任何其他类型。
另一种说法,也被普遍认为是正确的:过早的优化是万恶之源
这让我有点困惑。我应该早点测试吗?如果我发现并解决了问题,那是优化吗?还有,是早熟吗?我是否应该只使用早期测试来识别问题,然后在以后修复它们?
请就这些声明提供一些指导。
我怎么知道我是否过早优化?
最佳答案
过早优化可能意味着您应该在早期阶段修复设计和/或编码“问题”。如果您等待,将添加更多代码,并且改进这些问题将更加复杂(并且至少耗时)。
结果是您 - 作为积极的副作用 - 减少错误的数量,不仅通过优化而且在以后。
当您在不更改功能的情况下改进结构(代码或设计)时,您知道什么时候过早地进行了优化。对于此回归测试,可以使用:
Run tests, all should be ok
Improve code/design
Run tests, all should be ok
当然这只有在你有很好的回归测试时才有效。
如果您指的是性能优化,这是完全不同的,我建议您不要进行任何性能优化,除非您在性能方面遇到问题,或者您事先知道性能可能是一个问题。如果最后一种情况属实,它应该是设计的一部分。
关于testing - 早期测试会导致过早优化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25031524/