You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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.

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