Bloaters

Bloaters

블로터(Bloater)는 작업하기 어려울 정도로 엄청난 비율로 늘어난 코드, 메서드 및 클래스를 의미한다. 일반적으로 이러한 류의 냄새는 성능 저하를 초래한다. 일반적으로 이러한 냄새는 곧바로 나타나지 않고, 프로그램이 커지면서 시간에 따라 누적되는 경향이 크다. 특히, 아무도 이를 없애려고 하지 않을 때, 문제는 더 심해진다.

긴 메서드 (Long Method)

하나의 메서드에 너무 많은 코드 라인이 존재하는 경우. 일반적으로 어떤 메서드건 10줄이 넘어간다면 의심을 해보아야 한다.

거대한 클래스 (Large Class)

하나의 클래스가 너무 많은 필드/메서드/코드 라인을 보유한 경우.

Primitive 집착 (Primitive Obsession)

  • 간단한 작업(ex. 통화, 범위, 전화번호의 특수문자열 등)에 있어 작은 객체를 사용하는 대신 primitive를 사용하는 경우
  • 정보 코딩에 상수를 사용(ex. 관리자 권한이 있는 사용자를 참조하는 데 있어 USER_ADMIN_ROLE = 1과 같이 사용)하는 경우
  • 데이터 배열에 사용할 필드 명칭으로 string 상수를 사용하는 경우

긴 매개변수 목록 (Long Parameter List)

하나의 메서드에 3 ~ 4개 이상의 파라미터를 사용하는 경우

데이터 덩어리 (Data Clumps)

때로는 코드의 다른 부분에 동일한 변수 그룹(ex. 데이터베이스에 연결하는데 필요한 파라미터들)이 포함되어 있을 수 있다. 이러한 경우, 이러한 변수 덩어리들은 자체 클래스로 전환되어야 한다.