-
Couldn't load subscription status.
- Fork 0
Code smell
pamiers edited this page Jan 16, 2019
·
6 revisions
- 한 곳 이상에서 중복된 코드 구조가 나타난다면, 그것을 합쳐서 프로그램을 개선할 수 있다.
- Extract Method
- 메소드에 파라미터와 임시변수가 많다면 Extract Method드 하기 힘듬.
- 최대한 파라미터와 임시변수를 제거하고 그것도 힘들다면 Object를 생성하자
- 클래스 하나가 많은 일을 하려 할 때, 지나치게 많은 인스턴스 변수가 나타난다.
- 이는 중복된 코드가 존재할 확률이 높다.
- 거대하다는 건 많은 책임을 가지고 있다는 의미.
- 클래스 내에서 서로에게 의미가 있는 변수를 골라서 묶는 작업을 하자.
- 긴 파라미터 리스트는 이해하기 어렵다.
- 다른 데이터가 필요할 떄마다 고쳐야함.
- 하나의 클래스가 다른 이유로 인해 다른 방법으로 자주 변경되는 경우
- 하나의 클래스가 여러 책임을 가지고 있기 때문임.
- 변경을 할 때마다 많은 클래스를 조금씩 수정해야 하는 경우.
- 변경해야 할 부분을 하나의 클래스로 몰자.
- 메소드가 자신이 속한 클래스보다 다른 클래스에 관심을 가지는 경우
- 어떤 값을 계산하기 위해 get 메소드를 호출하는 경우, 위임하는 것이 적절하다고 볼 수 있다.