fbpx
الفضائيون

الكتاب الذي يحتاج كُل مبرمج لقراءته

يحتاج كُلُّ مُطورٍ لكتابة أكوادٍ وبرامج يستطيع غيره من المبرمجين (أو ربما هو نفسه في المستقبل) قراءتها وفهمها، لكن في الحقيقة فقط 20٪ من المطورين لهم  يكتسبون هذه المهارة.

Clean Code: A Handbook of Agile Software Craftsmanship

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)

إنْ لم تكُن مقتنعاً بعد بقراءة هذا الكتاب، أنظر للصورة أسفله وابدأ بقراءته في أقرب وقت ممكن.

المُساهمون:
  • إعداد: ياسين بجدو
  • تدقيق لغوي: أكرم عبود

إضافة تعليق

الفضائيون

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