はじめに
この記事は「プリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則」を読んだ際に記した議事録です。
著作権の関係により、詳細には書きません。詳しい詳細を知りたい方はぜひ本書を読んでみてください。
プリンシプルオブプログラミングをPOPと訳します。
What : コードの変更が楽ちん
コードにおいて柔軟性=変更の容易さです。
新しくコードを追加する際に、他のコードが影響されることなくスムーズに受け入れられること、追加したコードが壊れることなく、受け入れられることの両方をイメージして「柔軟」という表現が使われています。
Why : コードは変更されるから
コードはいずれ変更されます。
ソフトウェアはリリースしたから完成すると言ったものではありません。障害を修正し、機能を変更、追加してユーザーに継続的に役に立ち続けることが一番大事であり、そのために「保守作業」が生まれます。
保守作業の効率性をあげるためにコードの変更の容易さは必要な条件です。
How : コードの拡張性をあげる
保守作業の効率性をあげるために大事なこと、柔軟性を高めるために大事なことは「拡張しやすく、且つ拡張が他のコードに波及しないような設計」を心がけることです。
柔軟性は「諸刃の剣」です。変更が容易であることはいいことでもありますが同時に複雑性を正当化するための理由にもなってしまいます。シンプルなコードが大前提で柔軟性を考えていかなければなりません。
そのためには、大事なことは「即効果のあるコード以外は書かない」です。「凝った設計からトップダウンで得られる効果」よりも「シンプルからスタートして徐々に変えていきボトムアップ的に得られる柔軟性」の方が大切です。
諸刃の剣
相手にとっても打撃を与えるが、それと同程度の攻撃を自分にもお堪える恐れがあることのたとえ
終わりに
この記事ではプリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則の議事録を自分用に記しています。
この記事ではカバーしきれていない部分も多いので、是非本書を手にとって読んでみてください。
次回、「【POP14】プログラミングのセオリー③柔軟性」です。ぜひ、次の記事も読んでみてください。