좋은 코드, 나쁜 코드뒤엉킨 변경(Divergent Change)한 모듈이 여러 이유로 자주 수정되어야하면 복잡해짐다른 맥락의 동작은 다른 모듈로 분리필요에 따라 단계를 나누고 클래스를 쪼개서 만들기좋은 예시: 플레이어 데이터는 PlayerDataManager 클래스에, 게임 플레이는 GamePlayManager 클래스에샷건 수술작은 변경을 위해 여러 곳을 동시에 수정하는 일은 피하자.관련된 것을 한 군데로 모아 수정 범위를 좁힌다.좋은 예시: DamageSystem에서 모든 데미지 로직을 처리한다.기능 편애어떤 함수가 자기 객체보다 남의 객체 기능이나 데이터를 더 많이 쓰지 않도록 하자.남의 객체에서 처리된 데이터만 가지고 오자.좋은 예시: 데미지 감소량을 계산하는데 캐릭터의 데이터가 많이 필요한 경우..