Kami mendefinisikan pada kualitas Theodo dengan "faktor kualitas 3S" bahwa kode:
Kami berpikir bahwa tim membutuhkan yang berikut untuk dapat memberikan kode berkualitas tinggi:
Tujuan Tyrion adalah untuk membantu Anda pada poin terakhir "? Dapat mengukur kualitas".
Kami mendefinisikan utang teknis sebagai setiap bagian kode atau arsitektur yang mencegah kualitas. Melalui berbagai percobaan, kami melihat bahwa ketika kami memantau evolusi utang teknis, lebih mungkin untuk mencegahnya meningkat. Kami mencoba berbagai cara mengelola dan mengukurnya di masa lalu (kartu Trello, Google Documents, Post-It, ..) tetapi kami tidak pernah menemukan solusi tanpa rasa sakit yang memungkinkan kami untuk:
Jadi kami menciptakan Tyrion. Anda sekarang bisa:
Anda perlu menggunakan Tyrion dengan Node V12 atau V14. Saat ini tidak berfungsi dengan versi superior terutama karena masalah dengan alat utama dengan penggunaan: nodegit.
Instal Tyrion secara global: npm i -g tyrionl
(ya, tyrionl
dengan l
final, itu bukan kesalahan ketik).
Jalankan tyrion
dengan opsi berikut
-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
Contoh:
tyrion -p ./src -c
untuk mendapatkan skor utang saat ini dan membuat laporan CSVtyrion --evolution 28 -p .
Untuk mendapatkan evolusi utang selama 28 hari mulai dari komit terakhir.tyrion --evolution 28 -b prod -p .
Untuk mendapatkan evolusi utang selama 28 hari mulai dari komit terakhir dari cabang Prod . Anda dapat menggunakan tag utang berikut untuk hasil yang sama: @debt
, TODO
, FIXME
.
Tyrion parses file yang mencari komentar yang mengikuti konvensi berikut:
/**
* @debt DEBT_TYPE:SUB_TYPE
*/
Ada skor default untuk debt_type berikut:
Anda tidak perlu menentukan sub_type, jadi contoh minimum dapat:
/**
* @debt quality
*/
Anda dapat menambahkan komentar untuk memberikan detail lebih lanjut tentang item utang dengan mengikuti konvensi ini:
/**
* @debt DEBT_TYPE:SUB_TYPE "Author: comment"
*/
Contoh lengkap mungkin:
/**
* @debt security:sql-injection "Maximet: The request is not escaped when being called from the command"
*/
Parser akan mencari semua baris yang berisi '@debt' dan mulai baik dengan *
atau #
yang harus mencakup sebagian besar bahasa pemrograman web.
Anda dapat mengesampingkan harga default item utang dengan membuat file .tyrion-config.json
di direktori root proyek Anda. Anda bahkan dapat membuat tipe Anda sendiri. Ini yang default:
{
"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"
]
}
Anda juga dapat menandai beberapa file sebagai "joconde" file yang mengikuti dengan sempurna standar kualitas kode. Anda dapat menggunakan tag berikut untuk hasil yang sama: @best
, @standard
, JOCONDE
.
Contoh: // JOCONDE React:component "The standard can be find here: http....."
Anda dapat mengabaikan file yang berisi string tertentu dengan menggunakan opsi "ignorePath"
di file config:
"ignorePath": [
"node_modules",
"README.md"
]
Anda dapat mengubah tag utang default yang digunakan untuk mendeteksi jalur komentar mana yang harus dipertimbangkan sebagai komentar utang oleh Tyrion. Untuk melakukannya mengesampingkan entri debtTags
di .tyrion-config.json
:
"debtTags": [
"@debt",
"TODO",
"FIXME"
]
Fungsi ini tidak tersedia lagi karena tidak digunakan.
Anda dapat memfilter hasilnya dengan segala jenis hutang yang Anda inginkan dengan opsi --filter
. Ini akan membandingkan jenis dan string yang Anda lewati sebagai argumen setelah filter.
Contoh: tyrion -p ./src --filter bug