더북(TheBook)

더욱이 이처럼 사람을 숨막히게 만드는 복잡도는 하위로 내려갈수록 더욱 심화됩니다. 코드베이스도 이해하기 어려운데, 개발자가 변경분을 정확히 반영할 리 만무하죠. 또한 변경할 때마다 코드베이스는 한층 더 복잡하고 난해한 코드로 뒤덮입니다. 깔끔하게 모듈화한 아키텍처(그림 1-1)는 이제 먼 나라 이야기가 된 상태에서 FTGO는 점점 도저히 이해할 수 없는 진흙잡탕 괴물로 변신 중입니다.

최근에 참석했던 콘퍼런스에서 메리는 코드 줄 수가 수백만에 달하는 애플리케이션을 대상으로 JAR 파일 수천 개 간의 디펜던시(dependency)6를 분석하는 툴의 개발자와 알게 되었습니다. 그때는 FTGO에도 이 툴을 쓰면 뭔가 성과가 있을 것 같았지만, 지금 그녀는 복잡한 애플리케이션에 더 잘 어울리는 아키텍처, 즉 마이크로서비스로 갈아타는 것이 더 낫지 않나 고민 중입니다.

 

 


6 디펜던시(dependency)는 국내 대부분의 역서에서 ‘의존성’, ‘의존물’, ‘의존체’ 등으로 옮겼고 역자 역시 과거 역서에서 그렇게 번역했으나, 단순히 ‘의존한다’는 의미 외에도 특수한 기술적 의미가 내포되어 있기 때문에 이 책에서는 원어를 그대로 음차합니다.

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