代碼生成那點事


在微軟技術中浸淫6年多了,我就常想啊,有沒有一個工具,能讓開發簡單一點,哪怕就簡單一點點?!

這還是去年的事情,手里的項目都成功上線了,我和james聊天,我說咱們的這幾個項目很多地方長的都一樣,有些模塊功能也一樣,以后的開發能不能將這些經驗和技術積淀下來啊,不用再機械重復。

公司又招了兩個新人,一男一女,都是剛畢業的,讓我帶,我就讓他們一人維護一個項目,每個項目的架構和技術選型還都不一樣,庫房項目的底層是使用的ado.net的,直接寫sql語句,而看板系統是使用的entity framework做的底層,寫的都是linq語句,我就想能不能有一套成熟了技術選型啊?這樣新人就能一起培訓,也不用學那么多東西。

每當核心功能和代碼出問題,都是我手把手教他們定位錯誤和修改bug,可有時候他們兩個誰請假了,另一個人又不能補上,因為他們在不同的項目之間切換,技術門檻太高了,只能自己補上,感覺自己切換在兩個架構中真累啊,有沒有一套穩定的架構啊?

仔細回味這些事情,讓我迷茫,讓我沉思。

我決定寫一個工具,一個能積淀經驗的工具,一個能生成成熟的技術選型的工具,一個能生成穩定架構的工具。

James是2001年畢業於南開計算機系的大牛,關於架構的確定,我沒少叨擾james,我們分析已有的項目架構,也找了很多微軟的架構資料,有簡單的,有復雜的,最后我們一致中庸的認為四層的架構是最優的,既降低了入門成本,又使系統具有了很好的擴展性。

架構很快確定了,可技術選型,我們出現了嚴重的分歧,他有他的一套技術體系,我有我的一套,數據庫底層我聽取了他的建議,采用entityframework,現在看來他是正確的,因為伴隨着項目做大和跨庫的要求,ado.net會亂作一團。James也肯定了我“從業務層提取接口,加入服務層”的方案,而界面層,我們默契的選擇了輕量級的MVC框架。

架構和技術都選擇好了,我就開始動手實踐。

不知道你在的公司是使用什么工具設計數據庫的,我們公司都是使用Powerdesigner來設計數據庫模型的,在使用過程中,我發現可以從中分析出很多有開發價值的東西,比如表之間的關系和備注中的信息,靈光一閃,為什么不使用Powerdesigner的設計文件做我的工具的數據源呢!

同時,我把這幾年開發的項目都拿過來一塊分析,找出共性,抽象出模型……

當你一頭扎進你的興趣的時候,約會的時間沒有了,聊天的時間少了,周末的活動也少了,可是女友的抱怨越來越多了。

至此,狼奔代碼生成器的思路在我的腦海中成型,一個讓開發簡單一點點的工具!

 

對比這幾個信息化的項目,我發現都需要一個的權限管理系統,嗯!於是我就使用代碼生成器寫了一個通用的狼奔權限管理系統,方便以后可以基於此項目進行開發。

狼奔代碼生成器官方網站www.langben.com

感謝為我打開程序員大門的導師james,感謝給過我幫助和鼓勵的同事們,感謝網友對代碼生成器提出的寶貴建議,我想說,正是因為有了你們,我才走到了今天。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM