プリンシプルプログラミング プログラミング

【POP62】UNIX思想(15)最適化の原則について

はじめに

この記事は「プリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則」を読んだ際に記した議事録です。

著作権の関係により、詳細には書きません。詳しい詳細を知りたい方はぜひ本書を読んでみてください。

プリンシプルオブプログラミングをPOPと訳します。

What : 早いコード < 正しいコード

プログラミングにおける最適化とはパフォーマンスチューニングを行うことです。マシンリソースの使用を効率化することです。

Why : 早期段階での「速いコード」は設計を破綻させるから

正しいよりも最適化を目指すと、設計を台無しにして以下のような障害を引き起こします。

・透明性や単純性が損なわれる
・目先の最適化を取る代わりに、全体の最適化の妨げになる。

How : 一に正しさ、二に速さ

まず動かして、正しくしましょう。そして、速くしましょう。「正しい」コードは正しい且つ、単純です。そういったコードは後からの変更が容易にできます。目先の速さを取ろうとして、単純性が損なわれてしまうと後から改善のしようがなくなってしまいます。

発展 : まずプロトタイプを作れ

プロトタイプを作ることは最適化の観点からも良いです。

エンジニアたるものコードを書かないことに徹しましょう。コードを書かないことはパフォーマンスを上げることに貢献します。書いていないコードは最適化する必要もありません。

これらを表した皮肉めいた格言があります。以下の二つです。

「最も強力な最適化ツールは、削除キーである」

「最も生産的な日は、1000行のコードを捨てた日だ」

言うは易しですが、現実で考えると恐ろしいです。

終わりに

この記事ではプリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則の議事録を自分用に記しています。

この記事ではカバーしきれていない部分も多いので、是非本書を手にとって読んでみてください。

次回、「【POP63】UNIX思想(16)多様性の原則について」です。ぜひ、次の記事も読んでみてください。

  • この記事を書いた人
  • 最新記事

ミッチー

小中高と野球漬けの毎日 ▶︎ 大学時に自分が何もできないことに気づき、プログラミング学習開始 ▶︎ PCは疎かったがめげずに継続 ▶︎ 受託で案件を頂きながら、オーダースーツ事業に、通販事業にも参戦 ▶︎ 東証一部Web系自社開発企業にエンジニアとして内定。

-プリンシプルプログラミング, プログラミング

© 2022 オミチャンネル Powered by AFFINGER5