الأخطاء التي يرتكبها المطورون المبتدئون
إرسال كود يعمل هو الحد الأدنى المطلوب، وليس هو الهدف.
سبق لي أن راجعت طلب سحب (pull request) استغرق فهمه 45 دقيقة. كان المنطق صحيحاً، والاختبارات ناجحة، ولكن الكود كُتب وكأن المؤلف وحده هو من سيقرأه.
عندما قدمت ملاحظاتي، قال المطور: "لكنه يعمل".
كان محقاً، فقد كان يعمل. وهذه كانت المشكلة تحديداً.
غالباً ما يركز المطورون المبتدئون على المهارات التقنية، لكن الفجوات الحقيقية تكمن غالباً في العادات وطريقة التفكير.
إليك بعض الأخطاء الخفية التي تعيق تقدمك:
الكتابة لنفسك بدلاً من الآخرين يُقرأ الكود بمعدل أكبر بكثير مما يُكتب. قد يلمس الدالة (function) التي تكتبها اليوم ثلاثة أشخاص مختلفين على مدار عامين. إذا لم يتمكن شخص غريب من فهم الكود الخاص بك في 30 ثانية، فقد فشلت.
نسخ الكود دون فهمه استخدام Stack Overflow أمر جيد. لكن نسخ نمط regex دون معرفة كيفية عمله أمر خطير؛ فأنت بذلك تنشئ "صندوقاً أسود" في قاعدة الكود (codebase) الخاصة بك، ولن تتمكن من تصحيح الأخطاء (debug) عندما يتعطل.
إضافة تعقيد غير ضروري غالباً ما يربط المبتدئون بين التعقيد والمهارة، فيطبقون أنماط التصميم (design patterns) على مهام بسيطة. التجريد (abstraction) غير الضروري يجعل الكود أصعب في التصحيح وأصعب في التغيير. لا تضف التجريد إلا عندما تشعر بمرارة غيابه.
تجاهل رسائل الخطأ رسائل الخطأ هي توثيق مجاني. لا تهرع إلى Google بمجرد رؤية تتبع المكدس (stack trace). اقرأ الرسالة كاملة؛ فغالباً ما تخبرك بالضبط أي سطر فشل ولماذا.
طلب المساعدة مبكراً جداً أو متأخراً جداً لا تقضِ ثلاث ساعات عالقاً في مشكلة تستغرق 10 دقائق، فهذا غير فعال. ولكن لا تراسل مطوراً خبيراً (senior) بمجرد لقطة شاشة دون سياق. استخدم قاعدة الـ 20 دقيقة: اقضِ 20 دقيقة في محاولة حلها، ووثق ما حاولت فعله، ثم اطلب المساعدة مع هذا التوثيق.
إعادة بناء ما هو موجود بالفعل قبل أن تكتب أداة مساعدة (utility) جديدة، ابحث في قاعدة الكود. فمن المرجح أن فريقك قد حل تلك المشكلة بالفعل.
رسائل commit سيئة رسالة commit مثل "fix bug" لا تخبر فريقك بشيء. اشرح ما الذي تغير ولماذا. تعامل مع سجل Git كوثيقة.
التعامل مع المتطلبات كأنها قانون غالباً ما تغفل المتطلبات الحالات الاستثنائية (edge cases). لا تكتفِ بتنفيذ ما قيل لك فحسب، بل اسأل عما سيحدث عندما تسوء الأمور.
التوقف عند زر "Merged" المسؤولية لا تنتهي بمجرد دمج طلب السحب (PR) الخاص بك. تابع ميزتك (feature) حتى تصل إلى مرحلة اختبار الجودة (QA). راقبها في بيئة الإنتاج (production). واقرأ تقارير الأخطاء.
الفجوة الأكبر هي المسؤولية. المطورون الخبراء لا يكتبون الكود فحسب، بل يحلون المشكلات دون خلق مشكلات جديدة.
توقف عن السعي وراء "الإنجاز". ابدأ في السعي وراء "الجودة".
