정적코드분석/코딩표준

개발팀에 정적 코드 분석 도구 적용시키는 팁 5

개발팀에 정적 코드 분석 도구를 적용시키는 일은 만만한 작업이 아닙니다. 이에 Coverity 블로그에서 정적 코드 분석 도구를 어떻게 하면 잘, 그리고 빨리 개발팀에?적용시킬 수 있을지 5가지 팁을 제시했습니다. 번호는 블로그에서 제시한 항목이고 그 아래는 제 개인적인 의견이니 구분하여 보시기 바랍니다. : )

Five

1. 정적 코드 분석 도구 선정부터 적용까지 모든 프로세스에 개발자 참여

정적 분석 도구를 사용하거나, 정적 분석 도구로 인해 가장 많은 영향을 받는 직종은 다름 아닌 소프트웨어 개발자입니다. 따라서 개발자의 정적 분석 도구 도입 시, 개발자들이 이 도구가 필요하다는 공감대를 형성하는 것이 매우 중요합니다. 단순히 위에서 사용하라고 강제하면 개발자들의 반발로 인해 적용하기 힘들어집니다.

2. 코드에 알맞는 도구 선택

뭐 당연한 얘기죠? 하지만 같은 언어를 지원하는 정적 분석 도구라도 그 성능 차이가 있으니 반드시 비교 분석 후 선택해야 합니다

3. 새롭게 작성하는 코드에 집중하기. 이미 작성된 코드에 너무 신경쓰지 말 것

정적 분석 도구를 도입한 후, 십중 팔구 가장 먼저 과거에 개발했었던 코드를 검사해볼 것입니다. 그리고 정적 분석 도구는 아마 엄청난 결함이 나오겠죠. 아무리 의욕적인 개발자라도 정적 분석 도구가 만들어내는 수 천, 수 만개의 결함 알림(Alarm) 앞에는 그 의욕이 꺾이고 말 것입니다. 물론 예전에 작성된 코드의 결함을 수정하면 좋습니다. 하지만 옛 코드의 결함은 중요한 것(예 : Null Dereference, SQL Injection 등)만 수정하고 향후 개발할 코드를 개발 프로세스에 맞춰서 정적 분석 도구를 사용하여 중점적으로 검사하는 것이 좋습니다. 옛 코드에서 발생한 결함은 천천히 고치세요 : )

4. 개발 생산성에 집중하십시오. 결함 찾는데 혈안되지 말고

정적 분석 도구는 개발자의 실수를 막아주고 좋은 코드를 작성하도록 도와주는 멘토와 같은 존재입니다. 물론 중요한 결함은 고쳐야하지만, 이를 기준으로 개발자를 평가하거나 들들 볶아서는 안됩니다. : )

5. 정적 코드 분석 ?및 결과에 대한 이슈 관리를 자동화

알람 시계처럼 하루에 한 번 정도 정적 분석 도구를 자동으로 수행해서 코드를 검사하도록 만드는 것이 좋습니다. 이슈가 발생 시 자동으로 이메일 같은 통신 수단으로 코드를 작성한 개발자에게 알리면 개발자는 하루 안에 해당 버그의 내용을 알고 고칠 수 있어서 개발 생산성 향상에 도움이 됩니다. 다만, 중요한 점은 정적 분석 도구와 버그 관리 시스템(Bug Tracking System)과 연동은 자제하는 것이 좋습니다.

Leave a Reply

Leave a Reply

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