더북(TheBook)

정적 코드 분석은 자동화된 코드 리뷰(code review)와 같습니다. 사실 개발 조직에서 C# 코드 리뷰를 해달라고 요청이 오면, 저는 먼저 분석기를 실행하라고 이야기해 줍니다. 이를 통해 몇 시간 분의 수수료를 절약할 수 있을테니까요.

보통 이렇게 이야기하면 해당 고객에게 다시 요청이 오는 경우가 별로 없습니다19. 기존의 코드베이스에서 분석기를 실행하면 경고가 보통 수천 개는 쉽게 나오기 때문에 압도당할 수 있습니다. 이를 피하려면 이러한 분석 도구를 즉시 사용하십시오.

컴파일러 경고와 달리 린터 또는 .NET의 Roslyn 분석기와 같은 정적 코드 분석 도구는 간혹 오탐지에 의한 경고(false positive)를 띄울 수 있습니다20. 자동화된 도구들은 일반적으로 오탐지 경고를 줄일 수 있는 다양한 옵션이 있기 때문에, 오탐지 때문에 못 쓰겠다는 이야기는 말이 안 됩니다.

컴파일러 경고를 오류로 처리하고, 린터 및 정적 코드 분석 경고 역시 오류로 처리합시다. 처음에는 답답하겠지만 코드의 질이 좋아질 것이며, 이를 통해 더 나은 프로그래머가 될 수 있을 것입니다.

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