代碼自動生成——和苦逼碼農說NO

      網友投稿 778 2022-05-29

      背景:

      開發兄弟在開發過程中肯定會遇到這樣的場景:

      1. 尼瑪,這個功能不是和我上次做的A功能差不多嘛;

      代碼自動生成——和苦逼碼農說NO

      2. 每次都需要干苦力,最討厭敲鍵盤寫底層的VO;

      3. 簡單的CRUD操作,太low level了,敲代碼敲的讓人累覺不愛咯;

      4. 功能雷同,復制粘貼太枯燥了,能不能給點有技術含量的活兒;

      ......

      那么,問題來了,有沒有一個好的idea?將這些簡單、重復、枯燥的編碼工作一股腦全做了,開發人員把精力集中在復雜的功能邏輯處理上來,從而大大提高開發效率,也避免了犯一些低級的、共性的編碼問題。

      思路:

      (以Spring+MyBatis架構為例)

      1. 假定每個業務功能模塊都需要CRUD操作(通用接口);

      2. 每個業務實體都可以抽象成系統實體對象(VO);

      3. 每個系統實體對象都會和數據庫表有對應關系,或者是一個抽象的實體(無法從數據庫關聯);

      4. 數據庫的CRUD操作其實都是類似的,只是針對的數據庫表不同列不同而已(mybatis xml,Dao);

      5. 基本的增刪改查接口和實現類:命名可保持一致性,實現類的邏輯也大部分通用(接口類和實現類);

      6. 前端頁面上,一般按照系統風格和架構風格上都會保持一致,菜單區、查詢區和數據操作區的一致性;

      7. 前端對業務數據的請求方式在定義上保持一致性;

      8. 基于以上幾點,我們可以抽取共性,轉換成設計編碼的模板(如:VO對象模板、數據庫mybatis操作的xml模板、Dao層接口模板、業務相關的接口類和實現類模板、前端頁面模板、等等);

      9. 借助freemarker強大的模板功能,將實體對象綁定到模板中,從而生成前后端完整的一套業務邏輯代碼;

      10. 將代碼生成的功能以插件的形式提供給IDE,如Eclipse Plugin;

      11. 借助JAVA JDBC驅動,根據數據庫表名獲取表結構信息;如果實體不依賴數據庫表,則可通過外部文件導入的方式,獲取的實體的基礎屬性信息;

      12. 利用JAVA Swing 實現可操作性的交互功能界面,一鍵生成全套代碼。

      技術點:

      1. Eclipse插件開發;

      2. FreeMarker通過ftl模板生成代碼文件。

      功能升級:

      這兩天對原有的插件做了次升級,主要源于以下目的:

      1. 原插件功能提供的代碼模板比較固定,開發人員如果需要修改模板,必須打開插件jar包修改ftl文件;原插件不支持靈活配置模板;

      2. 因自身插件開發能力有限,為方便程序的配置功能可擴展,將插件轉換成客戶端小工具程序;

      3. 將所有模板信息通過xml文件進行配置管理(后臺自動解析xml配置信息),支持多套模板靈活切換,亦可自定義新增模板,不受程序限制。

      開發者

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:面對第一份工作需要什么準備
      下一篇:3.16 Linux刪除文件或目錄(rm命令)
      相關文章
      国产精品亚洲AV三区| 亚洲另类无码专区丝袜| 亚洲AV无码一区二区三区鸳鸯影院| 亚洲综合无码一区二区| 久久久久亚洲AV成人无码| 亚洲AV日韩AV天堂一区二区三区 | 亚洲国产精品一区二区成人片国内 | 亚洲一区二区三区在线观看蜜桃| 久久亚洲AV无码精品色午夜| 久久久久亚洲精品天堂| 亚洲精品美女视频| 亚洲国产中文在线视频| 亚洲冬月枫中文字幕在线看| 亚洲一级毛片在线播放| 亚洲一区免费视频| 最新国产精品亚洲| 久久精品国产亚洲av天美18| 亚洲A丁香五香天堂网| 亚洲午夜av影院| 国产亚洲精品岁国产微拍精品| 亚洲av永久无码精品古装片| 亚洲国产精品自在在线观看 | 怡红院亚洲红怡院在线观看| 亚洲成av人片在线观看天堂无码| 亚洲美女在线国产| 国产亚洲精品美女久久久| 亚洲综合国产精品| 亚洲国产人成在线观看| 亚洲欧美日韩中文二区| 亚洲国产精品日韩| 亚洲色无码一区二区三区| 亚洲an天堂an在线观看| 亚洲最大在线观看| 亚洲一区二区观看播放| 精品亚洲视频在线| 国产美女亚洲精品久久久综合| 亚洲gv猛男gv无码男同短文| 亚洲国产精品免费在线观看| 亚洲精品成a人在线观看☆| 亚洲精品无码专区2| 亚洲AV无码不卡在线播放|