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

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"?


Solution 1:

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.

Solution 2:

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?