1. 程式人生 > >我的第一個python web開發框架(5)——開發前準備工作(了解編碼前需要知道的一些常識)

我的第一個python web開發框架(5)——開發前準備工作(了解編碼前需要知道的一些常識)

turn 框架 strong pep8 加密與解密 python開發 lan 二次 沒有

  中午吃飯時間到了,小白趕緊向老菜坐的位置走過去。

  小白:老大,中午請你吃飯。

  老菜:哈哈...又遇到問題了吧,這次得狠狠宰你一頓才行。

  行行行,只要您賞臉,米飯任吃,嘻嘻,我們邊走邊聊。

  ......

  老大,我照您上次講的辦法都做完了,一步步執行,方向和條理清晰了很多,現在馬上要進入編碼了,所以想讓您再指點一下。

  老菜:嗯嗯,做的還不錯嘛,孺子可教也。

  編碼相關的一些內容也是老生常談的東西,它就好像起一座高樓大廈,如果沒有設計圖紙,沒有將基礎打好,那麽可想而知建造出來的質量怎麽樣了。主要有下面幾點要註意的:

  1.編碼規範

  對於這個,python做的挺不錯的,有統一的規範PEP8指導,只要按要求去做就可以了,當然要重點註意的有兩點,一是命名一定要按有意義的可讀性強的英文單詞來使命名;二是代碼註釋上,盡量表達清楚到位,盡量多點註釋,不然一段時間後你重新維護舊系統時,你就知道痛苦了。

  2.代碼要適度封裝

  簡單來說,你要將相同或類似功能的代碼放到統一的文件當中,給其他需要調用相同功能的地方調用。

  比如說我們經常要用到MD5進行加密,不可能每次要用到時,都要導入hashlib包,然後創建實例對象,再根據當前加密對象是bytes還是字符串,然後做相應處理,這樣重復代碼就會很多。萬一那個地方要進行修改時,就得修改所有使用MD5加密的代碼,而如果處理過程中有所遺忘,就會產生問題了。所以我們將md5、base64編碼與解碼、aes加密與解密等內容統一放到encrypt_helper.py這個加密操作包中,那麽我們要使用時就非常方便了。

import hashlib

def md5(text): """md5加密函數""" md5 = hashlib.md5() if isinstance(text, bytes): md5.update(text) else: md5.update(text.encode(utf-8)) return md5.hexdigest()

  為什麽說適度封裝呢?因為過度封裝的話,會令代碼的可讀性下降,使代碼變的難於理解,所以適度就好。當然對於你這種初學者來說,可能一開始很難理解,這不用擔心,你就按你自己的經驗正常實現功能需求就行了,等你完成這個項目後就會發現好多代碼可以重用,需要封裝重構了,到時再進行處理既容易理解,能力也會提升很快。

  3.程序文件分類擺放

  如果你的項目文件隨便擺放,當程序文件越來越多時,就會非常混亂,要找某些功能函數時,就會很困難,所以在開發前要做好規劃。

  比如common文件夾放各種工具函數包;config放各種配置文件;api放各種接口文件等

  4.面向對象

  理解什麽是面向對象,清楚面向對象的幾大原則,並能應用到編碼當中。

  5.做好開發文檔管理工作

  開發時盡量編寫與維護好各種開發文檔,比如原型、數據字典、業務流程圖、接口文檔等,如果是團隊合作項目,還要維護好甘特圖、開發進度管理表和各種約束、分析、會議記要等文檔。

  當然小項目不用那麽復雜,不維護一般來說也沒太大的問題,如果可能的話還是維護好接口文檔會比較好,不然二次開發或與別人合作開發時,就呵呵了...

  一般接口文檔都會用wiki來記錄,網上有很多開源免費的wiki,安裝使用都很方便,比如:ShowDoc

  6.代碼版本控制

  雖然是小項目,最好也用用SVN或Git等版本控制比較好。沒有版本控制的項目,有時寫著寫著,想回滾以前版本時,或代碼出現問題要回滾時,我只能呵呵了

  7.開發時間的評估與控制

  小項目在時間管理上也不要太大意了,有時一不留神就到了交付時間,如果還沒開發出來就慘了,怎麽評估和控制好項目開發時間也是很有講究的。

  在開始一個項目時,一般都會對項目進行分解,細分到每個頁面和接口,甚至更細的都有,然後分配這些開發任務到個人,有了這些詳細的任務,要評估具體的開發周期就好辦多了。在評估的時候,因為關乎到個人的開發時間控制,都會去思考每個頁面與接口要處理的內容是什麽,會遇到哪些技術難題,要怎麽處理;又或者是這些頁面或接口涉及的業務流程是什麽,是否清晰,流轉是否存在問題等等。這等於在開發前就已經在大腦裏面將代碼寫過一便了,所以預估的時間大都八九不離十。

  而項目控制又涉及到項目管理,這裏就不再擴展了,如果一個個往細說就沒完沒了了。

  唔唔,到吃飯的地方了,我看看哪家比較貴又吃不飽的,得好好挑一下才行。

  老大,大哥,註意口下留情啊!!!您知道小弟囊中羞澀,放過我的錢包吧!!!等收了項目款後再請你大吃一餐,不然剩下的日子我得天天吃泡面了,嗯,我看這家不錯,我經常來,就去這家吧......

  老菜:@[email protected]

作者:AllEmpty
出處:http://www.cnblogs.com/EmptyFS/
有興趣的朋友可以加加python開發QQ群:669058475,大家一起探討。大家有問題的話可以在群裏發問,當然我平時工作也非常繁忙不一定會及時回復。

本文為AllEmpty原創,歡迎轉載,但未經同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

我的第一個python web開發框架(5)——開發前準備工作(了解編碼前需要知道的一些常識)