Я работаю над инструментом, который будет генерировать исходный код для интерфейса и пару классов, реализующих этот интерфейс. Мой вывод не особенно сложен, поэтому не составит труда привести вывод в соответствие с нашими обычными стандартами форматирования кода.
Но это заставило меня задуматься: насколько понятным человеку должен быть сгенерированный код? Когда следует приложить дополнительные усилия, чтобы убедиться, что сгенерированный код легко читается и понимается человеком?
В моем случае сгенерированные мной классы - это, по сути, просто контейнеры для некоторых данных, связанных с другой частью сборки, с методами для получения данных. Никто никогда не должен смотреть на код для самих классов, он просто должен вызывать различные методы получения, предоставляемые классами. Так что, вероятно, это не так уж важно, если код «чистый», хорошо отформатирован и легко читается человеком.
Однако что произойдет, если вы генерируете код, в котором содержится более чем небольшое количество простой логики?