開源專案-跨專案及作業系統的通用程式碼生成器,解放您的雙手

字母哥部落格發表於2020-09-15

一、設計宗旨

所有被程式設計師掌握了程式碼規律的知識,都可以用程式碼生成器完成開發

  • 模板類程式碼生成,減輕程式設計師的開發工作量,這當然是核心需求。
  • 生成的程式碼直接應用於專案,可以指定程式碼的生成路徑,直接讓程式碼生成到專案路徑下面。
  • 跨專案,很多的程式碼生成器都是基於某個作者自己的專案開發的。(你只需要學會模板的開發,這個程式碼生成器適用於所有的專案)。
  • 跨語言,不論你是python、vue,只有你的程式碼是模板化的,都可以實現自動生成。
  • 跨作業系統,採用electron開發,所以可以打包安裝到windows、linux、macOS都可以。

本程式碼生成器的設計思路,和其他的程式碼生成器並沒有什麼特殊之處。仍然是:資料 + 模板 = 檔案。

file

其實模板的編寫是小事情,一般的開發人員十分鐘就學會了。重要的是理解這些資料都能用來做什麼,理解了這些資料能做什麼之後,你就能編寫自己的模板,適用於自己的專案。

二、下載與安裝

下載

專案gitee原始碼地址(安裝檔案下載地址):https://gitee.com/hanxt/dongbb-coder

  • 點選"發行版"Tab
    file
  • 下載安裝版本(目前手頭只有windows,所以只打了windows的包)。使用linux或macOS的小夥伴,可以下載原始碼,使用yarn electron:build命令自行打包。
    file

安裝

這個安裝就比較簡單了
file

選擇安裝目錄
file

安裝完成之後,桌面上會出現這樣一個圖示,點選就可以啟動程式碼生成器
file

初始資料匯入

程式碼生成器啟動之後,DB配置、專案配置、模板配置等都是空的,需要使用者根據自己的專案情況自行配置。

file

我的這個data.json的配置就是針對dongbb專案的程式碼生成配置,如果你是使用dongbb專案,這個配置幾乎就可以拿來即用了(模板檔案路徑和程式碼生成路徑需要修改)。

如果你用於其他的專案,還需要自行配置,具體怎麼配置。參看後文的使用方法介紹。

三、使用方法

新建表

程式碼生成器的核心原理就是根據這張表的資訊(當然還有其他的配置資訊),來生成針對這張表的增刪改查功能及頁面

file

  • 欄位的順序,預設是在前端頁面的table(tr/td)的資料從左到右的展示順序
  • 欄位的名稱要符合下劃線分割的資料庫欄位基本規範
  • 帶有長度的欄位(字串型別),可以用來生成前端資料校驗的最大值校驗規則
  • 是否允許為null的欄位,可以用來生成前端資料校驗的必填項校驗規則
  • 表的註釋資訊,和欄位的註釋資訊,可以用來生成程式碼檔案中的註釋資訊。

增加資料庫配置

增加資料庫配置的作用是,將在資料庫裡面新建的表資訊查詢出來,用來生成程式碼檔案。為了完全起見,本軟體並不儲存您的資料庫密碼資訊,需要每次生成程式碼的時候再填寫。

file

完善欄位配置資訊

當我們新增一條DB配置之後,表格裡面會多出一條資料庫資訊記錄。

file

點選圖中紅色框位置,輸入資料庫密碼,會彈出一個框,框裡面包含該資料庫裡面的所有的表資訊。

file

我們選擇我們剛剛新建的一張表:affice_goods(為了方便測試,故意以a開頭,方便查詢),進行配置程式碼生成資訊。

file

  • 紅色,是否前端table查詢引數,表示該欄位是否作為table資料的查詢條件。程式碼生成之後,勾選的欄位將作為查詢條件存在。(下圖是程式碼生成之後前端展示效果)

file

  • 綠色,是否在前端的table中顯示,表示該欄位是否作為前端table的資料展示內容出現。程式碼生成之後,勾選的欄位將作為table資料展示列存在。(下圖是程式碼生成之後前端展示效果)

file

  • 橘色,是都在前端新增修改,表示該欄位是否在前端可以新增修改。比如:id,create_time一般是由後端自動賦值的,不由使用者來填寫,這裡就不要勾選。(下圖是程式碼生成之後前端展示效果)

file

專案配置

專案配置暫時沒有特別的作用,通常只用於模板分類,表示哪一個模板屬於拿一個專案(模板配置看下文)。
file

模板配置

模板配置中的每一個模板,對應程式碼生成之後的每一個程式碼檔案(vue、js、java等)。只要你能總結出程式碼規律,並把它編寫成模板,所有的程式碼都可以生成。

模板檔案的編寫非常簡單,後續我會錄製一段視訊給大家講一下,文件也會有!

file
新增或修改模板
file

生成程式碼

file

開源地址

https://gitee.com/hanxt/dongbb-coder
如果您覺得這個程式碼生成器能夠幫助到你,請幫忙給個star。

歡迎關注我的部落格,裡面有很多精品合集

  • 本文轉載註明出處(必須帶連線,不能只轉文字):字母哥部落格

覺得對您有幫助的話,幫我點贊、分享!您的支援是我不竭的創作動力! 。另外,筆者最近一段時間輸出瞭如下的精品內容,期待您的關注。

相關文章