이 책은 내가 종종 연결하는 책이지만, 여기로 다시갑니다 : Robert C. Martin의 Clean Code , 3 장, "함수".
분명히, 그것은 주 함수에서 적은 코드 줄을 만들 것이지만, 추가 함수 선언이있을 것이므로 클래스에는 클래스가 더 복잡해질 것이기 때문에 좋지 않다고 생각되는 추가 메소드가 있습니다.
+150 줄의 함수를 읽거나 3 +50 개의 줄 함수를 호출하는 함수를 선호합니까? 나는 두 번째 옵션을 선호한다고 생각합니다.
예 , 코드가 더 "읽기 쉬워 질 것"이라는 의미에서 더 나은 코드를 만들 것입니다. 단 하나의 기능을 수행하는 기능을 만들면 유지 관리가 쉽고 테스트 사례를 생성 할 수 있습니다.
또한, 앞서 언급 한 책에서 배운 매우 중요한 것 : 기능에 대해 정확하고 정확한 이름을 선택하십시오. 기능이 중요할수록 이름이 가장 정확해야합니다. 이름의 길이에 대해 걱정하지 마십시오.이 이름을 호출해야하는 FunctionThatDoesThisOneParticularThingOnly
경우 이름을 지정하십시오.
리 팩터를 수행하기 전에 하나 이상의 테스트 케이스를 작성하십시오. 그들이 작동하는지 확인하십시오. 리팩토링이 끝나면 새 코드가 제대로 작동하는지 확인하기 위해 이러한 테스트 사례를 시작할 수 있습니다. 새로운 기능이 제대로 작동하는지 확인하기 위해 추가 "작은"테스트를 작성할 수 있습니다.
마지막으로, 이것은 내가 방금 작성한 내용과 상반되는 것이 아니며,이 리팩토링을 정말로해야하는지 스스로에게 물어보십시오 . " 리팩터링시기 "에 대한 답변을 확인하십시오. (또한 "리팩토링"에 대한 SO 질문을 검색하면 더 많은 답변을 읽을 수 있습니다)
모든 코드를 작성하기 전에해야합니까, 아니면 모든 것이 끝날 때까지 그대로두고 함수를 추출해야합니까?
코드가 이미 있고 작동하고 다음 릴리스에 대한 시간이 부족한 경우 만지지 마십시오. 그렇지 않으면 가능할 때마다 작은 기능을 수행해야하며 모든 시간이 가능할 때마다 리팩터링해야하며 모든 것이 이전과 같이 작동하는지 확인하십시오 (테스트 사례).