はじめに
この記事は「プリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則」を読んだ際に記した議事録です。
著作権の関係により、詳細には書きません。詳しい詳細を知りたい方はぜひ本書を読んでみてください。
プリンシプルオブプログラミングをPOPと訳します。
What : 「UNDO」可能な選択をする
UNDO可能すなわち可逆的な選択のことです。元に戻すことができるということです。プログラミングにおいて判断を下すときは常に可逆的な判断を下します。
問題解決においては一つの解決策が永続的に通用するとは限りません。刻々と変化している世の中の影響を受けるソフトウェアは常に柔軟で適応性のある可逆的なコードにしておく必要があります。こうすることでリスクを最小化・局所化することができます。
Why : 最終決定などないから
上記でも書きましたが世の中は刻々と変化し続けます。ですので最終決定は存在しません。最終決定だからと何かに大きく依存して不可逆的なコードを書いてしまうと、変更があった時に関わるもの全てが破綻します。
破綻してしまうと甚大な損害を被ることになるので常に可逆的な選択をします。
How : 特定の技術に依存しないようにしよう
変更に耐えうるため、あらゆる問題に対処できるような設計にしましょう。
そのためにはコードに柔軟性を持たせます。特定の技術に依存せず、独立して変更させやすい状態にしましょう。人間は常に正しい選択をするというのはできません。ですので決定の変更にコードが対応できるように可逆性を考慮して抽象化していれば現実的な工数を削減することができます。
しかし、完璧な予測が不可能な未来を予測してやりすぎたコードは複雑になりかねません。ですので、リスク発生時のインパクトや発生確率を考慮してバランスのいい設計にすることを心がけます。
壺の中に何を入れますか?でもあるように優先順位、バランスを考えて設計、選択をしていきましょう。
終わりに
この記事ではプリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則の議事録を自分用に記しています。
この記事ではカバーしきれていない部分も多いので、是非本書を手にとって読んでみてください。
次回、「【POP79】コードの臭い」です。ぜひ、次の記事も読んでみてください。