看到這個帖子:
http://spring.jactiongroup.net/viewtopic.php?t=1789&sid=1d6c15d0d2a6248b9c599be2f9de616b
在此寫一下我自己的代碼生成器的設計和一點體會。
因為項目需要,用三個星期仿照 .text用java寫了個blog程序,實現 .text的大部分功能。
其中大部分代碼是代碼生成器生成的。
開發流程:
1.用pd設計實體模型,因為cdm文件是xml,所以很方便解析 .
2.根據cdm和用freemarker寫好的模板,運行一下命令,生成hbm.xml
3.根據hbm文件,再運行一下命令,生成所有的增刪查改的文件,包括java的,jsp的,xml的,甚至國際化的資源文件.
4.此時生成好的運用可以馬上跑起來,對每張表進行增刪改,和多條件分頁查詢.
5.由于后來對blog的后臺管理使用了js的xmlrpc來實現ajax效果,
這部分代碼沒有代碼生成器模板,靠手工復制粘貼作的,浪費了三天時間.
在此總結如下:
1.要先寫好適合自己的相關庫文件,這個需要根據實際經驗來積累.
2.對于有規律的代碼,進行抽取共性做成模板,都可以用代碼生成器來生成.
3.代碼生成器是給自己用的,自己是開發人員,定位的使用者是有經驗的開發人員,因此可以省掉界面操作.
4.要明白代碼生成器不能夠生成百分之百的代碼,我的原則是多生成代碼,即使有些冗余的,
因為對代碼進行刪除清理永遠比打字寫代碼要快很多.
對于有規律的業務邏輯,可以做到把90%的代碼都生成好.
5.代碼生成器生成的代碼有統一規則命名風格,很方便維護,而且基本沒bug.
---------
過段時間打算抽點時間,用自己積累的代碼和代碼生成器來把springside里的模塊寫一下練練手.
?