ThePragmaticProgrammer에 소개되는 ComputerProgramming에 관한 교훈중 하나. 다른 context를 갖는 동일 기능들을 만든다고 하면, CodeGenerator를 만들어서 만든다. 두가지 종류의 CodeGenerator가 있다. * Passive CodeGenerator * 일종의 주형과도 같다. typing을 감소시킨다. * source code control directive나 copyright notices, standard commemt block들이 해당된다. * Active CodeGenerator * DontRepeatYourself원칙을 준수한다. * 특정 form등을 [[Parsing]]해서, 그에 맞는 Code를 만들어낸다. (예, DB schema (->) statement of table creation) ---- CategoryManual