เรากำหนดคุณภาพของ Theodo โดย "ปัจจัยคุณภาพ 3S" ที่รหัส:
เราคิดว่าทีมต้องการสิ่งต่อไปนี้เพื่อให้สามารถส่งรหัสคุณภาพสูง:
เป้าหมายของ Tyrion คือการช่วยคุณในจุดสุดท้าย "สามารถวัดคุณภาพได้"
เรากำหนดหนี้ทางเทคนิคเป็นรหัสหรือสถาปัตยกรรมทุกชิ้นที่ป้องกันคุณภาพ จากการทดลองต่าง ๆ เราเห็นว่าเมื่อเราตรวจสอบวิวัฒนาการของหนี้ทางเทคนิคมันมีแนวโน้มที่จะป้องกันไม่ให้มันเพิ่มขึ้น เราลองวิธีการจัดการและการวัดที่แตกต่างกันในอดีต (การ์ด Trello, Google เอกสาร, โพสต์-มัน, .. ) แต่เราไม่เคยพบวิธีแก้ปัญหาที่ไม่เจ็บปวดที่จะช่วยให้เรา:
ดังนั้นเราจึงสร้าง Tyrion คุณทำได้แล้ว:
คุณต้องใช้ Tyrion กับ Node V12 หรือ V14 ปัจจุบันไม่ทำงานกับเวอร์ชันที่เหนือกว่าส่วนใหญ่เป็นเพราะปัญหาเกี่ยวกับเครื่องมือหลักที่ใช้งาน: NodeGit
ติดตั้ง tyrion ทั่วโลก: npm i -g tyrionl
(ใช่, tyrionl
กับ l
สุดท้าย, ไม่ใช่การพิมพ์ผิด)
เรียกใช้ 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
เพื่อรับคะแนนหนี้ปัจจุบันและสร้างรายงาน CSVtyrion --evolution 28 -p .
เพื่อรับวิวัฒนาการของหนี้ในช่วง 28 วันเริ่มต้นจากการกระทำครั้งสุดท้ายtyrion --evolution 28 -b prod -p .
เพื่อรับวิวัฒนาการของหนี้ในช่วง 28 วันเริ่มต้นจากการกระทำครั้งสุดท้ายของสาขา Prod คุณสามารถใช้แท็กหนี้ต่อไปนี้เพื่อผลลัพธ์เดียวกัน: @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' และเริ่มต้นด้วย *
หรือ #
ซึ่งควรครอบคลุมภาษาการเขียนโปรแกรมเว็บส่วนใหญ่
คุณสามารถแทนที่การกำหนดราคาเริ่มต้นของรายการหนี้โดยการสร้างไฟล์ .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 ในการทำเช่นนั้นแทนที่ debtTags
ใน .tyrion-config.json
:
"debtTags": [
"@debt",
"TODO",
"FIXME"
]
ฟังก์ชั่นนี้ไม่สามารถใช้งานได้อีกต่อไปเนื่องจากไม่ได้ใช้
คุณสามารถกรองผลลัพธ์ด้วยหนี้ทุกประเภทที่คุณต้องการด้วยตัวเลือก --filter
กรอง มันจะเปรียบเทียบประเภทและสตริงที่คุณผ่านเป็นอาร์กิวเมนต์หลังจากตัวกรอง
ตัวอย่าง: tyrion -p ./src --filter bug