더북(TheBook)

AOP로 믿음직한 코드 만들기

AOP로 어떻게 믿음직한 코드를 만들까? 첫째, AOP는 함수를 단순하게 유지한다. 함수 각자의 단일 책임을 수행할 뿐이다. 단순함은 곧 믿음성이다.

둘째, AOP는 코드를 DRY하게 해준다. 어떤 코드가 여기저기 출몰하면 나중에 다른 개발자가 잘못 건드릴 여지도 많고, 그러다 보면 동기화가 깨질 가능성이 당연히 커진다. 그런데 여기서 놓치면 안 될 포인트는, 기존 기능(항공권 발급)에 새 기능(캐싱)을 붙이는 코드를 반복하고 싶지 않다는 점이다.

예제 2-24에서 오직 캐싱 애스팩트를 코드에 짜깁기하느라 분주했던 걸 돌이켜보자. 이런 패턴으로 작업을 진행하면 분명 개발자가 실수할 일이 생긴다. 따라서 테스트 주도 개발 방식을 고려 중이라면 매번 이 부분을 보완할 단위 테스트를 처음부터 새로 다 만들어야 한다. 겉모습이 비슷한 테스트를 여럿 말이다. 이것 역시 또 다른 반복이다!

TIP

어떤 코드 블록을 자체로 반복하지 않는 일만큼 다른 코드와 연결하는 부분을 반복하지 않는 일도 중요하다.

 

셋째, AOP는 애플리케이션 설정을 한 곳에 집중시킨다. 애스팩트 설정이 단일 책임인 함수가 하나만 있으면 부속 기능 전체를 찾을 때 이 함수만 뒤지면 된다. 무엇보다 디버깅할 때 손쉽게 캐싱 같은 기능을 끄거나 인자 체크 기능을 켤 수 있어 좋다. 엔드 유저의 기호에 따라 활성/비활성화 하고 싶은 애스팩트도 있을 것이다.

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