본문 바로가기

Develop/소프트웨어 설계

[리팩토링] 제6장 메서드 정리

반응형

리팩토링 메서드 정리

리팩토링 제6장 메서드 정리

리팩토링의 주된 작업은 코드를 포장하는 메서드를 적절히 정리하는 것이다. 거의 모든 문제점은 장황한 메서드로 인해 생긴다. 장황한 메서드에는 많은 정보가 들어 있는데 마구 얽힌 복잡한 로직에 정보들이 묻혀버린다.

메서드 추출 Extract Method

어떤 코드를 그룹으로 묶어도 되겠다고 판단될 땐 그 코드를 빼내어 목적을 잘 나타내는 직관적인 이름의 메서드로 만들자.

메소드 추출 기법은 제일 많이 사용되는 리팩토링 기법이다. 메서드가 너무 길거나 코드에 주석을 달아야만 의도를 이해할 수 있을 때 코드를 빼내어 별도의 메서드로 만든다. 메서드 추출로 코드의 명료성이 향상되기만 한다면, 메서드명이 추출한 코드보다 길어도 메서드 추출을 실시해야 한다. 메서드가 적절히 잘게 쪼개져 있으면 다른 메서드에서 쉽게 사용할 수 있다. 그리고 직관적인 이름으로 정리하면 더 많은 정보를 읽어들일 수 있게 된다.

메서드 내용 직접 삽입 Inline Method

메서드 기능이 너무 단순해서 메서드명만 봐도 너무 뻔할 땐 그 메서드의 기능을 호출하는 메서드에 넣어버리고 그 메서드는 삭제하자.

리팩토링의 핵심은 의도한 기능을 한눈에 파악할 수 있는 직관적인 메서드명을 사용하는 것과 메서드를 간결하게 만드는 것이다. 그래야 메서드가 더 명료해지고 코드를 알아보기 쉽기 때문이다. 하지만 메서드명에 모든 기능이 반영될 정도로 지나치게 단순한 메서드는 불필요하므로 제거한다.

반응형