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

【POP83】パフォマンスチューニングの箴言

はじめに

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

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

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

What : 「速い」コードよりも「よい」コード

パフォーマンスチューニングとは速いコードを書くことです。「最適化」とも言われます。

最適化は最初に考えるタスクではありません。プルグラミングにおいてはまず、速いコードよりも「正しい」「読みやすい」を主眼においたコードを書くように心がけます。

Why : 最適化は割に合わないから

最適化にはトレードオフがあります。「何か」を失います。具体的には以下のものを失います。

・可読性の低下

最適化は必ずわかりにくくなります。それは達成したい課題を直接できでない方法で解決するからです。

短縮させる方法、書き方はどの言語にも存在しますが確実に意図が伝わりにくくなり醜悪で処理の流れを辿るのが困難です。

・品質の低下

最適化は品質も低下させます。アルゴリズムの流れが明瞭でないコードは障害を見逃しやすくなります。最適化は欠陥をコードに追加する最も確実な方法です。

・複雑性の増大

最適化はモジュール間の依存性を強めて結合度、複雑性の増大を招き、結果としてよいコードから遠ざかります。

・保守の阻害

最適化は保守も困難にします。不具合の発見が困難になり、処理の流れを追いにくくなります。また前提条件を多く課すことに唾がり拡張性も阻害してしまいます。制限の多いコードとなってしまいます。

・環境間の競合

最適化は環境特有のものが多いです。ですので環境に依存した最適化はそれ以外の環境での実行速度が遅くなります。

・作業量の増大

最適化は仕事を増やします。プログラマはやることがたくさんあります。最適化をする以上にするべきことが必ずありますので、もっと優先順位の高い作業をするべきです。

How : まず「よいコード」を書こう

まず、まず、まず最初に「よいコード」を書きましょう。よいコードの定義は【POP24】情報隠蔽の原則で解説しています。

手間をかけるに値しない場合やコスト的に割りの合わない作業も少なくありません。しっかり比較しながら優先順位を考慮してやるべきことを決めていきましょう。

終わりに

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

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

次回、「【POP83】エゴレスプログラミング」です。ぜひ、次の記事も読んでみてください。

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

ミッチー

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

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

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