리팩터링을 하는 것은 유지보수에 큰 도움이 된다.
물론 우선 코드부터 치면서 마구잡이로 짜는 것이 개발 속도를 높일 수가 있다.
하지만 유지보수, 기능 추가 등의 작업이 이루어질 때 새로운 기능을 추가해야할 지점과 어떻게 고칠지를 쉽게 알 수 있다.
모듈화가 잘 되어있다면 전체 코드 중 모듈화부분만 살펴보면 되기 때문이다.
리팩터링이 잘 수행된 코드는 새로운 기능을 구축하는데 튼튼한 토대가 되고 본인, 타인이 언제 읽어도 쉽게 이해될 수 있는 코드가 된다.
변수나 함수의 정확한 네이밍이 필요하다.
예를 들어 비밀번호를 담는 변수가 어느곳에선 pw, 어느곳에선 password, passWord 로 쓰이고, 검증하는 함수가 어디서는 check, 어디서는 validate가 된다면 며칠만 지나도 본인조차 알아보기 힘들 것이다.
이들을 통일하는 것이 가독성을 증가시키고 생산성을 올릴 수 있다.
함수 하나당 최소한의 기능으로 분할해야 한다.
만약 회원가입 데이터를 검증하는 함수에서 모든 조건을 함수 한번에 담는다면 유지보수가 힘들고, 확장하기도 불리하며 테스트를 할때 문제를 직면할 확률이 높다.
함수당 하나의 조건으로 나누는 것이 직관적으로 알아보기도 좋고, 다른 함수를 추가하기도 용이하며 테스트코드의 작성또한 독립적으로 시행되어 오류를 줄일 수 있을 것이다.