Windows에 사이클로매틱 복잡도의 계측 툴 「lizard」 넣어 보았다
목적
업무로 쉽게 품질 등을 확인하고 싶습니다.
환경
OS:Windows10
파이썬
pip
lizard
jinja2
환경 작성에 있어서 그럴듯한 포인트
Could not install packages due to an EnvironmentError: [WinError 5] アクセスが拒否されました 。: 'c:\\program files\\python37\\lib\\site-packages\\pip-19.0.3.dist-info\\entry_points.txt'
Consider using the `--user` option or check the permissions.
You are using pip version 19.0.3, however version 19.2.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
이러한 오류가 발생하면 명령 프롬프트를 관리자 권한으로 시작하십시오. 그렇게 하면 다음과 같이 성공합니다. 관리자 권한 사용할 수 없는 환경에 대해서는 --user 옵션을 붙여 설치한다.
C:\WINDOWS\system32>python -m pip install --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/62/ca/94d32a6516ed197a491d17d46595ce58a83cbb2fca280414e57cd86b84dc/pip-19.2.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 19.0.3
Uninstalling pip-19.0.3:
Successfully uninstalled pip-19.0.3
Successfully installed pip-19.2.1
lizard 설치
C:\WINDOWS\system32>pip install lizard
Collecting lizard
Using cached https://files.pythonhosted.org/packages/7e/01/650cfb0e613217003fe29d7edba549b71731122a5dc6e61fc41ad6f58fb8/lizard-1.16.3-py2.py3-none-any.whl
Installing collected packages: lizard
Successfully installed lizard-1.16.3
조작방법
표준 출력
이번에는 Java 소스의 CCN을 측정해 보겠습니다.
-l 옵션의 값은 언어에 따라 변경하십시오.
프로젝트의 루트 폴더로 이동하여 lizard 실행
C:\spring-boot-rest-api-sample-master\web-demo-2\spring\demo-2>
lizard -l java
================================================
NLOC CCN token PARAM length location
------------------------------------------------
43 8 307 1 48 MavenWrapperDownloader::main@55-102@.\.mvn\wrapper\MavenWrapperDownloader.java
9 1 75 2 9 MavenWrapperDownloader::downloadFileFromURL@104-112@.\.mvn\wrapper\MavenWrapperDownloader.java
5 1 37 2 5 IndexController::hello@18-22@.\src\main\java\com\web\demo\controller\IndexController.java
5 1 37 2 5 IndexController::formHoge@25-29@.\src\main\java\com\web\demo\controller\IndexController.java
5 1 37 2 5 IndexController::root@32-36@.\src\main\java\com\web\demo\controller\IndexController.java
3 1 20 1 3 WebDemo2Application::main@11-13@.\src\main\java\com\web\demo\WebDemo2Application.java
2 1 5 0 2 WebDemo2ApplicationTests::contextLoads@13-14@.\src\test\java\com\web\demo\WebDemo2ApplicationTests.java
4 file analyzed.
==============================================================
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
69 26.0 4.5 191.0 2 .\.mvn\wrapper\MavenWrapperDownloader.java
28 5.0 1.0 37.0 3 .\src\main\java\com\web\demo\controller\IndexController.java
10 3.0 1.0 20.0 1 .\src\main\java\com\web\demo\WebDemo2Application.java
12 2.0 1.0 5.0 1 .\src\test\java\com\web\demo\WebDemo2ApplicationTests.java
=============================================================================================
No thresholds exceeded (cyclomatic_complexity > 15 or length > 1000 or parameter_count > 100)
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
119 10.3 2.0 74.0 7 0 0.00 0.00
메소드 별 CCN → 파일 별 CCN 평균 → 모든 파일의 CCN 평균 순으로 출력됩니다.
"메소드별 CCN"에 대해 각 열의 의미는 다음과 같습니다.
열
약어
설명
NLOC
Number Line Of Code
코드 행 수 (댓글 제외)
CCN
Cyclomatic Complexity Number
사이클로매틱 복잡도
token
-
?
PARAM
PARAMeter
메소드의 인수의 수
길이
-
NLOC에서 빈 줄을 제외한 행 수
location
-
{메소드 이름}@{시작행}-{종료행}@{파일 경로}
CSV 출력
lizard -l java --csv > resule_lizard.csv
HTML 출력
pip install jinja2
Collecting jinja2
Downloading https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl (124kB)
|████████████████████████████████| 133kB 242kB/s
Collecting MarkupSafe>=0.23 (from jinja2)
Downloading https://files.pythonhosted.org/packages/65/c6/2399700d236d1dd681af8aebff1725558cddfd6e43d7a5184a675f4711f5/MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl
Installing collected packages: MarkupSafe, jinja2
Successfully installed MarkupSafe-1.1.1 jinja2-2.10.1
HTML 형식으로 출력하는 경우 jinja2라는 도구가 필요하기 때문에 pip로 설치
lizard -l java --html > resule_lizard.html
요약
이번에는 Java 파일만의 검증이었습니다만, JS 파일의 검증등도 할 수 있었으므로
여러 가지 시도해보십시오.
참고
htps : // 코 m / 보라 / ms / 아 1 아 96 아 2d7f5 081 2049
htps : // 코 m / 우호오이 / ms / c77 아 53 아 4c7 아 c232 아 1 바 1
htps : // 기주 b. 코 m / t r y y / ぃざ rd
Reference
이 문제에 관하여(Windows에 사이클로매틱 복잡도의 계측 툴 「lizard」 넣어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/RIKIgigasu/items/24973a19f28ad349361d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
OS:Windows10
파이썬
pip
lizard
jinja2
환경 작성에 있어서 그럴듯한 포인트
Could not install packages due to an EnvironmentError: [WinError 5] アクセスが拒否されました 。: 'c:\\program files\\python37\\lib\\site-packages\\pip-19.0.3.dist-info\\entry_points.txt'
Consider using the `--user` option or check the permissions.
You are using pip version 19.0.3, however version 19.2.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
이러한 오류가 발생하면 명령 프롬프트를 관리자 권한으로 시작하십시오. 그렇게 하면 다음과 같이 성공합니다. 관리자 권한 사용할 수 없는 환경에 대해서는 --user 옵션을 붙여 설치한다.
C:\WINDOWS\system32>python -m pip install --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/62/ca/94d32a6516ed197a491d17d46595ce58a83cbb2fca280414e57cd86b84dc/pip-19.2.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 19.0.3
Uninstalling pip-19.0.3:
Successfully uninstalled pip-19.0.3
Successfully installed pip-19.2.1
lizard 설치
C:\WINDOWS\system32>pip install lizard
Collecting lizard
Using cached https://files.pythonhosted.org/packages/7e/01/650cfb0e613217003fe29d7edba549b71731122a5dc6e61fc41ad6f58fb8/lizard-1.16.3-py2.py3-none-any.whl
Installing collected packages: lizard
Successfully installed lizard-1.16.3
조작방법
표준 출력
이번에는 Java 소스의 CCN을 측정해 보겠습니다.
-l 옵션의 값은 언어에 따라 변경하십시오.
프로젝트의 루트 폴더로 이동하여 lizard 실행
C:\spring-boot-rest-api-sample-master\web-demo-2\spring\demo-2>
lizard -l java
================================================
NLOC CCN token PARAM length location
------------------------------------------------
43 8 307 1 48 MavenWrapperDownloader::main@55-102@.\.mvn\wrapper\MavenWrapperDownloader.java
9 1 75 2 9 MavenWrapperDownloader::downloadFileFromURL@104-112@.\.mvn\wrapper\MavenWrapperDownloader.java
5 1 37 2 5 IndexController::hello@18-22@.\src\main\java\com\web\demo\controller\IndexController.java
5 1 37 2 5 IndexController::formHoge@25-29@.\src\main\java\com\web\demo\controller\IndexController.java
5 1 37 2 5 IndexController::root@32-36@.\src\main\java\com\web\demo\controller\IndexController.java
3 1 20 1 3 WebDemo2Application::main@11-13@.\src\main\java\com\web\demo\WebDemo2Application.java
2 1 5 0 2 WebDemo2ApplicationTests::contextLoads@13-14@.\src\test\java\com\web\demo\WebDemo2ApplicationTests.java
4 file analyzed.
==============================================================
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
69 26.0 4.5 191.0 2 .\.mvn\wrapper\MavenWrapperDownloader.java
28 5.0 1.0 37.0 3 .\src\main\java\com\web\demo\controller\IndexController.java
10 3.0 1.0 20.0 1 .\src\main\java\com\web\demo\WebDemo2Application.java
12 2.0 1.0 5.0 1 .\src\test\java\com\web\demo\WebDemo2ApplicationTests.java
=============================================================================================
No thresholds exceeded (cyclomatic_complexity > 15 or length > 1000 or parameter_count > 100)
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
119 10.3 2.0 74.0 7 0 0.00 0.00
메소드 별 CCN → 파일 별 CCN 평균 → 모든 파일의 CCN 평균 순으로 출력됩니다.
"메소드별 CCN"에 대해 각 열의 의미는 다음과 같습니다.
열
약어
설명
NLOC
Number Line Of Code
코드 행 수 (댓글 제외)
CCN
Cyclomatic Complexity Number
사이클로매틱 복잡도
token
-
?
PARAM
PARAMeter
메소드의 인수의 수
길이
-
NLOC에서 빈 줄을 제외한 행 수
location
-
{메소드 이름}@{시작행}-{종료행}@{파일 경로}
CSV 출력
lizard -l java --csv > resule_lizard.csv
HTML 출력
pip install jinja2
Collecting jinja2
Downloading https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl (124kB)
|████████████████████████████████| 133kB 242kB/s
Collecting MarkupSafe>=0.23 (from jinja2)
Downloading https://files.pythonhosted.org/packages/65/c6/2399700d236d1dd681af8aebff1725558cddfd6e43d7a5184a675f4711f5/MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl
Installing collected packages: MarkupSafe, jinja2
Successfully installed MarkupSafe-1.1.1 jinja2-2.10.1
HTML 형식으로 출력하는 경우 jinja2라는 도구가 필요하기 때문에 pip로 설치
lizard -l java --html > resule_lizard.html
요약
이번에는 Java 파일만의 검증이었습니다만, JS 파일의 검증등도 할 수 있었으므로
여러 가지 시도해보십시오.
참고
htps : // 코 m / 보라 / ms / 아 1 아 96 아 2d7f5 081 2049
htps : // 코 m / 우호오이 / ms / c77 아 53 아 4c7 아 c232 아 1 바 1
htps : // 기주 b. 코 m / t r y y / ぃざ rd
Reference
이 문제에 관하여(Windows에 사이클로매틱 복잡도의 계측 툴 「lizard」 넣어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/RIKIgigasu/items/24973a19f28ad349361d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Could not install packages due to an EnvironmentError: [WinError 5] アクセスが拒否されました 。: 'c:\\program files\\python37\\lib\\site-packages\\pip-19.0.3.dist-info\\entry_points.txt'
Consider using the `--user` option or check the permissions.
You are using pip version 19.0.3, however version 19.2.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
C:\WINDOWS\system32>python -m pip install --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/62/ca/94d32a6516ed197a491d17d46595ce58a83cbb2fca280414e57cd86b84dc/pip-19.2.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 19.0.3
Uninstalling pip-19.0.3:
Successfully uninstalled pip-19.0.3
Successfully installed pip-19.2.1
C:\WINDOWS\system32>pip install lizard
Collecting lizard
Using cached https://files.pythonhosted.org/packages/7e/01/650cfb0e613217003fe29d7edba549b71731122a5dc6e61fc41ad6f58fb8/lizard-1.16.3-py2.py3-none-any.whl
Installing collected packages: lizard
Successfully installed lizard-1.16.3
조작방법
표준 출력
이번에는 Java 소스의 CCN을 측정해 보겠습니다.
-l 옵션의 값은 언어에 따라 변경하십시오.
프로젝트의 루트 폴더로 이동하여 lizard 실행
C:\spring-boot-rest-api-sample-master\web-demo-2\spring\demo-2>
lizard -l java
================================================
NLOC CCN token PARAM length location
------------------------------------------------
43 8 307 1 48 MavenWrapperDownloader::main@55-102@.\.mvn\wrapper\MavenWrapperDownloader.java
9 1 75 2 9 MavenWrapperDownloader::downloadFileFromURL@104-112@.\.mvn\wrapper\MavenWrapperDownloader.java
5 1 37 2 5 IndexController::hello@18-22@.\src\main\java\com\web\demo\controller\IndexController.java
5 1 37 2 5 IndexController::formHoge@25-29@.\src\main\java\com\web\demo\controller\IndexController.java
5 1 37 2 5 IndexController::root@32-36@.\src\main\java\com\web\demo\controller\IndexController.java
3 1 20 1 3 WebDemo2Application::main@11-13@.\src\main\java\com\web\demo\WebDemo2Application.java
2 1 5 0 2 WebDemo2ApplicationTests::contextLoads@13-14@.\src\test\java\com\web\demo\WebDemo2ApplicationTests.java
4 file analyzed.
==============================================================
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
69 26.0 4.5 191.0 2 .\.mvn\wrapper\MavenWrapperDownloader.java
28 5.0 1.0 37.0 3 .\src\main\java\com\web\demo\controller\IndexController.java
10 3.0 1.0 20.0 1 .\src\main\java\com\web\demo\WebDemo2Application.java
12 2.0 1.0 5.0 1 .\src\test\java\com\web\demo\WebDemo2ApplicationTests.java
=============================================================================================
No thresholds exceeded (cyclomatic_complexity > 15 or length > 1000 or parameter_count > 100)
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
119 10.3 2.0 74.0 7 0 0.00 0.00
메소드 별 CCN → 파일 별 CCN 평균 → 모든 파일의 CCN 평균 순으로 출력됩니다.
"메소드별 CCN"에 대해 각 열의 의미는 다음과 같습니다.
열
약어
설명
NLOC
Number Line Of Code
코드 행 수 (댓글 제외)
CCN
Cyclomatic Complexity Number
사이클로매틱 복잡도
token
-
?
PARAM
PARAMeter
메소드의 인수의 수
길이
-
NLOC에서 빈 줄을 제외한 행 수
location
-
{메소드 이름}@{시작행}-{종료행}@{파일 경로}
CSV 출력
lizard -l java --csv > resule_lizard.csv
HTML 출력
pip install jinja2
Collecting jinja2
Downloading https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl (124kB)
|████████████████████████████████| 133kB 242kB/s
Collecting MarkupSafe>=0.23 (from jinja2)
Downloading https://files.pythonhosted.org/packages/65/c6/2399700d236d1dd681af8aebff1725558cddfd6e43d7a5184a675f4711f5/MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl
Installing collected packages: MarkupSafe, jinja2
Successfully installed MarkupSafe-1.1.1 jinja2-2.10.1
HTML 형식으로 출력하는 경우 jinja2라는 도구가 필요하기 때문에 pip로 설치
lizard -l java --html > resule_lizard.html
요약
이번에는 Java 파일만의 검증이었습니다만, JS 파일의 검증등도 할 수 있었으므로
여러 가지 시도해보십시오.
참고
htps : // 코 m / 보라 / ms / 아 1 아 96 아 2d7f5 081 2049
htps : // 코 m / 우호오이 / ms / c77 아 53 아 4c7 아 c232 아 1 바 1
htps : // 기주 b. 코 m / t r y y / ぃざ rd
Reference
이 문제에 관하여(Windows에 사이클로매틱 복잡도의 계측 툴 「lizard」 넣어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/RIKIgigasu/items/24973a19f28ad349361d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
C:\spring-boot-rest-api-sample-master\web-demo-2\spring\demo-2>
lizard -l java
================================================
NLOC CCN token PARAM length location
------------------------------------------------
43 8 307 1 48 MavenWrapperDownloader::main@55-102@.\.mvn\wrapper\MavenWrapperDownloader.java
9 1 75 2 9 MavenWrapperDownloader::downloadFileFromURL@104-112@.\.mvn\wrapper\MavenWrapperDownloader.java
5 1 37 2 5 IndexController::hello@18-22@.\src\main\java\com\web\demo\controller\IndexController.java
5 1 37 2 5 IndexController::formHoge@25-29@.\src\main\java\com\web\demo\controller\IndexController.java
5 1 37 2 5 IndexController::root@32-36@.\src\main\java\com\web\demo\controller\IndexController.java
3 1 20 1 3 WebDemo2Application::main@11-13@.\src\main\java\com\web\demo\WebDemo2Application.java
2 1 5 0 2 WebDemo2ApplicationTests::contextLoads@13-14@.\src\test\java\com\web\demo\WebDemo2ApplicationTests.java
4 file analyzed.
==============================================================
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
69 26.0 4.5 191.0 2 .\.mvn\wrapper\MavenWrapperDownloader.java
28 5.0 1.0 37.0 3 .\src\main\java\com\web\demo\controller\IndexController.java
10 3.0 1.0 20.0 1 .\src\main\java\com\web\demo\WebDemo2Application.java
12 2.0 1.0 5.0 1 .\src\test\java\com\web\demo\WebDemo2ApplicationTests.java
=============================================================================================
No thresholds exceeded (cyclomatic_complexity > 15 or length > 1000 or parameter_count > 100)
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
119 10.3 2.0 74.0 7 0 0.00 0.00
lizard -l java --csv > resule_lizard.csv
pip install jinja2
Collecting jinja2
Downloading https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl (124kB)
|████████████████████████████████| 133kB 242kB/s
Collecting MarkupSafe>=0.23 (from jinja2)
Downloading https://files.pythonhosted.org/packages/65/c6/2399700d236d1dd681af8aebff1725558cddfd6e43d7a5184a675f4711f5/MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl
Installing collected packages: MarkupSafe, jinja2
Successfully installed MarkupSafe-1.1.1 jinja2-2.10.1
lizard -l java --html > resule_lizard.html
이번에는 Java 파일만의 검증이었습니다만, JS 파일의 검증등도 할 수 있었으므로
여러 가지 시도해보십시오.
참고
htps : // 코 m / 보라 / ms / 아 1 아 96 아 2d7f5 081 2049
htps : // 코 m / 우호오이 / ms / c77 아 53 아 4c7 아 c232 아 1 바 1
htps : // 기주 b. 코 m / t r y y / ぃざ rd
Reference
이 문제에 관하여(Windows에 사이클로매틱 복잡도의 계측 툴 「lizard」 넣어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/RIKIgigasu/items/24973a19f28ad349361d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Windows에 사이클로매틱 복잡도의 계측 툴 「lizard」 넣어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/RIKIgigasu/items/24973a19f28ad349361d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)