public In software projects with a team, it is a good idea to define coding guidelines. These guidelines can ensure, that e.g. the code conforms to a certain architecture, that code components are named the right way, or that a certain set of data types is used. Most people define such a coding guideline in text documents. This requires that the developers read and maintain these documents proactively. The downside is: Over time most certainly violations to these guidelines creep in, which is just human. To address this issue, one can cook these guidelines into code by writing tests, that assert them. A useful tool for this is Arch Unit