Bugالخلل البرمجيّ
ما هو Bug؟
الخلل البرمجيّ عيب في الكود يجعل البرنامج يفعل غير ما قُصد به.
ما معنى Bug بالعربي؟
الاسم المعتمد الآن هو «الخلل البرمجيّ». ولأن كثيرًا من المصطلحات لم يستقرّ لها اسم عربي واحد، يكتب هذا القاموس قرّاؤه: صوّت للاسم الذي تراه أوضح، أو اقترح اسمًا أفضل. نراجع الأصوات في كل جولة ونعتمد ما يختاره الناس.
-
الخلل البرمجيّ الاسم المعتمد اسم القاموس
-
البق التسمية الدارجة بين المطورين
-
العلة البرمجية مصطلح معجمي يرد في المراجع
-
الخطأ البرمجي صياغة عامة شائعة
صوت واحد لكل قارئ في كل مصطلح، وتستطيع نقله إلى اسم آخر. حين يتجاوز اسمٌ الاسمَ المعتمد ويصل إلى 5 أصوات على الأقل، نعرضه للاعتماد في الجولة التالية.
اقترح اسمًا عربيًا أفضل
هل الشرح غير واضح أو فيه خطأ؟
آلة كبيرة تدور تروسها بانتظام، ثم تبدأ تتعثّر: تتوقّف لحظة، وتقفز لحظة، وتُخرج نتيجة خاطئة. يقترب الفنّيّ بعدسة مكبّرة ويفتّش بين التروس، فيجد فراشة صغيرة عالقة بين سنّين. الآلة سليمة، والتصميم سليم، لكنّ شيئًا صغيرًا في الداخل يعبث بالحركة.
الخلل البرمجيّ (Bug) هو هذا الشيء الصغير: عيب في الكود يجعل البرنامج يتصرّف خلاف ما قُصد به. ليس فيروسًا ولا هجومًا ولا «مزاجًا» للحاسوب. في مكان ما كتب إنسان، أو نموذج، تعليمة خاطئة، أو لم يحسب حالة ظهرت فجأة، أو ضبط إعدادًا بطريقة غير صحيحة. الزرّ لا يستجيب، والمجموع يخرج ناقصًا، والصفحة تنهار على مدخل بعينه. كلّ ذلك خلل: الفجوة بين ما كان يُفترض أن يفعله البرنامج وما يفعله.
وللاسم قصّة حقيقيّة: في عام 1947 وجد مهندسون عثّة حقيقيّة عالقة في دارات حاسوب ضخم تسبّب عطلًا، فلصقوها في دفتر السجلّ وكتبوا تحتها ملاحظتهم. كانت الكلمة تُستخدم للأعطال قبل ذلك، لكنّ هذه الحادثة هي الأشهر.
التروس هي الكود، والفراشة هي التعليمة الخاطئة، والعدسة المكبّرة هي أدوات الفحص: السجلّ (Log) حيث تتكوّم الأدلّة، وأثر الانهيار (Stack Trace) الذي يطبعه البرنامج لحظة تعثّره. و«أطارد خللًا» معناها: شيء يتصرّف خطأ وأبحث عن السنّ المسؤول.
التحوّل الذهنيّ الذي يفيدك: الخلل ليس خطيئة ولا دليلًا على سوء المطوّر. كلّ البرمجيّات فيها أخطاء، حتّى التطبيقات اللامعة على هاتفك. الكود كومة ضخمة من التعليمات، وإصابة كلّ واحدة لكلّ حالة يختلقها مستخدم حقيقيّ أمر عسير. المهمّة ليست كتابة كود بلا خلل، فهذا مستحيل، بل اكتشاف الخلل وإصلاحه أسرع ممّا يسبّب الضرر. والنموذج الذي يكتب لك الكود يكتب أخطاء أيضًا، لأنّه يؤدّي المهمّة الصعبة نفسها. ليس هذا سببًا لعدم الثقة، بل سبب للاختبار (Test / Unit Test) ولتوقّع جولة أو جولتين من «ليس هذا بالضبط، أصلح كذا».
موقف من حياتك: عميل في جدّة يرسل لقطة شاشة من متجرك: المجموع في السلّة يتجاهل كود الخصم في بعض المنتجات دون غيرها. هذا خلل، والمطوّر سيبحث عن الحالة التي لم يحسبها أحد.
لماذا يهمك Bug؟
ستبلّغ عن الخلل بما يساعد على إمساكه، ماذا فعلت وماذا توقّعت وماذا حدث، بدل «الموقع لا يعمل». وستتعامل مع وجود الأخطاء كجزء طبيعيّ من البناء لا كفضيحة.
متى ستسمع كلمة Bug؟
يكتب لك المطوّر: «وجدت الخلل، حالة الخصم على المنتجات المجّانيّة لم تكن محسوبة».
