はじめに
この記事は「プリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則」を読んだ際に記した議事録です。
著作権の関係により、詳細には書きません。詳しい詳細を知りたい方はぜひ本書を読んでみてください。
プリンシプルオブプログラミングをPOPと訳します。
What : 拡張が容易な設計にする
前回の記事で「ソフトウェアにおいて唯一の正しい方法はない」と言いました。自分の設計が正解、正しいと考えることは危険です。
ですのでコードはいついかなる時も成長の余地を残した設計をしなければなりません。「拡張に開いて、修正に閉じた設計(OCP)」です。
Why : ソフトウェアは成長しなければならないから
ソフトウェアは常に成長します。ユーザーの意向によってなのか、世の中の変化によってなのかはわかりません。ですが作って終わりのソフトウェアは存在しません。
そして最初の設計が完璧であるとも限りません。ユーザーの要望は変化し、且つ増えてゆきます。永く使われるソフトウェアは継続して成長しなければなりません。そして、そのためには拡張が容易なように設計しなければなりません。
How : プラガブルな設計
プラガブルな設計とは多様なものと接続可能な設計のことです。
拡張のために接続部分を柔軟なものにしてプログラム中に「〜が必要になったら〜」と言うコメントを残しておきます。後から見た人が理解しやすいようにするためです。将来そのコードに関わるのは誰かはわかりません。自分かもしれません。将来を見据えた設計をしておけば、コードに関わる人の負担を減らすことができます。
しかし、自分の憶測で追加していったものはかえって複雑性を増すだけになる可能性があるので注意が必要です。
終わりに
この記事ではプリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則の議事録を自分用に記しています。
この記事ではカバーしきれていない部分も多いので、是非本書を手にとって読んでみてください。
次回、「【POP65】UNIX哲学」です。ぜひ、次の記事も読んでみてください。