Mohcin Space
187 subscribers
44 photos
12 videos
8 files
60 links
{فَأَمَّا الزَّبَدُ فَيَذْهَبُ جُفَاءً ۖ وَأَمَّا مَا يَنفَعُ النَّاسَ فَيَمْكُثُ فِي الْأَرْضِ} [الرعد: 17]

خواطر في الدين و الدنيا و هندسة البرمجيات في محاولة لإصلاح نفسي ولعلني اجعل لنفسي أثرا في إصلاح الاخرين.. على قلتهم، لعلنا نلقى الله بهذا.
Download Telegram
Forwarded from Mohcin
القيام بطلبات سحب جيدة.

في دوري كمطور برامجيات،اثناء قيامي بطلبات السحب pull requests تعلمت عديد الأشياء (من أخطائي) التي تجعل طلب السحب الخاص بك فعالا وجيدا. فيما يلي بعض الخطوات لتوفير طلب سحب منظم بشكل جيد والذي يسهل عملية المراجعة:

 1. قم بتقسيم المهام الكبيرة: إذا كنت تتعامل مع مهمة كبيرة تتطلب تغييرات واسعة النطاق عبر ملفات متعددة، ففكر في طلب تقسيمها إلى تذاكر أصغر وأكثر قابلية للإدارة، هذا يعزز عملية مراجعة أكثر تركيزا وكفاءة.

 2. اشرح التغييرات والدوافع: عند إجراء تعديلات، سواء على الوظائف أو الفئات أو الخصائص، قم دائمًا بتضمين وصف واضح لما قمت بتغييره وسبب إجراء تلك التعديلات. إن فهم الأساس المنطقي وراء تغييراتك يساعد المراجعين على تقديم feedback ذات معنى أكبر، و يجعلكم تكسبون وقتا كبيرا ستخسرونه في التعليقات اذا لم يكن طلبك للسحب مفهوم أو ما يعرف بال (changes loop).

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

 4. تعديلات واجهة المستخدم/تجربة المستخدم: عندما تقوم بتغيير عناصر واجهة المستخدم (UI) أو تجربة المستخدم (UX)، قدم شرحًا تفصيليًا للأسباب الكامنة وراء هذه التعديلات. بالإضافة إلى ذلك، قم بإرفاق لقطات شاشة قبل وبعد لتوضيح التغييرات وتأثيرها بشكل مرئي، اذا استطعت ان ترفق فيديو للتغيرات يكون أفضل. 

 5. توضيح تغييرات قاعدة البيانات: إذا قمت بإجراء تعديلات على DB migration، فمن الضروري توضيح سبب هذه التغييرات. تأكد من الإشارة إلى ما إذا كانت هناك علاقات مع tables ذات صلة أو هناك تعديلات مطلوبة في مكان آخر، ربما في واجهة برمجة التطبيقات (API).

 6. قم بكتابة الاختبارات: قبل إرسال طلب السحب، اكتب اختبارات الوحدة unit tests أو الاختبارات الشاملة e2e tests. تأكد من أن هذه الاختبارات تمر بشكل صحيح محليًا أولا.

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

 باتباع هذه الخطوات، ستحسن جودة طلبات السحب الخاصة بك، و ستسهل من فهمك للطلبات التغيرات اذا وجدت، هذا من وجهة نظري المتواضعة، مرحبا بآرائكم. 

والله ولي التوفيق.

#pull_requests
#software_development
#software_engineering_concepts
👍2
ال refactoring تعني قطعا ان تقوم بعمل تحسينات على كود شغال سابقا.

أيضا:

- اعادة هيكلة كود ما تعني ان طريقة كتابة الكود سيتم تحسينها، لكن دون تغيير الوظيفة التي يؤديها.

- تعني ايضا انك يجب ان تقوم بالتحسين سطرا سطرا،، فلو طلب منك دفع الكود الذي انت شغال عليه -سطرا سطرا- يجب ان تقوم بدفعه للإنتاج و يجب ان يؤدي الوظيفة التي كان يقوم بها من قبل حتى و لو لم تكتمل عملية اعادة الهيكلة.

- و يمكن بدأ تتمة اعادة الهيكلة في مهمة اخرى..

اللهم علمنا و انفعنا بما علمتنا.

#softwaredevelopment #software_engineering_concepts #refactoring #coding
5