"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > أداة إنشاء مستندات Infusion cli

أداة إنشاء مستندات Infusion cli

تم النشر بتاريخ 2024-11-08
تصفح:711

Infusion docs generation cli tool

Infusion هي أداة مفتوحة المصدر تُستخدم لإنشاء الوثائق في ملفات التعليمات البرمجية الخاصة بك. ويستخدم نموذج OpenAI gpt-4 لكتابة التعليقات. لقد كان مشروعي وكتبته بلغة بايثون.

رابط جيثب:
https://github.com/SychAndrii/infusion

explainer.js هي أداة مفتوحة المصدر تُستخدم لشرح مقتطفات التعليمات البرمجية في ملفات التعليمات البرمجية الخاصة بك. ويستخدم نماذج Groq لكتابة التعليقات. لقد كان مشروعًا لزميلي @aamfahim وقد كتبه في Node.JS

رابط جيثب:
https://github.com/aamfahim/explainer.js

أنا مسجل حاليًا في دورة تدريبية مفتوحة المصدر في Seneca Polytechnic، حيث تم تكليفنا بالتعاون مع شخص آخر ومراجعة كود بعضنا البعض وتقديم بعض الاقتراحات للتحسين باستخدام مشكلات GitHub. سأقوم بوصف هذه العملية.

طريقة الاتصال

تم إجراء معظم المشكلات التي تم إنشاؤها لكلا المستودعين باستخدام الاتصال المتزامن عبر مكالمة Discord. بعد ذلك، تحدثنا بشكل غير متزامن باستخدام رسائل Discord، حيث كانت هناك مشكلة صعبة بالنسبة لي لتبسيط إعداد مشروعي باستخدام نصوص bash، وكان الاتصال بزميلي في الفريق في كل مرة أحتاج فيها لاختبار ما إذا كان يعمل على جهازه يبدو غير ضروري. لم يكن الاختبار باستخدام حاويات Docker ونظام WSL Linux الفرعي على جهازي هو نفسه اختبارها على نظام Al، وقد سلط الضوء على أخطاء مهمة.

تجربة مراجعة كود شخص ما

لم أواجه أي شيء غير عادي عند مراجعة التعليمات البرمجية الخاصة بزميلي في الفريق، نظرًا لأن لدي خبرة كبيرة في تطوير Node.JS. لقد أحببت إنشاء المشكلات ثم اقتراح الحلول لها على الفور. إحدى المشكلات التي واجهناها هي أننا لم نتمكن من اكتشاف طريقة تسمح لي بوضع تصنيفات على المشكلات التي قمت بإنشائها، ولم يتمكن سوى آل من فعل ذلك، وهو الأمر الذي كان مزعجًا.

تجربة شخص يقوم بمراجعة الكود الخاص بي

اقترح آل مجالًا كبيرًا للتحسين، خاصة فيما يتعلق بتثبيت أداة CLI الخاصة بي. عندما قام بتشعب الريبو الخاص بي لأول مرة، كان من الضروري أن يقوم المستخدمون النهائيون بتثبيت إصدار معين من بايثون يدويًا، وهي مهمة محبطة بالتأكيد. بالإضافة إلى ذلك، سلط الضوء على التحسينات المحتملة الأخرى للاستخدام المريح للأداة، مثل تقديم ملف .env بحيث لا تضطر إلى إدخال مفتاح API الخاص بك في كل مرة تقوم فيها بتشغيل الأداة. أحب الحصول على مدخلات بشأن الكود الخاص بي من أشخاص آخرين لأنه يسمح لي بالتطور كمطور، كما أنه يوسع بالتأكيد رؤيتي لدورة حياة التطوير.

مشاكل أثناء المراجعة والاختبار

معظم المشاكل التي واجهناها كانت مع أداتي، لأن برنامج Al's CLI تمت كتابته بلغة Node.JS وكلانا لديه خبرة كبيرة في ذلك. في المقابل، كلانا لا يحب نظام بايثون البيئي، لذلك واجهنا الكثير من المشاكل في التفاعل معه. عند اختبار مستودع Al، وجدت أن المستندات المكتوبة في ملف README الخاص به مضللة أو مربكة للفهم، خاصة خيارات النموذج ومفتاح واجهة برمجة التطبيقات. كان علينا أن نخوض عملية التجارب والأخطاء لمعرفة مفاتيح ونماذج API التي تقبلها أداته. عندما يتعلق الأمر باختبار المستودع الخاص بي، كان إصدار python على نظام Al قديمًا جدًا (2.7)، لذا كان عليه تثبيت 3.10.6 (الإصدار المطلوب لاستخدام أداتي) يدويًا. ومع ذلك، حتى ذلك الحين لم تنتهي المشاكل. على الرغم من أنه قام بتثبيته، إلا أنه لم يتم التعرف عليه من خلال البيئة الافتراضية التي أنشأتها أداتي باستخدام Pipenv. بعد ذلك، شعرنا أيضًا بالإحباط من إدخال مفتاح واجهة برمجة التطبيقات (API) المطلوب لاستخدام أداتي في كل مرة نبدأ فيها. وأخيرًا، لم تساعد مستندات README في التثبيت. لقد حاولنا متابعتهم، لكننا استمررنا في الحصول على أخطاء تتعلق بعدم التعرف على بعض البرامج النصية في PATH. وذلك عندما قررت أننا بحاجة إلى نوع من أدوات التشغيل الآلي التي تقوم بكل عمليات التثبيت نيابةً عنك. إحدى الأفكار التي كانت لدي هي إرساء التطبيق، ولكن بعد ذلك سيتطلب مني تعيين وحدات تخزين Docker بطريقة أو بأخرى إلى دليل الإخراج وملفات الإدخال المحددة لأداتي، وهذا من شأنه أن يعقد كل شيء مرتين. وبالتالي، تذكرت أن الكثير من مديري الحزم هم في الواقع أدوات سطر أوامر، وإذا قمت بتثبيتهم عن طريق استنساخ GitHub repo، فأنت بحاجة إلى إعدادهم عن طريق تنفيذ نوع من البرامج النصية لإعداد bash. وكانت هذه هي الفكرة التي قررت تنفيذها. أخيرًا، لم يتمكن كلانا من اكتشاف طريقة لتعيين تسميات مثل خطأ أو تحسين للمشكلات التي رفعناها.

القضايا التي رفعتها

https://github.com/aamfahim/explainer.js/issues/13
https://github.com/aamfahim/explainer.js/issues/12
https://github.com/aamfahim/explainer.js/issues/11
https://github.com/aamfahim/explainer.js/issues/10
https://github.com/aamfahim/explainer.js/issues/9

لتلخيص المشكلات التي وجدتها، فإنها في الغالب غطت الحالات التي لم تعمل فيها الخيارات التي تمت كتابتها في ملف README لهذا المشروع، أو تم وصف طريقة عملها بشكل مضلل.

القضايا التي تم رفعها على الريبو الخاص بي

https://github.com/SychAndrii/infusion/issues/11
https://github.com/SychAndrii/infusion/issues/10
https://github.com/SychAndrii/infusion/issues/9
https://github.com/SychAndrii/infusion/issues/8

لتلخيص المشكلات التي تم العثور عليها في الريبو الخاص بي، كانت تتعلق في الغالب بسهولة استخدام أداتي. بالإضافة إلى ذلك، كان هناك خطأ واحد عندما قمت بتوفير ملف يحتوي على كود مصدر صحيح من الناحية التركيبية إلى أداتي، وتم تعريفه على أنه ملف لا يحتوي على كود مصدر صالح.

القضايا التي تمكنت من إصلاحها

لقد أصلحت جميع مشكلاتي. استغرق إصلاحها جميعًا أقل من 30 دقيقة، ولكن كانت هناك مشكلة واحدة استغرقت مني 2-3 ساعات لإصلاحها:
https://github.com/SychAndrii/infusion/issues/8

يبدو الأمر غريبًا نظرًا لأن تحسين ملف README يجب أن يكون قابلاً للتحقيق بسهولة، ولكن الاقتراح الأول الذي قدمه Al طلب مني إعادة صياغة عملية تثبيت أداتي بالكامل، الأمر الذي تطلب مني تقديم نصين للتثبيت - أحدهما لـ bash و واحد ل Powershell. كانت المشكلة التي لم أتمكن من حلها في معظم الأوقات هي أنه على الرغم من أن نصوص الإعداد هذه قامت بتثبيت الإصدار المطلوب من python بشكل صحيح، إلا أن هذا الإصدار من python لم يتم تمريره إلى البيئة الافتراضية، والتي تحتاج إلى إدخالها قبل استخدام أداتي. في النهاية، قمت بإصلاح ذلك بالرغم من ذلك.

ما تعلمته

لقد قمت بالتأكيد بتحسين مهاراتي في README. كانت الطريقة التي قدمت بها مثال الاستخدام مربكة للغاية للمستخدم النهائي. بالإضافة إلى ذلك، لقد استخدمت أخيرًا لغات bash وpowershell للقيام بشيء ما بنفسي، ليس لمهمة مدرسية، وليس لأنه كان متطلبًا، ولكن لأنني أردت تبسيط عملية التفاعل مع أداتي. أخيرًا، قررت أن أواجه اللغة التي لا أطيقها مطلقًا، وهي لغة بايثون. من المؤكد أن العمل معه لم يكن ممتعًا بالنسبة لي، ولكن أعتقد أنه من الضروري أن تكون قادرًا على استخدامه إذا كنت تريد العثور على وظيفة اليوم، خاصة مع انتشار الذكاء الاصطناعي.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/sych_andrii/infusion-docs-generation-cli-tool-ipg?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3