Code duplication creates unnecessary risk

Bug #625449 reported by John Collins
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
TAC Energy
New
High
Unassigned

Bug Description

The packages edu.kit.iism.cdamarket in the server, and edu.kit.iism.tacdemo in the client, contain nearly identical content, and there appears to be a strong implicit dependency between their contents. This creates long-term risk that is not documented and cannot be resolved by unit testing.

One suggestion would be to extract the interface types into a separate project that is imported by both the client and server, and eventually by analysis tools, viewers, etc.

Revision history for this message
Carsten Block (cblock) wrote :

That would be a very good use case for refactoring the mentioned code into a grails plug-in (see http://www.grails.org/doc/latest/guide/single.html#12.%20Plug-ins). Which can then be maintained separately and installed /updated dynamically in the server and client projects as well.

Revision history for this message
John Collins (jcollins-cs) wrote :

That assumes that we stick with Grails for the client. I'm not convinced that Grails is a good choice there, for at least two reasons. First, it's optimized for multi-session stateless services, which is definitely not a good description of the broker agent. Second, it looks like it will make the Repast integration considerably more complicated than it needs to be.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.