Theodo Qualityで「3S品質要因」によって定義しました。
高品質のコードを提供できるように、チームは次のものを必要としていると思います。
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 .
製品支店の最後のコミットから始まる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」を含むすべての行を探し、ほとんどのWebプログラミング言語をカバーする*
または#
で開始します。
プロジェクトのルートディレクトリに.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