모두CBT

학사관리시스템에서 파악된 다음 코드 악취를 해결하기 위한 리팩토링 기법… | [7급 국가직 소프트웨어공학] 23년 1회차 기출문제 상세 페이지

1[7급 국가직 소프트웨어공학] 23년 1회차
학사관리시스템에서 파악된 다음 코드 악취를 해결하기 위한 리팩토링 기법은?
○ enrol() 메서드의 코드가 4,000라인이 넘어 가독성이 낮다.
○ study()와 credit() 메서드는 각각 200라인 정도지만, 두 메서드는 100라인 정도가 중복되어 있다.
1
메서드 추출(extract method)
2
위임 숨기기(hide delegate)
3
중개자 제거(remove middle man)
4
클래스 인라인화(inline class)
해설

해결 기법은 메서드 추출(extract method)이다.

지나치게 긴 메서드와 중복 코드는 일부 코드를 별도 메서드로 뽑아내 나누고, 중복 부분을 공통 메서드로 만들어 호출하면 해결된다.

  • 위임 숨기기는 클라이언트가 위임 객체를 직접 호출하지 않도록 중간 메서드를 두는 기법이다.
  • 중개자 제거는 단순 위임만 하는 메서드를 없애고 직접 호출하게 하는 기법이다.
  • 클래스 인라인화는 하는 일이 거의 없는 클래스를 다른 클래스에 합치는 기법이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 소프트웨어공학] 23년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 소프트웨어공학 기출문제 암기장 전체 보기