1773845236
2026-03-18 09:59:00
- ルール1。 プログラムがどこに時間を費やすかはわかりません。ボトルネックは意外な場所で発生するため、ボトルネックがどこにあるのかを証明するまでは、考え直してスピードハックを導入しないでください。
- ルール2。 測定。測定が完了するまで速度を調整しないでください。また、コードの一部が残りの部分を圧倒しない限り、速度を調整しないでください。
- ルール3。 派手なアルゴリズムは、n が小さいと遅くなり、通常は n が小さいです。派手なアルゴリズムには大きな定数があります。 n が頻繁に大きくなることがわかるまでは、あまり派手に考えないでください。 (n が大きくなる場合でも、最初にルール 2 を使用してください。)
- ルール4。 派手なアルゴリズムは単純なアルゴリズムよりもバグが多く、実装がはるかに困難です。単純なアルゴリズムと単純なデータ構造を使用します。
- ルール5。 データが支配します。適切なデータ構造を選択し、物事をうまく整理していれば、アルゴリズムはほとんどの場合自明になります。プログラミングの中心となるのはアルゴリズムではなくデータ構造です。
パイクのルール 1 と 2 は、トニー ホアの有名な格言「時期尚早の最適化が諸悪の根源である」を再度述べています。
ケン・トンプソンは、パイクのルール 3 と 4 を「疑わしい場合は強引に使え」と言い換えました。
ルール 3 と 4 は、設計哲学 KISS の例です。
ルール 5 は、フレッド・ブルックスが『The Mythical Man-Month』で以前に述べたものです。ルール 5 は、「スマート オブジェクトを使用する愚かなコードを作成する」と短縮されることがよくあります。
#ロブパイクのプログラミングの #つのルール