我們以“ 3S質量因子”為代碼以Theodo質量定義:
我們認為團隊需要以下內容才能提供高質量的代碼:
提利昂的目標是在最後一點幫助您“?能夠衡量質量”。
我們將技術債務定義為防止質量的每條代碼或架構。通過各種實驗,我們看到,當我們監視技術債務的演變時,更有可能阻止其增加。過去,我們嘗試了不同的方法來管理和測量它(Trello卡,Google Docs,Post-it,..),但是我們從未找到一種無痛的解決方案,可以讓我們:
所以我們創建了提利昂。您現在可以:
您需要將Tyrion與節點V12或V14一起使用。它目前不使用卓越版本,主要是因為使用主要工具的問題: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 .
從POR分支機構的最後一個提交開始,要在28天內獲得債務的演變。 您可以將以下債務標籤用於相同的結果: @debt
, TODO
, FIXME
。
提利昂(Tyrion)解析了以下約定遵循的評論的文件:
/**
* @debt DEBT_TYPE:SUB_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"
]
您可以更改用於檢測哪個評論行的默認債務標籤,應將其視為提利昂的債務評論。 debtTags
"debtTags": [
"@debt",
"TODO",
"FIXME"
]
此功能不再使用,因為它沒有使用。
您可以通過所需的任何類型的債務過濾結果--filter
濾波器。它將比較過濾器後作為參數所傳遞的類型和字符串。
示例: tyrion -p ./src --filter bug