كيف تطور إيقاعك البرمجي؟


كيف تدير عادة قرار التغيير  (لاتخاذ قرارات تصحيحية) أثناء التطوير و البرمجة؟ ما بين أن تتخذ قرار التغييرات البرمجية بشكل مبكر جداً أو تتخذ ردة فعل متأخرة لتعديل شيفرتك البرمجية لتصحيح الأوضاع ؟

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

تغيير الدرجة في ” القير البرمجي” يعني العودة لتنظيف الكود و إصلاح هيكلته Refactoring و عمل تدقيق Inspection كامل في معماريته. العودة خطوة للوراء للتبسيط و تطوير نمط برمجي موحد Pattern .  هذا ما نعنيه عندما نقول “رفع أو خفض القير البرمجي” Gear shift up / down أو بالعامي “تغيير نمره 🙂 ”

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

يجب أن نغير “نمرة” القير البرمجي أثناء التطوير كما نغير تماماً ناقل الحركة أثناء القيادة، لذلك إذا غيرنا بشكل مبكر جداً فهذا يعني أننا سنقضي وقتاً أطول لمحاولة استرجاع سرعتنا في الإنتاجية و كتابة الكود، و إذا غيرنا بشكل متأخر فقد نتسبب بتلفيات كبيرة في التطبيق أو قد ندمره بالكامل ! معرفة وقت التغيير أمر مهم فهو يبقي عملية التطوير على نحو ممتاز و بإنتاجية عالية. لا نعمد إلى تغيير درجة ناقل الحركة لمجرد التغيير، يجب أن نفعل ذلك عندما يكون الوقت مناسب، يجب أن نجد إيقاعنا البرمجي الأفضل.

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

بتطوير إيقاعك البرمجي و معرفة متى و في أي تجاه تحرك “ناقل الحركة -القير- البرمجي” لتطبيقك ، ستتمكن من السير بتطبيقك إلى بر الأمان بأقل عدد ممكن من أخطاء التصميم و التعقيدات التي لا مبرر لها.

 

‎أضف رد:

‎بريدك الإلكتروني لن يظهر لأحد

‎القائمة الجانبية المتحركة

القليل عني

القليل عني

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

ملفاتي الشخصية