유지보수 가능한 코딩의 기술

주석이 쓸모있는 경우는 지극히 제한적입니다.

1

유지보수 가능한 코딩의 기술이 궁금하다면 이 책은 친절한 안내서가 될 듯 싶다. 하지만 친절한 안내서가 언제나 그러하듯이 모든 것을 설명하진 않는다. 그리고 설명한다고 해서 ‘유지보수’를 잘 할 수 있는 방법을 단 시간에 배울 순 없다.

2

이 책을 사용해서 팀의 유지보수 가이드라인을 다 같이 제안해보는건 어떨까? 우리팀의 가이드라인을 만드는 과정을 통해 책에서 머리로 그리고 손끝으로 기술이 서서히 퍼지는 것을 느껴볼 수 있지 않을까?


[…] 국제 표준 구격 ISO/IEC 25010:2011(이하 ISO 25010)에 따르면 소프트웨어 품질은 유지보수성(maintrainability), 기능 안정성(functional suitability), 성능 효율(performance efficiency), 호환성(compatibility), 사용성(usability), 믿음성(reliability), 보안성(security), 휴대성(portability)의 여덟 가지 특성으로 분류하는데, 이 책은 그 중 유지보수성에 집중합니다.

[…] 소프트웨어 유지보수란 바로 이처럼 고치는 행위로 다음 네 가지 유형이 있습니다. 1) 버그를 발견하고 고친다(교정형), 2) 운영 환경의 변화에 따라 시스템을 변경한다(적응형 유지보수), 3) 시스템 사용자의 신규/변경 요건을 반영한다(완료형), 4) 품질을 높이고 앞으로 닥칠 버그를 방지할 방안을 모색한다(예방형)

[…] 1) 단순한 가이드라인을 지키기만 해도 유지보수성은 나아진다, 2) 유지보수성은 나중으로 미룰 문제가 아니라 개발 프로젝트 시작 단계부터 반드시 염두에 두어야 하고 하나씩 실천하는 자세가 중요하다, 3) 지키지 않으면 다른 가이드라인보다 결과가 더 안 좋은 가이드라인이 있다. 가이드라인을 충실히 잘 따를수록 소프트웨어 시스템의 유지보수성이 좋아진다.

[…] SIG 벤치 마킹 결과를 보면, 전체 자바 시스템의 평균 유지보수성은 그냥 고만고만한 수준이고 C#도 오십보백보입니다. 자바나 C#으로 유지보수성이 진짜 뛰어난 시스템을 구축할 수는 있지만, 특정한 언어를 쓴다고 유지보수성이 자동으로 보장되는 건 아닙니다.

[…] 10대 가이드라인을 미리 한번 들여다봅시다. 1) 코드 단위를 짧게 하라., 2) 코드 단위는 간단하게 짜라., 3) 코드는 한 번만 작성하라., 4) 단위 인터페이스를 작게 하라., 5) 관심사를 모듈로 분리하라., 6) 아키텍처 컴포넌트를 느슨하게 결합하라., 7) 아키텍처 컴포넌트의 균형을 잡아라., 8) 코드베이스를 작게 하라., 9) 테스트를 자동화하라., 10) 클린 코드를 작성하라

[…] 단위를 짧게 하면 소스 코드가 스스로를 설명하는 형태로 바뀌므로 메서드명이 주석을 대신합니다.

즉, “분기점 개수를 4개로 제한하라”는 가이드라인은 “맥캐브 복잡도를 5로 제한하라”는 말이며, 이 값은 각각의 경로가 다른 경로가 커버하지 못한 부분을 지날 수 있게끔, 단위를 커버하는데 필요한 최소한의 테스트 케이스 개수를 뜻함

Written on May 27, 2017