더북(TheBook)

본질적으로 유지보수성이란 비즈니스 규칙 수정, 기능 추가, 버그 확인, 시스템 패치 같은 작업을 완료하기 위해 투입하는 노력을 말한다. 유지보수성이 높은 소프트웨어는 개발자가 적절한 노력을 들이면 이러한 작업을 수행할 수 있지만, 유지보수성이 낮은 경우에는 작업이 지나치게 어렵고 시간이 많이 걸리며 버그가 생기기 쉽다.

유지보수성에 영향을 미치는 요소는 지나치게 복잡한 코드부터 의존성 관리, 잘못 디자인된 추상화, 모듈화의 부족에 이르기까지 다양하다. 시스템은 시간이 지남에 따라 자연스럽게 복잡해지기 때문에, 유지보수를 고려하지 않고 계속 코드를 추가하다 보면 코드 기반이 금세 지저분해질 수 있다.

시간은 좀 걸리더라도 복잡성 증가를 꾸준히 억제하는 것이 중요하다. 물론 그냥 ‘코드를 마구잡이로 짜는 것’보다 더 많은 노력이 든다는 것도 안다.

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