لقد حددنا في جودة ثيودو من خلال "عامل جودة 3s" الذي يوضحه الرمز:
نعتقد أن الفريق يحتاج إلى ما يلي ليكون قادرًا على تقديم رمز ذي جودة عالية:
الهدف من تيريون هو مساعدتك في النقطة الأخيرة "؟ كن قادرًا على قياس الجودة".
حددنا الدين التقني على أن كل جزء من الكود أو الهندسة المعمارية يمنع الجودة. من خلال التجارب المختلفة ، رأينا أنه عندما كنا نراقب تطور الدين الفني ، كان من المرجح أن يمنعها من الزيادة. لقد جربنا طرقًا مختلفة لإدارةها وقياسها في الماضي (بطاقات Trello ، مستندات Google ، بعد ذلك ، ..) لكننا لم نجد أبدًا حلًا غير مؤلم يسمح لنا بال:
لذلك خلقنا تيريون. يمكنك الآن:
تحتاج إلى استخدام 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