
074
●
ほとんどの場合に価値があるものである
●
学ぶのが容易である。教えるのが容易である
●
実施がシンプルである。考えなくてもやれるくらいシンプルである
こと
同書で紹介されるプラクティスの中から、CLEANコードについて取
り上げたいと思います。
CLEANコード
それぞれの頭文字を取るとCLEANとなる、五つのコード品質
※8
を
満たすようなコードを目指し、ソフトウェアの内部品質を高めようとい
うのがCLEANコードのプラクティスです。
●
Cohesive(凝集性)
●
Loosely Coupled(疎結合)
●
Encapsulated(カプセル化)
●
Assertive(断定的)
●
Nonredundant(非冗長)
ソフトウェアにおける凝集性とは、コンポーネントやモジュールに含
まれる構成要素の関連度合いやまとまり具合を指します。必要なものが
ぎゅっとまとまっていて、余計なものは含んでいないというイメージで
す。凝集性が高いコードは、密接に関連し合った構成要素の集まりが単
一の責任を果たします。つまり、SOLIDのSRPと関連性の高いコード
品質です。
疎結合とは間接的な依存を指し、オブジェクト指向設計では抽象クラ
スやインターフェースを使って実現します。SOLIDのOCPは抽象に
よって拡張性をもたらす原則でした。
カプセル化とは、クライアントが関心を持たない詳細を隠すことで
す。クライアントが求めること(What)とその実現方法(How)を切