우리는 Code의 "3S 품질 요소"에 의해 Theodo 품질을 정의했습니다.
우리는 팀이 고품질 코드를 제공하려면 다음과 같은 것이 필요하다고 생각합니다.
Tyrion의 목표는 마지막 시점에서 "품질을 측정 할 수있어"를 돕는 것입니다.
우리는 기술 부채를 품질을 방지하는 모든 코드 또는 아키텍처로 정의했습니다. 다양한 실험을 통해, 우리는 기술 부채의 진화를 모니터링 할 때 그것이 증가하지 않을 가능성이 더 높다는 것을 알았습니다. 우리는 과거에 그것을 관리하고 측정하는 다양한 방법 (Trello Cards, Google Docs, Post-It, ..)을 시도했지만 다음과 같은 고통스러운 솔루션을 찾지 못했습니다.
그래서 우리는 Tyrion을 만들었습니다. 당신은 지금 할 수 있습니다 :
노드 v12 또는 v14와 함께 Tyrion을 사용해야합니다. Nodegit을 사용하는 기본 도구와 관련된 문제가 주로 우수 버전으로 작업하지 않습니다.
전 세계적으로 Tyrion을 설치하십시오 : npm i -g tyrionl
(예, 최종 l
있는 tyrionl
, 오타가 아닙니다).
다음 옵션으로 tyrion
실행하십시오
-p, --path [scanDirectory] The path of the directory you want to analyse
-e, --evolution [days] Get the evolution of the debt since X days
-b, --branch [days] Specify the branch used for the evolution analysis. (Default to master)
-n, --nobrowser [browser] Don't open the report after being generated
-c, --csv [csv] export the debt data into a csv file
-d, --devs [devs] Get information about who is contributing the most to quality (Beta)
-h, --help output usage information
예:
tyrion -p ./src -c
현재 부채 점수를 얻고 CSV 보고서 작성tyrion --evolution 28 -p .
마지막 커밋에서 시작하는 28 일 동안 부채의 진화를 얻기 위해.tyrion --evolution 28 -b prod -p .
Prod 지점의 마지막 커밋에서 시작하여 28 일 동안 빚의 진화를 얻기 위해. 동일한 결과에 대해 다음 부채 태그를 사용할 수 있습니다 : @debt
, TODO
, FIXME
.
Tyrion은 다음 컨벤션에 따른 댓글을 찾고있는 파일을 구문 분석합니다.
/**
* @debt DEBT_TYPE:SUB_TYPE
*/
다음 Debt_type의 기본 점수가 있습니다.
sub_type를 지정할 필요가 없으므로 최소 예제는 다음과 같습니다.
/**
* @debt quality
*/
이 컨벤션에 따라 채무 품목에 대한 자세한 내용을 제공하기 위해 의견을 추가 할 수 있습니다.
/**
* @debt DEBT_TYPE:SUB_TYPE "Author: comment"
*/
완전한 예는 다음과 같습니다.
/**
* @debt security:sql-injection "Maximet: The request is not escaped when being called from the command"
*/
파서는 '@debt'가 포함 된 모든 라인을 찾고 *
또는 #
에 의해 시작하여 대부분의 웹 프로그래밍 언어를 다루어야합니다.
프로젝트의 루트 디렉토리에 .tyrion-config.json
파일을 만들어 부채 항목의 기본 가격을 무시할 수 있습니다. 자신만의 유형을 만들 수도 있습니다. 기본값은 다음과 같습니다.
{
"pricer": {
"bug": 100,
"architecture": 100,
"bugRisk": 5,
"security": 100,
"securityRisk": 10,
"quality": 5,
"test": 5,
"doc": 3,
"ci": 30,
"deploy": 10,
"devEnv": 10,
"outdated": 5
},
"standard": 100,
"ignorePath": [
"node_modules",
"README.md"
],
"debtTags": [
"@debt",
"TODO",
"FIXME"
]
}
일부 파일을 코드 품질의 표준을 완벽하게 따르는 파일 인 "joconde"라고 표시 할 수도 있습니다. 동일한 결과에 대해 다음 태그를 사용할 수 있습니다 : @best
, @standard
, JOCONDE
.
예 : // JOCONDE React:component "The standard can be find here: http....."
구성 파일에서 "ignorePath"
옵션을 사용하여 특정 문자열이 포함 된 파일을 무시할 수 있습니다.
"ignorePath": [
"node_modules",
"README.md"
]
Tyrion의 부채 의견으로 고려해야 할 의견 줄을 감지하는 데 사용되는 기본 부채 태그를 변경할 수 있습니다. 그렇게하려면 .tyrion-config.json
의 debtTags
입력을 무시합니다.
"debtTags": [
"@debt",
"TODO",
"FIXME"
]
이 기능은 더 이상 사용되지 않으므로 사용할 수 없습니다.
옵션 --filter
로 원하는 모든 유형의 부채로 결과를 필터링 할 수 있습니다. 필터 후 인수로 전달한 유형과 문자열을 비교합니다.
예 : tyrion -p ./src --filter bug