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

【POP76】結合度について〜モジュール間は疎遠に〜

はじめに

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

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

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

What : モジュール間は「疎遠」の方がいい

タイトルにもある「結合度」はモジュール同士の関係値の密接さを表す尺度です。結合レベルは全部で6つに分かれて、数字が大きいほど疎遠で良いモジュールとなっています。

・level1:内容結合

モジュール同士が内容の一部を共有し合っているような結合状態です。変更する際に他のモジュールのことを考えて変装することはとても大変な作業であり、高確率で障害に直結します。

以下のレベルは割愛しますが、本書ではレベル7まで図解で詳しく説明しています。是非読んでみてください。

Why : 相互依存しているモジュールは脆いから

結合が密に行なわれているモジュールは互いに依存してしまい、影響が双方に及んでしまうため脆いです。

片方の変更がもう片方に影響を及ぼしてしまうため、影響範囲が広がってしまいます。また再利用性もなく、モジュールを単独で見ても解読できないことが多く、モジュール単体で見ても理解できないものとなってしまいます。グローバル変数なども極力使わない方が良いです。

How : 低結合モジュールを目指そう

モジュール間の結合度をなるべく下げるため(疎遠にさせるため)にインタフェースはできるだけ低いレベルの結合を目指しましょう。具体的には以下のようにします。

  • データの受け渡しはなるべく引数を使う。
  • データはなるべくグローバル変数におかない。
  • 渡す値によって動作が変わるようなコードは書かない。

終わりに

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

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

次回、「【POP77】直行性について〜コードは独立させる〜」です。ぜひ、次の記事も読んでみてください。

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

ミッチー

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

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

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