
Creedengo هو مشروع جماعي يهدف إلى تقليل البصمة البيئية للبرامج على مستوى الكود. الهدف من المشروع هو توفير قائمة بمحللي الرموز الثابتة لتسليط الضوء على هياكل الكود التي قد يكون لها تأثير بيئي سلبي: الطاقة والموارد الزائدة ، "Fatware" ، عمر تقصير الطرفي ، وما إلى ذلك.
يعتمد Creedengo على كتالوجات متطورة من الممارسات الجيدة ، لمختلف التقنيات. ثم يقوم المكون الإضافي Sonarqube بتنفيذ هذه الكتالوجات كقواعد لمسح مشاريعك.
تحذير : لا يزال هذا مشروع مرحلة مبكرة للغاية. أي ردود فعل أو مساهمة سيكون موضع تقدير كبير. يرجى الرجوع إلى قسم المساهمة.
7 تقنيات مدعومة من قبل Creedengo الآن:


هناك نوعان من الإضافات:
يتم تحليل الكود ليتم تحويله إلى AST. سوف تسمح لك AST بالوصول إلى عقد واحد أو أكثر من الكود الخاص بك. على سبيل المثال ، ستتمكن من الوصول إلى كل for تبذلونه من Loop ، لاستكشاف المحتوى وما إلى ذلك.
لفهم بنية AST بشكل أفضل ، يمكنك استخدام AST Explorer.
يحتوي هذا المشروع على مواصفات جميع قواعد Creedengo ، لجميع اللغات.
يتم تنظيم القواعد بواسطة مجلد بناءً على معرفها في مجلد قواعد الجذر. يحتوي كل من هذه المجلدات على ملف مع بيانات التعريف للقاعدة ، والوصف حسب اللغة.
يستخدم ملف البيانات الوصفية التنسيق المدعوم من مكتبة Sonarsource Analyzers Commons. لمعرفة القيم التي يمكن وضعها هناك ، ننصحك باستخدام وثائق Sonarqube الرسمية ، والاعتماد على الملفات الموجودة بالفعل.
هنا مثال:
src/main/rules
├── EC104
│ ├── java
│ │ ├── EC104.asciidoc
│ │ ├── EC104.json
│ ├── php
│ │ ├── EC104.asciidoc
│ ├── python
│ │ ├── EC104.asciidoc
│ └── EC104.json
├── ...
لتحديد البيانات الوصفية للغة معينة (على سبيل المثال ، يقلل قاعدة فقط من أجل لغة واحدة) ، من الممكن إنشاء ملف JSON في مجلد اللغة ، وسيتم دمج ذلك مع الملف المشترك أثناء الإنشاء. تحتوي المفاتيح في الملف المحدد على أولوية ومن الممكن إضافة مفاتيح جديدة ولكن ليس لحذفها من العالم العالمي.
يستخدم وصف القواعد تنسيق ASCIIDOC (مع توافق التخفيض) من أجل السماح بإدراج الصفحات الأخرى (هذه الميزة غير متوفرة في المعيار مع تخفيض التنقل).
يرى:
يمكنك بسرعة الحصول على مظهر من ملحقات Creedengo مع Docker. ألقوا نظرة على قسم "البدء" في كل مكون إضافي:
الطريقة الرئيسية للحصول على مكونات Creedengo هي تنزيلها من سوق Sonarqube الخاص بك (متوفر في قسم الإدارة). ولكن إذا أردت ، يمكنك أيضًا تنزيلها من إصدارات Github.
لقد قمنا بتقسيم الإضافات الخاصة بنا إلى مستودع creedengo إلى مستودع واحد لكل مكون إضافي في ديسمبر 2023. وبالتالي ، تتوفر إصدارات البرنامج المساعد على مستودعين اعتمادًا على الإصدار الذي تريده:
| إصدار الإضافات | نسخة Sonarqube |
|---|---|
| 1.4.+ | Sonarqube 9.4.+ LTS إلى 10.1 |
| 1.3.+ | Sonarqube 9.4.+ LTS إلى 10.0 |
| 1.2.+ | Sonarqube 9.4.+ LTS إلى 10.0 |
| 1.1.+ | Sonarqube 9.4.+ LTS إلى 9.9 |
| 1.0.+ | Sonarqube 9.4.+ LTS إلى 9.9 |
| 0.2.+ | Sonarqube 9.4.+ LTS إلى 9.9 |
| 0.1.+ | Sonarqube 8.9.+ LTS إلى 9.3 |
| إصدار الإضافات | نسخة جافا |
|---|---|
| 1.4.+ | 11/17 |
| 1.3.+ | 11/17 |
| 1.2.+ | 11/17 |
| 1.1.+ | 11/17 |
| 1.0.+ | 11/17 |
| 0.2.+ | 11/17 |
| 0.1.+ | 11/17 |
أنت خبير تقني ، مصمم ، مدير مشروع ، خبير في المسؤولية الاجتماعية للشركات ، خبير في تصميم Ecodesign ...
تريد تقديم مساعدة شركتك ، وساعدنا في التنظيم ، والتواصل مع المشروع؟
لديك أفكار لتقديمها لنا؟
نحن نستمع إليك لإحداث تقدم جماعيًا ، وربما معك!
نحن بحاجة إليك!
هنا حزمة بداية
أي سؤال؟ نحن هنا من أجلك! أولاً ، قم بإنشاء مشكلة من فضلك. ثم ، إذا لم يكن هناك إجابة ، اتصل ...
نحن هنا نكرم بعض أعضاء فريق الأساس غير النشطين الذين قدموا مساهمات قيمة في الماضي.
لقد ساهموا في نجاح Creedengo:
لقد دعموا المشروع: