더북(TheBook)

코드를 살짝만 바꾸었을 뿐인데 벌써 효과가 나타나네요. 부정 표현인 isInorganic() 대신 긍정 표현인 isOrganic()을 호출하고 있습니다. 다시 말해 ifelse 블록 본문을 서로 바꾸었습니다.

두 번째 부분에서는 isHumanoid()라는 함수를 똑같이 호출하되 부정을 제거했습니다. 코드가 정말 간단해졌습니다. 마찬가지로 ifelse 블록 본문을 서로 바꾸어야 합니다.

이러한 변경은 너무나 간단해 이렇게까지 해야 하는지 의문이 생길 수도 있습니다. 코드 이해도를 높이는 데 사실상 아무 비용도 들지 않으니 당연히 신경써야 하죠. 코드 행을 더 넣을 일은 거의 없습니다. 기존 코드를 다시 정렬만 하면 개선할 수 있죠. 놓치기 너무 아까운 기회죠!

하지만 앞에서 isInorganic() 대신 isOrganic()을 썼듯이 적절한 메서드가 필요하기도 합니다. 호출하려는 코드가 외부 라이브러리에 있으면 메서드를 호출하지 못할 수도 있습니다. 하지만 제어할 수만 있다면 적절한 클래스에 메서드를 추가하는 것을 망설이지 마세요. 코드 몇 줄이 그 문자만큼의 가치가 있고 다른 부분에서도 코드를 더 명확히 해주니까요. 메서드를 추가하면 코드 중복을 줄이고 프로그램의 다른 부분에서도 재사용할 수 있으니 결국 코드가 줄어듭니다. 경험에 비추어보면 부정적 메서드는 모두 제거하는 것이 가장 좋습니다. 비슷한 메서드 두 개는 굳이 유지하지 않아도 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.