Have you encountered classes without behavior? Classes are their behavior.
TL;DR: Remove all empty classes.
Problems
Bijection Fault
Namespace Polluting
Classes used as DTOs
Classes used as global references
Solutions
Remove the classes and replace them with objects instead.
If your classes are Anemic Exceptions, remove them.
Context
Many developers still think classes are data repositories.
They couple different behavior concept with returning different data.
Sample Code
Wrong
class ShopItem {
code() { }
description() { }
}
class BookItem extends ShopItem {
code() { return 'book' }
description() { return 'some book'}
}
// concrete Class has no real behavior, just return different 'data'