ما هي الأخطاء البرمجية التي يرتكبها معظم المبرمجين عديمي الخبرة؟

هذا السؤال أجبته على كورا العربية

أخطاء عديدة، يمكن تمييز المبرمج عديم الخبرة من صاحب الخبرة من نظرة سريعة على الشيفرة البرمجية لكل منهما، لن أتكلم عن الأخطاء التي يقع بها المبتدئين للغاية مثل تسمية المتغيرات بأسماء غريبة ( x, srf, tg ) وما إلى ذلك، بل سأتكلم عن فروقات جوهرية بين كلاهما.

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

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

المبرمج الخبير يعلم أنه يكتب لإكثر من شخص ، فتجده يستخدم الملاحظات comments في كل سطر يكتبه ليوضح الخواص لأي شخص يقرأ شيفرته، ويستخدم طرق لتنظيم مشروعه وشيفرته مثل OOP,MVC فتصبح شيفرته حتى بدون وجود comments مفهومة ومقروءة human like texts ، أما المبرمج المبتدئ، فهو لن يستطيع حتى قراءة شيفرته بعد أسبوع من الوقت.

ويمكن ضرب عشرات الأمثلة على نفس الأمر..

كُتب في 14/12/2019