يحتاج كُلُّ مُطورٍ لكتابة أكوادٍ وبرامج يستطيع غيره من المبرمجين (أو ربما هو نفسه في المستقبل) قراءتها وفهمها، لكن في الحقيقة فقط 20٪ من المطورين لهم يكتسبون هذه المهارة.
Clean Code: A Handbook of Agile Software Craftsmanship

يُمكن للأكواد المبعثرة والسيئة أنْ تشتغل طالما أنها تُنفِّذ المُراد لها ولا تحتوي على أي أخطاء منطقية، لا شك في ذلك، لكن المؤسسات والأفراد يُضيعون ساعات وموارد لا تُعد ولا تحصى بسبب الأكواد المكتوبة بشكلٍ سيء وغير مفهوم للبشر.
في هذا الكتاب يعرض “روبرت مارتن” عالم الحاسوب وخبير البرمجيات المشهور باسم “Uncle Bob” أفضل القواعد المتبعة لكتابةِ كودٍ نظيفٍ ومقروء .
لنبدأ بالتمرُن! كتابة أسماء ذات معنى حقيقي.
يُناقشُ الكتاب في فصلٍ من فصوله عن الأسماء المُعبرة التي تحمل معنى واضحاً لما تُمثله، لنُلاحظ هذ الدالة “Function”:
def calc(n1, n2)
return n1 / n2
end
إنْ كُنت ترى أنّ calc هو اسمٌ جيد ومُعبر لهذه الدالة فإن العم بوب لن يُوافقك.
- الاسم هو اختصار، لا تستعمل اختصارات أبداً.
- الدوال تقوم بشيءٍ مُحدد، يجب أنْ تُسمى بأفعال إذن.
- حتى لو استبدلنا الاختصار بـ “calculate” كما قد يتبادر لذهنك فما زال الأمر غير واضح، يجب أنْ نُعطي للتسمية معنى أوضح.
هذه الدالة “Function” تقوم بقسمة عددين، إذن التسمية الأنسب لها هي “divide”.
def divide(n1, n2)
return n1 / n2
end
result = divide(1, 2)
لم ننتهِ بعد، فالبارامترات “parameters “n1 & n2 لا تحمل أسماءً ذات معنى بعد، سنستبدلهما بـ dividend و divisor ونفس الشيء بالنسبة لمتغير result سنقوم باستبداله بـ “quotient”. الآن أصبح لدينا كود مُعبر:
def divide(dividend, divisor)
return dividend / divisor
end
quotient = divide(1, 2)
إنْ لم تكُن مقتنعاً بعد بقراءة هذا الكتاب، أنظر للصورة أسفله وابدأ بقراءته في أقرب وقت ممكن.

- إعداد: ياسين بجدو.
- تدقيق لغوي: أكرم عبود.