2009-02-24 53 views
1

我一直在寻找很多这样的问题,要求采取“最好”的方式来做到这一点,或者“最好”的方式来做到这一点。真的有解决问题的“最佳”方法吗?

  • 一个人的最佳方式是使每个人的最佳方式吗?
  • 真的可以有一个“最好”的方式来做一个特定的算法或解决问题?

  • 寻找一种最好的方式,只是在任何方式解决问题的方式有什么危险?

+0

很高兴在一个标题中看到“问题”和“最佳”两个词... – 2013-03-20 13:33:17

回答

4

杰夫 - 这是我的同事和我回头和第四。他们一直在研究技术实施和最佳实践方面的最佳方法,而作为业务分析师,我更关注交货并解决问题。

这当然是一个价值主张的问题,我认为这归结于可维护性和性能。如果所做的更改或代码不可维护或不易更改,则会成为问题,应该重新评估最佳实践。如果有问题的代码很慢并且性能是一个问题,那么它可能应该被修改。

虽然有10种以上的方法可以对猫进行蒙皮或代码化算法,但可能并不一定是最好的,但几乎总是会有更好和更糟糕的结果。检查代码气味的主题,可能是一个很好的开始。

2

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

最好不存在。 “更好”但“更好”取决于上下文。例如。 “xyz更适合这种情况”。

权衡是你正在寻找的词。每个决定都有其权衡,而“更好”的权衡取决于你的背景。

0

应对所有解决方案的替代品进行评估,并选择最适合最低价格的解决方案。 一个人的最好不是另一个最好的。

+0

我强烈反对:考虑到所有的替代方法将会花费很长时间。只要考虑为下一个项目选择编程语言即可。即使你将自己的选择限制在少数可能的选择范围内,你也可以选择半打,这可能不会带来任何真正的好处 – 2009-02-24 17:36:33

+0

我并不是这个意思从字面上看,但最好考虑一些替代方案,并在做出选择之前权衡你在桌上的相关选项的利弊。 – 2009-02-25 06:37:15

0

没有任何合理的复杂问题,你得到吨的解决方案,这可能是最好的取决于具体的条件,而是

在许多情况下,应该考虑的最佳解决方案,直到你了解一个最好的默认解决方案这是不是这种情况的原因。

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

2

最好的解决方案,其他所有方面都是平等的,这个团队在这个问题上工作的理解力足以正确实施。

1

“最佳”可以指计算机编程中的许多事情,例如,

  • 最快
  • 最低存储器使用
  • 最简单

即使这些东西可能意味着一些事情,例如“最快”可能意味着“最低延迟”或“最高吞吐量”,或甚至可能意味着像“最低分期延迟”这样的事情,这可能考虑到方法的最佳和最差可能情况以及两者之间的分配。

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

0

我认为他们都是“最好的情况下”,当然没有通用的最好。如果有的话,它只是等待下一个最好的来临,并把它放在一个地方!