SONARQUBE

2021-08-13
요즘은 프론트엔드, 백엔드 등으로 개발이 분업화 되었고 또한 최근 많은 곳에서 마이크로서비스 아키텍처 Microservice Architecture 를 도입하면서 하나의 언어가 아닌 여러 언어로 개발하는 것이 추세인 듯하다. 여러 언어로 개발하다 보면 테스트 커버리지와 코드 코드 정적 분석 Static program analysis 결과를 각각 보면 매우 불편한데 통합하여 한곳에서 볼 수 있으면 편할 것 이다. SonarSouce 에서 만든 SonarQube 는 코드를 분석하여 중복, 테스트 커버리지, 코드 복잡도, 버그, 보안 취약성 등을 보여주는 도구이다. 특히...
2018-03-22
최근에는 개발을 할때 단순히 기능만 동작하는 코드를 만드는 것뿐만 아니라 읽기 좋은 코드, 유지보수하기 좋은 코드 등을 만들기 위해 많은 노력을 한다. 이를 위해 코드 리뷰 등을 통해 동료 개발자들이 직접 검토하는 경우도 있지만 정형화된 패턴에 대해서는 소스 코드를 분석해주는 도구를 이용할 수 있다. 이러한 것을 코드 정적 분석이라고 한다. 코드 정적분석이라 함은 실제 프로그램을 실행하지 않고 코드만의 형태에 대한 분석을 말한다. 이를테면 냄새나는 코드(?)라던지, 위험성이 있는 코드, 미리 정의된 규칙이나 코딩 표준을 준수하는지에 대한 분석을 말하는데 java 기준으로는 아래 다양한 (잘 알려진) 정적분석 도구들이 있다....
2018-02-06
켄트 벡 Kent Beck 은 자신의 책 익스트림 프로그래밍 Extreme Programming 에서 5 가치 [1] 를 이야기 했는데 그중 하나가 피드백 Feedback 이다. 한번에 완벽하게 해결하기를 바라는 것보다 점진적 개선에 만족하기 때문에 우리는 피드백을 이용해 목표에 점점 더 가까이 다가간다. 피드백은 여러 가지 형식으로 우리에게 들어온다. - 익스트림 프로그래밍 47 쪽 더 나은 코드를 만들기 위해서는 피드백이 필수이다. 어떻게 하면 효과적인 피드백을 받을 수 있을까? 필자는 코드 정적 분석 도구의 사용이 효과적인 피드백 중 하나라고 생각한다. 정적 분석 도구는 코드를 분석하여 여러 가지로 지적(?)을 한다. 개발자는 정적 분석 도구로부터의 피드백을 통해 자신의 코드를 뒤돌아 볼수 있는 계기를 가질 수 있으며 더 나아가 개선까지 이어질 수 있다. [caption id="attachment_15491" align="alignnone" width="600"]...
더보기