إعلان علوي

إلى المبتدئين في صناعة البرمجيات.. حان الوقت للانتقال إلى المستوى التالي باعتماد قواعد الكود النظيف Clean Code

مجموعة كبيرة جدًا من الفروقات التي تميّز المبرمج الذي دخل توّاً إلى سوق العمل والمبرمج المحترف الذي تجري خلفه الشركات الكبرى، إحدى هذه الفروقات هو الكود النظيف Clean Code فلا تحلم بوظيفة تطرق بابك بشكل مفاجئ إن كنت معروفًا بأكوادك الغامضة، جميعنا نكتب أكواداً برمجية وجميعها تعمل بكفاءة ربما، ولكن إذا أردت العمل في شركات كبيرة وأن تكتب بحرفية أكبر فعليك التفكير بكتابة الأكواد النظيفة  Clean Code.

الكود العادي والكود النظيف

Clean Code by Robert Cecil Martin – Review – Indie Dev Art

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

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

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

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

المزيد عن الكود النظيف

Review Book: Clean Code - Uy Nguyen

لا يقتصر الأمر على الايضاح فحسب، وإنما على طريقة الكتابة، واستخدام أحدث الأساليب في لغة البرمجة التي تعمل عليها، أو على الأقل الاتفاق بين رفقاء العمل على التعليمات البرمجية التي توافق مجال العمل، لا يمكنك على سبيل المثال كتابة كود برمجي بـ 10 أسطر ويمكنك كتابته بـ 5 أو بـ 8 حتى وذلك باستخدام تعليمات أحدث أو أفضل، ولا بد من التنويه أن الكود النظيف لا يعتمد على قواعد اللغة البرمجية ولا نوعها، وإنما على ما اجتمع عليه مجتمع المطورين الخاص بتلك اللغة مع مرور الوقت.

الكود النظيف لا يقتصر على الشكل فحسب ولا على الوضوح وسهولة القراءة، وإنما يتعدّى ذلك إلى أبعد من هذا فهل من المعقول كتابة كود يحتاج إلى 3 طلبات مع السيرفر، بينما يمكنك كتابته بطريقة يستطيع أداء نفس المهمة بطلب واحد؟
قد لا يكون الموضوع بهذه السهولة، فقد تحتاج الى السهر لليال طوال للوصول إلى فكرة تتيح لك تقليل عدد الطلبات من السيرفر، وقد تحتاج لأسابيع لكتابة دالة function عامة تستطيع من خلالها اختصار عمل عشرات الدوال الأخرى.

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

وما دمت قد واصلت القراءة إلى هنا فبالتأكيد أنت من أهل البرمجة، وحان الوقت للتوقف عن الكتابة العادية وتنظيم أكوادك بشكل احترافي.

اقرأ أيضًا: تحدي 100DaysOfCode… رحلة ألهمت آلاف المطوّرين حول العالم

القواعد العامة لكتابة الكود النظيف Clean Code

Practices to improve your programming skills |

يمكننا سرد بعض الخصائص العامة للأكواد النظيفة وتلخيصها بالنقاط التالية:

  • عدد متغيرات أقل ما يمكن
    لا يختلف اثنان على ضرورة تخفيض عدد المتغيرات والدوال والـ classes… إلخ، للوصول إلى كود أسهل وذي أفكار أبسط.
  • عدم التكرار
    هذا شيء معروف عند الجميع، علينا أن نلغي كل الأسطر المتفرقة التي تؤدي نفس المهمة، ونحاول جمعها في سطر واحد أو في دالة واحدة نستدعيها عند اللزوم.
  • اجتياز كافة الاختبارات
    هناك بيئات عمل معروفة أو ما تسمى Test-driven development TDD لاختبار الأكواد البرمجية، وهي عبارة عن أكواد برمجية عادية تقوم بفحص الكود البرمجي والهدف منها هو وضع معايير عامة للمشروع.
  • وضوح الهدف والبساطة
    يجب أن تكون مهمة كل دالة واضحة، وألا تتشعب فيها المهام لأداء كثير من الأفكار فإن كانت دالة ما لها وظيفة عداد على سبيل المثال، فلا يجب تضمين مهام أخرى فيها حتى لو كانت الأمور تسير بدون أخطاء وهذا ينطبق على الكود ككل.
  • المحافظة على السياق
    إذا كتبت دالة ما باستخدام طريقة ما، وكان عليك كتابة دالة مشابهة ولكن لغرض آخر، فاستخدم نفس الطريقة التي استخدمتها في الدالة الأولى.

كيف نكتب الكود النظيف Clean Code؟

Best Programming Languages to Create a Startup

والآن بعد هذه المقدمة الطويلة، كيف تكتب الكود النظيف؟ إن كنت ترغب بكتابة كود نظيف Clean Code التزم الخطوات التالية:

  1. اجعل الأسماء ذات معنى
    يجب أن تكون أسماء المتغيرات والدوال وكل شيء في الكود البرمجي يشير إلى عمله، فالمتغير الذي يعبر عن سيارة يجب أن يكون اسمه car وليس x، وإن كنت تريد إنشاء دالة تقوم بالعد فسمها count وليس c مثلاً.
  2. لا تستخدم الاختصارات
    وكما قلنا عن وجوب استخدام الأسماء المعبرة، فبالتأكيد يجب عدم استخدام الاختصارات، يجب أن يكون الكود مقروء للجميع، فمتغير اسمه name لا يجب أن يُختصر إلى nm، ومتغير اسمه lastName لا يجب أن يُختصر إلى ln.
  3. اختر الأسماء البسيطة
    هذا الأمر بديهي، إلا أنك قد تشعر بالحيرة بعض الأحيان عند تسمية بعض الدوال، وستتخلص من هذه الحيرة إذا اتبعت قاعدة المَهمّة الواحدة للدالة التي سنأتي على ذكرها لاحقاً، لا تستخدم مهاراتك اللغوية في كتابة الأسماء، فدالة وظيفتها الحذف يمكن تسميتها بكل بساطة delete وليس kill.
  4. طريقة التسمية
    اختر صيغة الفعل لتسمية الدوال أي بدلاً من taxCalculator قم بتسميتها calculateTax، أما فيما يتعلّق بتسمية classes فعلى العكس أي استخدم معها صيغة الوصف أو الاسم بدلاً من الفعل.
    كما لا تنس القواعد المعروفة باستخدام أسلوب camelCase في التسمية المركبة والتي تبدأ فيها أول كلمة بحرف صغير والكلمة الثانية بحرف كبير وذلك لسهولة القراءة.
    كما يجب أن تبدأ التسمية بحرف صغير للدوال والمتغيرات بشكل عام، أما classes فيجب أن تبدأ بحرف كبير.
  5. التعليقات
    ومع أني أحب كتابة التعليقات، إلا أن قواعد الكود النظيف تقول أنه يجب أن يشرح نفسه بنفسه وهو لا يحتاج إلى التعليقات مطلقاً! بل وعلى العكس لو كان الكود مفهوماً فما احتاج إلى تعليقات بالأصل! طبعاً باستثناء التعليقات حول حقوق التأليف والاستخدام أو التعريف بالبرنامج ككل.
  6. الدوال
    حاول أن تتصف الدوال بالصفات التالية:
    1. ذات حجم صغير. حاول أن لا يكون طول الدالة أكثر من 10 أو 15 أو 20 سطراً هذه أمثلة عليك جعلها أقصر ما يمكن.
    2. ذات اسم معبر عن مهمتها.
    3. عدد الـ arguments أقل ما يمكن. ثلاثة على الأكثر، وإلا عليك التفكير بكتابتها على شكل class.
    4. لها مهمة واحدة محدد. حاول أن يكون للدالة مهمة واحدة حتى يستطيع الأصدقاء فهم ما يحصل.
  7. اجعل الأسطر قصيرة قدر الإمكان
    لا تجعل القارئ مضطراً لتمرير النافذة أفقياً ليقرأ سطراً طويلاً.

في الحقيقة الموضوع يطول ويطول وتبقى الخطوات السابقة جزء من كم لا بأس به من القواعد العامة لكتابة الكود النظيف، ربما ستتعلمها بشكل عملي من المجتمع الخاص بلغة البرمجة التي تعمل بها ولكن كبداية يمكنك الاستعانة بكتاب Clean Code: A Handbook of agile software craftsmanship الذي يعتبر أحد أبرز الكتب في هذا المجال.

اقرأ أيضًا: تطبيق Messenger Rooms يتفوّق على تطبيق Zoom.. ما هي أبرز الميّزات المتوفّرة على Messenger Rooms؟

إلى المبتدئين في صناعة البرمجيات.. حان الوقت للانتقال إلى المستوى التالي باعتماد قواعد الكود النظيف Clean Code

ليست هناك تعليقات