
悪い設計を示す、さまざまな兆候や症状です。
| 名前 | 症状 |
|---|---|
| 硬直性 (Rigidity) | システムを変更しにくい状態です。一つ変更するたびに、際限なく連鎖する変更が必要になります。 |
| 脆弱性 (Fragility) | システムの一部を変更すると、ほかの複数の無関係な部分が壊れます。 |
| 移植困難性 (Immobility) | 別のシステムで再利用できるように、システムを構成要素へ切り離すことが困難です。 |
| 粘着性 (Viscosity) | 設計に沿ったコードを追加するより、その場しのぎのコードを追加するほうが容易な場合、粘着性が高いといえます。 |
| 不要な複雑さ (Needless Complexity) | 現在は不要でも、いつか役立つかもしれない複雑なコード構造が数多くあります。 |
| 不要な繰り返し (Needless Repetition) | 二人のプログラマーがコピー&ペーストして書いたかのように見えるコードです。 |
| 不透明性 (Opacity) | 表現の複雑さにより、元の作成者の意図を理解することが難しくなります。 |