
27
2
Spaghetti
パターン
常に、あなたのコードを保守する人が凶暴なサイコパスで、
あなたがどこに住んでいるか知っていると思って、コードを書こう。
̶̶
マーティン・ゴールディング
ソフトウェアを書いて保守することは、エントロピと戦っているようなものです。時間と変更が
十分与えられれば、どんなコードベースであっても、次第に秩序を失っていきます。テストスイー
トはクローズドシステムです。その管理と計画に絶えずエネルギを注がないと、テストスイートは
崩壊していき、失敗することになります。ウェブサイトに新しい機能やコードを追加するというこ
とは、テストスイートを時代遅れにすることなのです。こうした自然の力に抵抗するには、今ある
テストを絶えず更新して、改善していくしかありません。
本章では、テストスイートを組織的に成長させながら、
Spaghetti
ーというアンチパター
ンについて見ていきます。その途中で、
XPath
や
CSS
を使ってウェブページ上の要素を
指定するといった、より基本的なスキルについても取り上げます。
アンチパターンという言葉は、Erich Gamma、Richard Helm、Ralph Johnson、John Vlissi
des による名著『Design Patterns: Elements of Reusable Object-Oriented Software』(Addi
son-Wesley Professional 刊)、邦訳『オブジェクト指向における再利用のためのデザインパター ...