これを行うための「最善の」方法、またはそれを行うための「最善の」方法を求めるこれらの質問をたくさん見てきました。
- ある人の最善の方法は、すべての人の最善の方法になりますか?
特定のアルゴリズムを実行したり、問題を解決したりするための「最善の」方法は本当にあるのでしょうか?
何らかの方法で問題を解決することよりも、最善の方法を探すことの危険性は何ですか?
これを行うための「最善の」方法、またはそれを行うための「最善の」方法を求めるこれらの質問をたくさん見てきました。
特定のアルゴリズムを実行したり、問題を解決したりするための「最善の」方法は本当にあるのでしょうか?
何らかの方法で問題を解決することよりも、最善の方法を探すことの危険性は何ですか?
ジェフ - これは私の同僚と私が何度も繰り返していることです。彼らは継続的にテクノロジーの実装とベスト プラクティスの観点から最善の方法を検討していますが、ビジネス アナリストとして、私は配信と目前の問題の解決に重点を置いています。
これは確かに価値提案の問題であり、保守性とパフォーマンスに帰着すると思います。変更が加えられた場合、またはコードが保守可能でないか、簡単に変更できない場合、それは問題となり、ベスト プラクティスについて再評価する必要があります。問題のコードが遅く、パフォーマンスが懸念される場合は、おそらく変更する必要があります。
猫の皮をむいたり、アルゴリズムをコーディングしたりする方法は 10 以上ありますが、必ずしも最良の方法があるとは限りませんが、ほとんどの場合、より良い方法と悪い方法があります。コードの匂いのトピックをチェックしてください。始めるのに適した場所かもしれません。
いいえ。
それは古い哲学者の質問です。完璧は、あたかも完璧ではないかのように存在することはできません。私たちの世界の不完全さのために、現実のすべてが完全になることはありません.風化(自然または人工)はすぐにそれを不完全にします.
ベストは存在しません。「より良い」はそうですが、「より良い」は文脈によって異なります。EG「このシナリオには xyz の方が適しています」。
トレードオフはあなたが探している言葉です。それぞれの決定にはトレードオフがあり、「より良い」トレードオフはコンテキストによって異なります。
最善の解決策は、他のすべてが等しい場合、問題に取り組んでいるチームが適切に実装できるほど十分に理解しているものです。
「最高」は、コンピュータ プログラミングで多くのことを意味します。たとえば、
そして、これらのことでさえ、多くのことを意味することができます。たとえば、「最速」は「最小のレイテンシー」または「最高のスループット」を意味する場合もあれば、「最小の償却レイテンシー」のようなものを意味する場合もあります。アプローチ、および2つの間の分布。
したがって、アプローチの各側面が「最良」とその構成要素のすべての可能な定義に対して最適である場合、はい、最良のアプローチがあります。しかし、これは最も単純なケースを除いて、非常にまれです。
ソリューションのすべての代替案を評価し、選択したソリューションは、すべての要件を最小の価格でカバーする最適なソリューションでなければなりません。ある人の最高は別の人の最高ではありません。
いいえ、合理的な複雑な問題については、正確な状況に応じて最適な解決策がたくさん得られますが、
多くの場合、そうでない理由がわかるまでは、最善の解決策と見なすべき最善の既定の解決策があります。
例: コレクションをソートする方法は何百もあります。しかし、問題についてそれ以上何も知らない場合は、API が提供するメソッドが適切な推測です。
それらはすべて「状況下での最善」を意味していると思いますが、もちろん万能の最善というものはありません。そして、もしあれば、次善の策がやって来て、その場所を取るのを待っているだけです!