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