عبارات Switch.
لديك عامل switch معقد أو سلسلة من عبارات if.
##العلامات والأعراض
لديك عامل switch معقد أو سلسلة من عبارات if.

double pay(Employee e) {
switch (e.type) {
case "engineer": return e.salary;
case "manager": return e.salary + e.bonus;
case "intern": return e.salary / 2;
default: throw new IllegalArgumentException(e.type);
}
}##أسباب المشكلة
يعتبر الاستخدام النادر نسبياً لعوامل switch و case أحد السمات المميزة للكود كائني التوجه (object-oriented code). غالباً ما يكون الكود الخاص بعبارة switch واحدة مبعثراً في أماكن مختلفة في البرنامج. عند إضافة شرط جديد، يتعين عليك العثور على جميع أكواد switch وتعديلها.
كقاعدة عامة، عندما ترى switch يجب أن تفكر في تعدد الأشكال (polymorphism).
##المعالجة
##الفوائد
- تحسين تنظيم الكود.
