Explanation

This rule checks whether modules are configured in such a way that a diamond, i.e. a closed circuit occurs in your Blueriq Model (Rhombus). If so, it is advised to refactor your model on this. From a modeling point of view this module structure could be avoided. Additionally the model can behave unexpected in case specialization is used.

We estimate that resolving this issue will on average take 120 minutes.

Possible improvement

Try to avoid creating a diamond structure. If this is absolutely necessary you might consider putting parts of the structure that lead to a diamond in an external library. This way you are reminded of the module structure when changing something in it which makes you think a little harder about where you want to put the changes.

Example

This project has a diamond structure. Module Care4Less includes the module CommonBase via multiple paths, and that could lead to strange behavior.

This results in the following code smell:


  • No labels