فهرس لروائح الكود (Code smells)
في هذا الدرس 4 موضوعات
محتوى هذا الدرس مكتوب وينتظر المراجعة. يعرض المخطط أدناه ما سيغطيه، وسيُنشر بعد اعتماده.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
recognize common smells and the fix for each.
الموضوعات المخطط لها
- A smell is a hint of a problem, not a bug.
- Long method: extract smaller methods.
- Large class: extract a class.
- Feature envy: a method uses another class's data more than its own; move it there.
- Primitive obsession: using
Stringordoublefor ideas like money or email; make a small type (a record). - Duplicated logic: extract a method.
تفاصيل المخطط المبدئي
عرض عملي
// primitive obsession
void charge(double amount, String currency) { ... }
// better
void charge(Money amount) { ... }اختبر فهمك
Which smell is double price for money?
أظهر الإجابة
Primitive obsession.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.