9章プラクティス5「CLEAN」コードを作る

「CLEAN」コードはロバート・マーチン(アンクル・ボブ)の書籍『Clean Code:アジャイルソフトウェア達人の技』†1と、ミシュコ・へブリーの『Clean Code Talks』†2へのエールだ。どちらも、クリーンでテストしやすいコードを書くことに興味を持つソフトウェア開発者のための素晴らしいリソースである。

本章では、良いソフトウェアの土台となる5つのコード品質について見ていく。これらはソフトウェア開発の原則とプラクティスの核となるものだ。あとでわかるが、これらはテストのしやすさと極めて関係が深い。

ほんの一握りのコード品質を理解すれば、ほぼすべての優れたソフトウェア開発スキルを判断できるようになる。これらの品質はコード以外の多くの場所で現れる。よくできた小説やおもしろい映画からテレビのリモコンまで至るところで現れるのだ。これらの品質を満たしていれば、ものごとは理解しやすく、明確かつ直感的なものになる。それらを欠いていると、ものごとは厄介で複雑に見えてしまう。私たちの脳は、これらの品質を満たしていると、ものごとを容易に理解できるように作られているのだ。

物やサービスの品質は定性的であることが多いが、それと違って、私たちが議論するコード品質は正確な計測が可能だ。

コード品質は小さなことだが、大きな違いを生む。オブジェクトは、特性が明確に定義されていて、はっきりした責務を担い、実装は隠ぺいされているべきだ。オブジェクトの状態は自分自身が管理し、オブジェクトの定義は一度だけにすべきだ。

これらを名前で表すと以下のようになる。

  • C ohesive (凝集性)
  • L oosely Coupled (疎結合)
  • E ncapsulated ...

Get レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.