indieProgrammer
indieProgrammer

@Mr_Aghyad

12 تغريدة 9 قراءة Aug 10, 2020
هل بالإمكان أن نجعل سير عمل تطوير البرمجيات قائم على كتابة التعليقات أولا؟
في هذه السلسلة من التغريدات سأتطرق لأسلوب أحب أن أطلق عليه Comment First Development.
.
.
قراءة ممتعة
.
.
#برمجة
#كوكبة_المبرمجين
غالبا ما تتم كتابة التعليقات بعد كتابة الكود، وذلك لوضع توضيح وشرح للكود المكتوب.
الوضع في أسلوب Comment First Development مختلف بعض الشيء، حيث أن المبرمج يقوم بكتابة أسماء الدوال فقط. وبعد ذلك تتم إضافة التعليقات لشرح الهدف من الدالة وتسلسل العمليات فيها، ويتبع ذلك كتابة الكود.
قد يتساءل البعض، وما الفائدة من كتابة التعليقات قبل كتابة الكود نفسه؟ أليس من الأفضل التوثيق لاحقا؟
الجواب بباسطة هو أن الفائدة تكمن في عملية التوثيق مسبقا قبل البرمجة. حيث أن الهدف الفعلي من عملية التوثيق ليس مقتصرا فقط على جعل التعليق كمرجع لفهم الكود..
..ولكن التوثيق المبكر له فائدة يغفل عنها البعض ألا وهي (إستعياب وفهم وظيفة الكود قبل كتابته).
فبالنهاية التعليق الذي كتب ما هو إلا شرح وتوضيح لآلية عمل الكود الذي سيكتب لاحقا. وهنا نكون قد حصلنا على فائدتين وهما التوثيق وفهم الكود قبل كتابته.
وبالإضافة إلى فهم الكود والتوثيق، فهناك فائدة أخرى مهمة، وهي استخدام التعليقات كمسودة (Draft) قبل كتابة الكود. فيمكن للمبرمج طرح أفكاره وترتيبها والتعديل عليها قبل كتابة الكود.
كيف تتم عملية كتابة التعليقات بأسلوب Comment First Development؟
تتم العملية كالتالي:
أولا: كتابة الهدف من الدالة كتعليق
ثانيا: كتابة تسلسل الخطوات المنطقية لعمليات الدالة، كما لو أنك تشرحها لأحد أصدقائك، واجعل كل عملية في تعليق منفصل
ثالثا: وضع الكود المناسب أسفل كل تعليق
وهكذا..
قد تتشابه الأسماء على البعض ويظن أن هذا الأسلوب هو نفسه أسلوب Comment Driven Development
ولكن في الواقع الأسلوبان مختلفان.
فالذي تم ذكره في هذه السلسلة قائم على فكرة كتابة التعليقات أولا لغرض فهم وتوثيق الكود قبل كتابته.
أما الأسلوب الآخر فهو قائم على مبدأ جلب كود من مصدر وتحويله لتعليق وإلغاء التعليقات بشكل تدريجي وإجراء علميات اختبار فاشل وتعديل حتى ينجح الاختبار.
تحدث الأستاذ أحمد @ahmed_aljabri عن هذا الأسلوب في تغريدة سابقا يمكنكم الإطلاع عليها في التغريدة المرفقة.
أود أن أشير إلى أن التعليقات ليست دائما مفيدة، ويجب الانتباه لما يتم كتابته في التعليقات حتى لا ينتج لدينا تراكمات من الأكواد الغير مفيدة والمزعجة لقارئها، كما ذكرت سابقا في سلسلة تغريدات الكود النظيف.
ملاحظة أخرى أود التحدث عنها وهي متعلقة بالمزج بين أسلوبي Comment First Development و Test Driven Development.
وجود هذا المزج يعتبر إيجابي جدا، حيث أننا نضمن أن الدوال المكتوبة تم اختبارها ونجحت في هذه الاختبارات وهي بهيئة نظيفة وقابلة للصيانة وتؤدي وظيفة واحدة فقط، حيث أن هذه المعايير هي معايير الجودة المتوقعة من عملية TDD، أضافة إلى أن الكود سيكون موثق ومشروح.
للنقاش: ما رايكم بهذا الاسلوب وهل سبق وان استخدمتموه؟ وكيف يمكننا تحسين تجربة التطوير من خلال التعليقات؟

جاري تحميل الاقتراحات...