是否真的有一种解决问题的“最佳”方式?

时间:2009-02-24 17:28:18

标签: theory

我一直在研究很多这些问题,要求采用“最佳”方式来实现这一目标,或者采用“最佳”方式。

  • 一个人最好的方式是每个人最好的方式吗?
  • 是否真的有一种“最佳”方式来执行特定算法或解决问题?

  • 寻找最佳方式而不是以任何方式解决问题有什么危险?

7 个答案:

答案 0 :(得分:4)

杰夫 - 这是我的同事和我回到第四位的事情。他们不断在技术实施和最佳实践方面寻找最佳方式,而作为业务分析师,我更关注交付并解决手头的问题。

这肯定是一个价值主张的问题,我认为它归结为可维护性和性能。如果正在进行更改或代码无法维护或轻松更改,则会成为问题,应重新评估最佳实践。如果有问题的代码是缓慢的并且性能是一个问题,那么它可能应该被修改。

虽然有超过10种方法可以对猫进行换肤或编码算法,但可能不一定是最好的,但几乎总会有更好的和更糟的。查看代码味道的主题,可能是一个很好的起点。

答案 1 :(得分:2)

没有

这是古老的哲学家们的问题。完美不可能存在,好像存在它不会是完美的。由于我们世界的不完美,现实中的任何事物都不会是完美的,风化(自然或人造)会立即发生,使其变得不完美。

最好的不存在。 “更好”但确实“更好”取决于背景。例如。 “对于这种情况,xyz更好”。

权衡取舍就是您要找的词。每个决定都有其权衡取舍,“更好”的权衡取决于您的背景。

答案 2 :(得分:2)

最好的解决方案,其他一切都是平等的,是解决问题的团队能够很好地理解,以便正确实施。

答案 3 :(得分:1)

“最佳”可能意味着计算机编程中的许多事情,例如

  • 最快
  • 最低内存使用量
  • 最简单

即使这些事情也可能意味着许多事情,例如: “最快”可能意味着“最低延迟”或“最高吞吐量”,或甚至可能意味着“最低摊销延迟”,这可能会考虑到该方法的最佳和最差可能情况,以及两者之间的分配。

因此,如果方法的每个方面对于“最佳”及其组成部分的所有可能定义都是最佳的,那么是的,有一种最佳方法。但除了最简单的情况之外,这种情况非常罕见。

答案 4 :(得分:0)

应评估解决方案的所有替代方案,并且所选择的解决方案应该是涵盖所有最低价格要求的最佳解决方案。 一个人的最好不是另一个人最好的。

答案 5 :(得分:0)

对于任何合理的复杂问题,你得到的解决方案可能是最好的,具体视具体情况而定但是

在许多情况下,有一个最佳的默认解决方案应被视为最佳解决方案,直到您了解不是这种情况的原因。

示例:有数百种方法可以对集合进行排序。但是如果你对这个问题没有更多的了解,api提供的方法就是一个很好的猜测。

答案 6 :(得分:0)

我认为他们都意味着“在这种情况下最好”,当然没有普遍的最好。如果有的话,它只是等待下一个最好的方式出现并取而代之!