정적코드분석/코딩표준

정적 코드 분석기는 버그 관리 시스템이 아닙니다

가끔씩 정적 코드 분석기로 분석한 결과를 어떻게 버그 관리 시스템과 연동하는지 물어보는 분들이 계십니다. 결론을 먼저 내겠습니다. 절대 그렇게 하지 마십시오.

연동금지

세상의 어떤 개발자라도 컴파일러에서 발생시키는 에러 및 경고 메시지를 버그 관리 시스템에 올리지 않습니다. 에러나 경고가 발생했다면 그냥 수정하고 다시 컴파일 하면 됩니다. 정적 코드 분석기에서 발생하는 결함도 이와 같습니다. 그냥 고치고 다시 컴파일 하십시오. 정적 코드 분석기에서 발생시킨 결함 메시지는 그저 컴파일러의 에러 및 경고 메시지와 같다고 생각하면 됩니다. 정적 코드 분석기는 그렇게 쓰는 겁니다.

사진 출처 : https://www.flickr.com/photos/guitavares/1703252007/
사진 출처 : https://www.flickr.com/photos/guitavares/1703252007/

만약 정적 코드 분석기로 나온 결과가 버그 관리 시스템(예: 레드마인, MANTIS) 에 자동으로 등록된다고 가정해봅시다. 정적 코드 분석기는 사람이 아니라 소프트웨어기 때문에 그 결과의 양과 속도가 사람이 등록하는 것과 비교할 수 없게 많고 빠릅니다. 이 결과가 버그 관리 시스템에 자동으로 등록된다면 그 이슈의 양 때문에 잘 쓰고 있는 버그 관리 시스템이 한 순간 엉망이 될 수 있습니다.

이 때문에 대다수의 정적 코드 분석기는 버그 관리 시스템과 연동하는 기능을 지원하지 않으며, 혹?지원한다 하더라도 정적 코드 분석기에서 발생하는 모든 결함을 자동으로 버그 관리 시스템에 연동하는게 아닌 관리자가 수동으로 특정 결함에 대해서 버그 관리 시스템에 등록해야 하는 Case by Case 연동만을 지원합니다.

그럼 이슈 관리를 어떻게 하나요? 라고 물으신다면 내부적으로 이슈 관리를 지원하는 정적 코드 분석 솔루션을 사용하라는 답을 드리고 싶습니다.

Leave a Reply

Leave a Reply

Your email address will not be published. Required fields are marked *