Specifications are divided into recommendations and rules. Rules are binding specifications and must be complied with. They are mandatory for reusable and performant programming. In exceptional cases, rules may also be violated. However, this must be documented accordingly. Recommendations are specifications which, on the one hand, serve for a consistent code and, on the other hand, are intended as support and information. Recommendations should principally be followed. However, there may be cases where the recommendation is not followed. This may be due to efficiency, but also because the code is more readable otherwise.