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

رائحة الكود

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
N write.svg
هذه مقالة غير مراجعة. ينبغي أن يزال هذا القالب بعد أن يراجعها محرر ما عدا الذي أنشأها؛ إذا لزم الأمر فيجب أن توسم المقالة بقوالب الصيانة المناسبة. (يوليو 2013)
Question book-new.svg
المحتوى هنا ينقصه الاستشهاد بمصادر. يرجى إيراد مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2016)
Arwikify.svg
هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (ديسمبر 2013)

رائحة الكود (بالإنجليزية: Code smell) هي علامات وإشارات داخل الكود تدل على أن هناك خلل في التصميم وهي بحد ذاتها لا تعتبر خطأ برمجي، وربما نجد أكواد مليئة بهذه الروائح لكنها تعمل على ما يرام دون أي مشاكل.

أحد الأمثلة الشهيرة على هذه الراوئح هي وجود دالة تحوي مئات الأسطر وربما تستقبل العديد من الوسائط، أو نجد كائن يقوم بعمل كل شيء God Object, أيضا كمثال آخر- دائما ما يقع فيه المطورين المبتدئين- هو وجود أجزاء مكررة في الكود.

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

ما يمكن أن نتوقعه في مثل هذه الحالات ، هو أن سرعة تنفيذ هذه المتطلبات الجديدة ستكون بطيئة جدا وربما لن يتمكن المطور من تطبيقها أو في بعض الحالات سينتج عن تطبيقها العديد من الأخطاء البرمجية.

مهندس البرمجيات Kent Beck مخترع منهجية التطوير XP هو أول من بدأ باستخدام هذا المصطلح للدلالة على أن هناك خلل ربما يبدوا بسيطا في أول الأمر لكن سرعان ما سيتحول إلى كارثة حقيقة في المستقبل. ظهر المصطلح وانتشر بين مهندسي البرمجيات بعدما شارك Kent Beck في كتابة الكتاب Refactoring: Improving the Design of Existing Code والذي يعتبر من أفضل الكتب في المجال لمهندسي البرمجيات ومطوري التطبيقات.

Computer.svg
هذه بذرة مقالة عن الحاسوب أو العاملين في هذا المجال بحاجة للتوسيع. شارك في تحريرها.