This document discusses common mistakes when customizing Magento 2 and how to avoid them. It recommends:
- Extending core classes only to add behavior, not change existing behavior.
- Using composition over inheritance when possible to avoid increasing responsibility of core classes.
- Not using the EntityManager infrastructure and instead using resource models and collections for persistence.
- Avoiding directly selecting DOM elements based on structure and instead using data attributes for decoupling code.