
433
15
장
시스템 조사
지워버려!
간혹 버그는 레거시 시스템에 숨어있다. 개발자가 기반 코드에 익숙해질 시간이 없거나 유지
보수가 더 이상 일어나지 않는 경우에는 특히 더 버그가 숨어있을 가능성이 높다. 또한 레거시
시스템은 이미 손상되었거나 새로운 버그를 유발할 수도 있다. 레거시 시스템을 디버깅하거나
견고히 하는 것보다는 그냥 지워버리는 것도 고려해보자.
레거시 시스템을 제거하면 보안도 개선할 수 있다. 예를 들어 (
20
장에서 설명할 구글의 취약
점 보상 프로그램을 통해) 보안 연구원 중 한 명이 우리 팀의 레거시 시스템에서 보안 이슈를
발견하고는 저자 중 한 명에게 연락해 온 적이 있다. 팀은 이전에 이 시스템을 자체 네트워크로
격리했지만 한동안 시스템을 업그레이드하지 않았다. 팀에 새로 합류한 팀원은 이 레거시 시스
템의 존재조차 인식하지 못한 상태였다. 우리는 연구원이 발견한 이슈를 해결하기 위해 이 시
스템을 제거하기로 했다. 이 시스템이 제공하는 기능의 상당 부분은 이미 더 이상 필요하지 않
았으며 훨씬 간단한 최신 시스템으로 교체할 수 있었다.
NOTE
_
레거시 시스템을 재작성할 때는 충분히 고민해야 한다. 새로 작성한 시스템이 어떻게 레거시 시스
템보다 더 잘 동작할 수 있는지 스스로에게 물어보자. 때로는 오래된 코드를 디버깅하는 것보다는 ...