天天看點

兩款主流代碼生成器對比評測

 兩款主流代碼生成器對比評測

        作為一名軟體開發人員,在平時工作中會遇到大量重複的、機械的增删改查,這時如果選擇一套合适的代碼輔助工具,比如代碼生成器,往往會産生事半功倍的效果,提高工作效率。今天筆者特意選擇了兩款最新的主流代碼生成器,就兩者之間的特點與不同進行對比與評測,希望能為大家提供參考意見。

待測産品1:EasyCode代碼生成器

       EasyCode是一款功能強大的軟體輔助設計生成系統,直接面向設計過程,強調設計環節的重要性。可以輕松地完成設計工作,生成包括解決方案、界面、文檔等全套解決方案。目前軟體的版本已經更新到了2.10版,最新版EasyCode下載下傳位址如下,可以免費下載下傳試用。

兩款主流代碼生成器對比評測

圖1 EasyCode

待測産品2:動軟代碼生成器

        相信大家對動軟代碼生成器并不陌生,這是一款面世很久的免費軟體産品。動軟代碼生成器主要面向資料庫開發,支援資料庫與代碼的反向生成,對資料庫支援較好,可以生成解決方案與存儲過程,簡單界面、資料庫文檔。最新版動軟代碼生成器下載下傳位址如下,可以免費下載下傳使用。

兩款主流代碼生成器對比評測

圖2 動軟代碼生成器

1.設計理念

       同為代碼生成器的兩款軟體,進行軟體設計的理念卻完全不同。動軟代碼生成器主要功能全部圍繞資料庫展開,有很多針對資料庫的功能,比如生成存儲過程,生成事務代碼,以及資料庫文檔等。而EasyCode強調系統的整體設計,通過對基礎對象(類)的設計來完成對系統的架構。相比之下,筆者認為,在面向對象這一當今主流意識形态下,EasyCode的設計方案更為合理與科學。如果細分兩款工具,動軟代碼生成器更像是一款“資料庫反向工具”,而EasyCode更像是一款“軟體設計工具”。是以筆者對EasyCode的設計理念更加贊同。

2.具體功能

2.1 軟體架構對比

         EasyCode的架構目前隻有一種,但可以看出經過精心設計,而不是照搬PetShop,擴充性與性能方面兼顧的很好,但架構種類仍需完善,在多表關聯等方面的處理,完全使用了面向對象的特性根據官方回應,後期會在更新中不斷添加新的架構。動軟代碼生成器在生成代碼時可以選擇“單類結構”、“簡單三層”、“工廠模式三層”三種架構。在架構方面兩款軟體都提供了常用的三層的實作方式,動軟代碼生成器提供的“單類結構”很少能用到,但額外提供了“工廠模式三層”的選擇,并且提供了架構的模闆,可自行定義。

兩款主流代碼生成器對比評測

圖3 動軟架構

兩款主流代碼生成器對比評測

  圖4  EasyCode架構

        EasyCode針對基礎對象(類)的設計很實用,支援一個基礎對象(類)在另一個基礎對象(類)中作為屬性引用,并且可以針對存儲和界面顯示設定不同屬性。并且EasyCode支援“資料庫”-》“基礎對象”以及“基礎對象”-》“資料庫”的正反向生成,這點做得很好。EasyCode可以自己定義兩層分級子產品,并且将子產品與“基礎對象”和“界面顯示”挂鈎,使得界面、代碼的設計緊密結合。綜合以上幾點,本環節EasyCode略勝一籌,我們期待EasyCode後期不斷更新的架構。

兩款主流代碼生成器對比評測

圖5 EasyCode對象引用

2.2 代碼細節對比

        動軟代碼生成器生成的代碼沒有自定義代碼規範設定,且沒有相關的項目資訊設定,是以生成的代碼中并不包含項目資訊、公司資訊等,備注不是十分完善,很多方法前甚至沒有備注,在很多公司的規範中這都是不合格的,軟體開發人員需要花費大量時間進行備注的完善。相比動軟代碼生成器,EasyCode在這一方面做的好得多,通過對項目資訊的設定,公司資訊、開發人員資訊都會展現在每個類的備注裡,每個屬性都有相應的備注說明,且将系統生成代碼區域與使用者自行編寫代碼區域分隔開,使用者體驗良好。在此環節EasyCode的優勢較為明顯。

兩款主流代碼生成器對比評測

圖6 動軟代碼示例

兩款主流代碼生成器對比評測

圖7 EasyCode代碼

2.3 生成界面對比

        動軟代碼生成器隻能生成Asp.Net頁面的顯示代碼,界面有動軟的Logo,風格較為單一。各子產品的樣式固定,雖然可通過模闆定制使用,但是對于開發人員來說,并不是十分友善。EasyCode的界面生成是根絕子產品的劃分進行的,貼合系統需求。且子產品類型可以定義為“空白子產品”、“歡迎使用”、“清單-檢視”、“清單-添加-修改-删除”、“清單-檢視-添加-修改-删除”等,且各個屬性對應的控件類型均可根據需要選擇,各個屬性對應的控件大小、文本對齊方式、間距亦可自定義成固定值。并且在設定完成後,EasyCode無須編譯代碼即可實作界面預覽功能,而且界面專業美觀,讓人驚喜。在此環節EasyCode完勝。

兩款主流代碼生成器對比評測

圖8 動軟界面

兩款主流代碼生成器對比評測

圖9 EasyCode界面

兩款主流代碼生成器對比評測

圖10EasyCode界面設定

2.4 生成文檔對比

          動軟代碼生成器能夠生成“資料庫設計文檔”,文檔結構簡單,可用于資料庫資訊存檔交流。但是此功能需要本機安裝Office2003或2007,不然則隻能生成網頁格式。EasyCode在這一環節的比拼仍舊給力,不僅能生成“資料庫設計文檔”,還能夠生成“基礎對象設計文檔”和“系統總體設計說明文檔”,文檔内容均采用标準格式,略加修改即可投入使用。文檔采用Word2003通用格式,且無須本機安裝Office。在這一環節EasyCode完勝。

兩款主流代碼生成器對比評測

圖11 動軟文檔設定

兩款主流代碼生成器對比評測

圖12 動軟文檔示例

兩款主流代碼生成器對比評測

圖13 EasyCode 文檔設定

兩款主流代碼生成器對比評測

圖14 EasyCode文檔示例

2.5 小工具對比

        EasyCode提供了三個小工具:EasyCode圖像資料總管、大段文本轉為StringBuilder、多行文本轉為string[],動軟代碼生成器提供了三個小工具:搜尋表功能、項目釋出功能、代碼轉換功能。EasyCode提供的小工具主要針對代碼編寫和界面設計方面,而動軟代碼生成器主要針對資料庫方面和項目釋出,側重不同。筆者就使用的友善程度以及幫助程度來看,EasyCode提供的小工具較為實用與人性化。

3.是否收費

        動軟代碼生成器是免費軟體,EasyCode是收費軟體,Asp.net的模闆與Winform的模闆均為280元/年,購買整套模闆為520元/年。雖然為收費軟體,但根據EasyCode官方回應,軟體的架構模闆與界面模闆均會不斷更新,而更新全部免費。對于免費和收費,各人應都有取舍吧。筆者因為經常需要快速設計一些中小型項目,還是比較偏重EasyCode,認為收費較為合理,在可以接受的範圍以内。

4.小結

綜上所述,兩款代碼生成器各有特點,但從各個方面來看,EasyCode的優勢較為明顯。大家在開發過程中可以實際測試下這兩款軟體,對照自己的需求理性選擇。