
나쁜 디자인의 다양한 징후와 증상
| 이름 | 증상 | 
|---|---|
| 경직성 (Rigidity) | 시스템이 변경하기 어렵다. 한 가지를 변경할 때마다 끝없는 연속적인 변경이 필요하다. | 
| 취약성 (Fragility) | 시스템의 한 부분을 변경하면 다른 여러 관련 없는 부분이 깨진다. | 
| 부동성 (Immobility) | 다른 시스템에서 재사용할 수 있도록 시스템을 구성 요소로 분리하기 어렵다. | 
| 점착성 (Viscosity) | 설계에 맞는 코드를 추가하는 것보다 임시방편으로 코드를 추가하는 것이 더 쉬운 경우 점착성이 높다 | 
| 불필요한 복잡성 (Needless Complexity) | 현재는 필요하지 않지만 언젠가는 유용할 수 있는 복잡한 코드 구조가 많다. | 
| 불필요한 반복 (Needless Repetition) | 코드를 마치 '복사 및 붙여넣기'를 사용하여 두 명의 프로그래머가 작성한 것처럼 보인다. | 
| 불투명성 (Opacity) | 원 작성자의 의도를 이해하는 것이 표현의 복잡성과 관련된 특정 어려움을 수반한다. |