PhpMetrics - 코드 메트릭을 손쉽게 시각화
소개
이전 기사 ( PHPUnit - 테스트 커버리지를 HTML 보고서로 출력 / phpdbg + php-code-coverage + PHPUnit )에서는 UnitTest 런타임의 포괄적 인 비율을 시각화하기 위해 phpdbg와 php-code-coverage를 사용하여 테스트 커버리지를 HTML보고하는 방법을 요약했습니다.
이번에는 정적 해석에 위치하는 것 중 코드 메트릭스에 관련한 정보를 좋은 느낌으로 출력하는 툴에 관한 도입 순서를 설명합니다.
가정 환경
본 기사는 이하의 환경에서 동작 확인을 실시하고 있습니다.
본 기사는 이하의 환경에서 동작 확인을 실시하고 있습니다.
구축 절차
개요
이번 구축하는 환경은, CentOS/7 위에 Docker 를 인스톨 해, 그 위에 PHPUnit + phpdbg + php-code-coverage 를 사용해 리포트를 출력합니다.
절차
앞으로의 절차는 다음 기사에서 소개한 절차에서 구축한 로컬 개발 환경을 기반으로 하여 작업을 수행해 갑니다.
Windows/Mac을 불문하고 간단하게 구축이 가능하므로, 동작의 재현을 실시하고 싶은 경우는 그쪽의 기사를 참조해 주세요.
위의 단계 중 PHP와 composer는 이미 설치되어 있으므로 Composer 설치가 필요한 PhpMetrics 설치에서 작업을 진행합니다.
1. PhpMetrics 설치
composer 명령을 실행하여 PhpMetrics를 설치합니다.
@VirtualHost
$ docker-composer exec php composer require --dev phpmetrics/phpmetrics
2. HTML 보고서 출력
설치한 PhpMetrics를 사용하여 지표와 관련된 정보를 HTML로 출력합니다.
@VirtualHost
$ docker-composer exec php php ./vendor/bin/phpmetrics --report-html=myreport .
3. 보고서 확인
생성한 HTML 리포트는 다음 위치에 출력되어 있으므로 웹 브라우저에서 확인합시다.
@VirtualHost
$ ./myreport/index.php
이번에는 Laravel에 AdminLTE를 최소 구성으로 통합한 프로젝트를 해석해 보았습니다.
결과는 다음과 같습니다.
composer 명령을 한 번에 설치할 수 있으며 HTML 보고서를 쉽게 생성할 수 있으므로 쉽고 빠르게 배포할 수 있습니다.
끝에
코딩한 프로젝트 내에 포함되는 소스 코드에 대해서는, 행수나 코드의 중복, 클래스수 등, UnitTest의 실행 이전에 해석할 수 있는 정보가 많이 존재합니다.
"정적 분석"이나 "책상 디버그"라고 불리는 것처럼 소스 코드를 정량적, 정성적으로 보는 것으로 버그의 검출을 할 수 있으므로, PhpMetrics 와 같은 툴은 매우 유용하다고 생각합니다 .
지금까지 이런 툴은 SonarQube 정도밖에 사용한 적이 없었습니다만, 이번 조사에서 PHP에 특화한 툴을 발견할 수 있었습니다.
이 툴의 이점은, composer 로 간편하게 인스톨할 수가 있어 PHP 를 실행할 수 있는 환경이라면, Web 서버나 그 외의 툴을 인스톨 하지 않고 이용할 수 있다고 생각합니다.
프로젝트에서 적절하게 사용하는 것으로, 소스 코드의 셀프 크로스 레뷰시나, 테스트 계획의 입안시등에 데이터를 활용할 수 있는 것은 아닐까요.
참고
다양한 정적 분석 도구
다양한 정적 분석 도구
PhpMetrics
기타
Reference
이 문제에 관하여(PhpMetrics - 코드 메트릭을 손쉽게 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/anfangd/items/48b3e12f2328199c59ed텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)