In the classic C++ book Modern C++ Design, I come across such statements:

You have the round-trip problem, the not-enough-code-worth-generating problem, the inflexible-generator problem, the inscrutable-generated-code problem

What does it mean by "the round-trip problem"?


This may be a better fit in Stack Overflow, since you're talking about software engineering.

Wikipedia has an entry on Round-Trip Engineering:

. . . the key characteristic of round-trip engineering that distinguishes it from forward and reverse engineering is the ability to synchronize existing artifacts that evolved concurrently by incrementally updating each artifact to reflect changes made to the other artifacts.

To put it simply, the round-trip problem is that of keeping software and documentation synchronized.

| improve this answer | |

A visual-paradigm.com webpage about VP-UML capabilities mentions Java (or C++ or C#) round-trip engineering. It includes the comment:

Supports the generation and reverse engineering of Java source code. It also helps you keep system design and implementation synchronized.

The idea is that UML (Unified Modeling Language) may be used initially to model data structure objects. After code is generated using the model, a programmer may modify that code. Round-tripping reverse-engineers the code and updates the UML model to reflect the code changes back into the model. One round-trip problem is that code may be inscrutable and not easily reverse-engineered.

| improve this answer | |

A round trip in real life is say from home to work and back home again. A round trip in code generation is from diagram to code and back to diagram again, or from code to diagram and back to code again. Often you do not end up with the same diagram you started with, or the same code you started with, after going there and back again. It's a real problem.

Trivial example: take some well commented code, generate diagrams from it, generate code from the diagrams - where are the comments?

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.