Code Generation Isa Design Smell [C2Wiki]
wiki.c2.com
wiki.c2.com
So, you write source S from which you generate T, which you edit into U.
When you have to change S to S’, which generates T’, you have to do a merge to get U’.
For example, the C preprocessor is fine, as long as you don’t start editing its output.
Similarly, Java annotations that generate code are fine in this respect.