SOLID
SOLID is a set of five well-known design principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) for object-oriented programming. You can apply these principles when setting up the code. In practice, this means, for example: classes and modules with one clear task, preferring extension of functionality over modification of existing code, using polymorphism/interfaces to enable substitution, avoiding broad interfaces, and "inverting" dependencies so that high-level modules do not directly depend on low-level implementations.
Following SOLID makes the codebase more understandable, maintainable, and easier to extend. In game development, where new features are often added iteratively, SOLID prevents the code from "getting stuck" in spaghetti.
Starting Points
Key Points
- You recognize in your own design which SOLID principles are relevant and demonstrably apply them.
- You evaluate code design choices against SOLID.
- You avoid anti-patterns that conflict with SOLID (such as God classes, tightly coupled logic, etc.) or refactor them in time.
- You communicate the code architecture with a class diagram or schema, showing how SOLID principles have been applied.