這個小網站終於成功上線,小白除了收獲一筆不多的費用外,還得到女神小美的贊賞,心中滿滿的成就感。這一天下班后,他請老菜一起下館子,兌現請吃飯的承諾,順便讓老菜點評一下。
小白:老大,在你的指導下終於完成了我人生當中第一個項目,非常感謝。
老菜:挺不錯的,在這么短時間完成了一個項目,值得祝賀一下。
小白:老大,代碼你看了沒有,你覺得有什么問題或需要改進的地方嗎?
老菜:你自己完成后,重新查看代碼有什么想法?
小白:嗯,我覺得有好多地方代碼都是一樣的,重復的,復制粘貼后改起來容易出錯,其他的有些地方感覺代碼寫起來有點別扭,但說不上來。
老菜:看來項目完成后,你的技術也長進了不少。代碼重復是一個框架從無到有發展過程中必須經歷的階段,當然有不少人直接使用別人的框架進行修改可以跳過這個階段,但他們的感悟就沒那么深了。
很多軟件開發框架一開始都是很簡單很簡漏的,它能滿足一般的需求,直接明了,一般來說只要嚴格遵循開發規范,這樣的代碼可讀性也是最好的。
而開發人員在整個項目實現的過程中一直在進步,當完成項目以后回頭再看看你自己寫的東西,就會發現它其實存在着很多不合理的地方,而自己在成長過程中也會學到很多新的知識,可以融入到現有體系中,讓已開發出來的框架變得更好更成熟。在自己持續的學習成長過程中,通過對舊框架的重構升級,開發框架也會變得越來越成熟和強大起來。
你這個框架代碼我看了一下,存在以下幾個問題:與數據交互的代碼重復,沒有進行合理封裝;前后台系統接口沒有分離,權限管理混亂;后台管理系統無權限管理模塊,無法控制頁面權限,容易引發安全問題;
如果有時間的話,你可以抽空重構一下,將數據庫讀寫操作單獨分離出來,認真琢磨一下sql代碼規律,封裝成ORM統一管理;在接口與對數據操作之間加多一個邏輯層,用來放置各種對數據操作的邏輯函數,方便代碼的封裝與管理;后台與前台代碼各自獨立出來,分成各自獨立的兩大前后端系統,方便管理;后台管理系統增加權限管理模塊等,暫時想到這些,你可以先弄弄。
做好這些工作,這個開發框架就可以算得上比較成熟了。
小白:好的,謝謝老大的指點,我會認真學習,再琢磨琢磨的。菜已經上了,我們邊吃邊聊。
......
本系列的第一部分終於完成了,比預想中多花了不少時間,后半部分因為年底各種事情,加上參加了敏捷個人線上練習占用了大量的時間,所以沒時間寫,一直拖着,沒想到拖了這么長時間。
在開筆之前其實有很多想法,對於前端也想寫的很細很細,但編寫過程中總會遇到這個那個事情,有這樣那樣的各種顧慮,所以有時將就了一下,寫的並不是太滿意。沒有前端基礎的朋友可能看起來有點吃力,等這個系列全部完成以后,看看有沒有可能錄制一些視頻,直接講解可能會更容易理解,畢竟很多東西直接講比較容易,用文字表達起來確實有點頭痛。
第二部分大綱初步整理了一下,大概30多章節,在年后會安排時間慢慢完善更新,大家如果有什么建議可以直接發信息給我。
一次XXX引起的安全小事故
項目版本控制與接口文檔
代碼審查與重構
什么是ORM
ORM基類開發
Nosql在ORM中的應用
邏輯層類開發與測試
接口代碼重構
后台管理系統權限設計
權限數據庫結構設計
后台菜單管理功能
后台主界面菜單實現
部門(角色組)管理功能
職位(角色)管理功能
管理員管理功能
后台接口權限訪問控制處理
接口訪問加密處理
后台操作日志處理
前后台分離與部署
版權聲明:本文原創發表於 博客園,作者為 AllEmpty 本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權。
python開發QQ群:669058475(本群已滿)、733466321(可以加2群) 作者博客:http://www.cnblogs.com/EmptyFS/
