[2021년 정보시스템감리사][소프트웨어공학] 41번

41. 문제를 일으킬 가능성 때문에 리팩토링(refactoring)이 필요한 코드는 ‘악취(bad smell)’가 있다고 표현한다. 다음 설명에 가장 적절한 코드 악취(bad smell)는?

  • 변경을 할 때마다 많은 클래스를 조금씩 수정해야 한다.
  • 변경해야 할 것이 여러 군데 널려 있기 때문에 찾기도 어렵고 변경해야 할 중요한 사항을 놓치기도 쉽다.


① 기능에 대한 욕심(feature envy)

② 데이터 덩어리(data clump)

③ 산탄총 수술(shotgun surgery)

④ 확산적 변경(divergent change)











[해설]

▣ Refactoring - Bad Smell - Shotgun surgery

  • 변경을 할 때마다 많은 클래스를 조금씩 수정해야 한다.
  • 변경해야 할 것이 여러 군데 널려 있기 때문에 찾기도 어렵고 변경해야 할 중요한 사항을 놓치기도 쉽다.
  • 반대 상황 smell : Divergent Change
  • 해결 refactoring 방법 : Move Function, Move Field, Combine Functions into class, Combine Functions into Transform, Split Phase, Inline Function, Inline Class

댓글

이 블로그의 인기 게시물

영리목적의 마케팅 정보를 전송하기 위한 개인정보 처리 조치