Skip to content

Instantly share code, notes, and snippets.

@euske
Last active April 28, 2023 04:29
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save euske/4eb7261a4237b3349ae59ce3d95add0e to your computer and use it in GitHub Desktop.
Save euske/4eb7261a4237b3349ae59ce3d95add0e to your computer and use it in GitHub Desktop.
Rob Pikeのプログラミング五原則

Rob Pike のプログラミング五原則:

http://users.ece.utexas.edu/~adnan/pike.html

原則1. プログラムのボトルネックはしばしば思いもかけない場所に現れ、あらかじめ予測することはできない。なので証拠もなしに高速化しようとしないこと。

原則2. 計測せよ。計測せずに高速化してはならない。

原則3. 複雑なアルゴリズムは普通定数部が大きく、nが小さいときには役に立たない。nが十分に大きいと確信できるまで複雑なアルゴリズムは使わないこと。(その場合も、原則2を適用すること)

原則4. 複雑なアルゴリズムは単純なものよりも実装しにくくバグも入りやすい。単純なアルゴリズムとデータ構造を使うこと。

原則5. 世の中はデータが支配している。正しいデータ構造を整理されたやり方で使えば、ほとんどの場合アルゴリズムは自明である。プログラミングの中心はアルゴリズムでなくデータ構造だ。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment