
Code-Sniff-AAI هو برنامج نصي Shell يقوم تلقائيًا بمراجعة تغييرات الكود. يتم استخدام GIT Diff لاستخراج المحتويات التي تم تغييرها لتنسيقات الملفات ، ومراجعة الكود الذي تم تغييره من خلال API.
code-sniff-ai
├── .env
├── .env.sample
├── .gitignore
├── README.md
├── example
│ ├── javascript
│ │ └── HelloWorld.js
│ └── python
│ └── hello_world.py
└── run-review.sh
قم بإنشاء ملف .env بالإشارة إلى ملف .env.sample وقم بتعيين متغيرات البيئة اللازمة.
يتطلب هذا البرنامج النصي jq . إذا لم يتم تثبيت jq ، فيمكنك تثبيته باستخدام الأمر التالي.
Ubuntu/Linux :
sudo apt-get install jqماكوس :
brew install jq Windows : يمكنك تنزيل واستخدام jq.exe من صفحة الإصدار الرسمي JQ. احفظ الملفات التي تم تنزيلها إلى المسار المناسب وأضف المسار إلى مسار النظام.
git add .run-review.sh script لإجراء مراجعات التعليمات البرمجية للملفات الملون. ./run-review.shيجب تشغيل هذا البرنامج النصي على الدليل الجذر لمستودع GIT ويستعرض التغييرات التي تم عرضها في GIT.
في الأساس ، نقوم بمراجعة ملف الامتداد التالي. يمكنك إعداده كمتغير للبيئة حسب الحاجة.
يحتوي ملف example/javascript/HelloWorld.js على مثال فئة JavaScript بسيط.
class HelloWorld {
constructor ( ) {
this . message = "Hello, World!" ;
}
sayHello ( ) {
console . log ( this . message ) ;
}
} هذا الرمز هو " sayHello ، العالم!" هذه فئة بسيطة تقوم بإخراج رسالة إلى وحدة التحكم.
يحتوي ملف example/python/hello_world.py على مثال فئة Python بسيطة.
class HelloWorld :
def __init__ ( self ):
self . message = 'Hello, World!'
def say_hello ( self ):
print ( self . message )
if __name__ == "__main__" :
hello = HelloWorld ()
hello . say_hello () هذا الرمز هو " say_hello ، العالم!" هذه فئة بسيطة تقوم بإخراج رسالة إلى وحدة التحكم.
يجب تنزيل النموذج الذي تريد استخدامه في Ollama باستخدام أمر ollama pull مسبقًا. على سبيل المثال ، لاستخدام نموذج gemma2 ، قم بتشغيل الأمر أدناه لتنزيل النموذج:
ollama pull gemma2 نحن ندرس كيفية دمج code-sniff-ai في سير عمل GIT لجعل أتمتة مراجعة التعليمات البرمجية أكثر كفاءة. على سبيل المثال ، نبحث عن طرق لإطلاق مراجعات التعليمات البرمجية تلقائيًا عند الضغط على فرع معين ، أو لتشغيل مراجعات تلقائية عند إنشاء العلاقات العامة. هذا التكامل يمكن أن يحسن عملية التطوير من خلال تضمينه في خط أنابيب CI/CD.
نحن ندرس إمكانية تطبيق الهندسة الفريدة لتحسين دقة وجودة مراجعات التعليمات البرمجية. نحن نجرب العديد من مقاييس التكوين السريع بحيث يمكن لنموذج الذكاء الاصطناعي توفير ملاحظات أكثر تطوراً ، مما سيزيد من كفاءة عملية مراجعة التعليمات البرمجية.
إذا كنت ترغب في المساهمة ، فتوصل إلى المشروع ، وإنشاء فرع جديد ، وتعكس التغييرات ، وتقديم طلب كامل.
تم منح هذا المشروع ترخيصًا برخصة معهد ماساتشوستس للتكنولوجيا.