Yes, there is a risk of over-engineering if these rules are taken to an extreme. For example, over-abstraction can make code harder to understand. The key is to apply these rules sensibly and adapt them to the context of the project.