pythonweb开发工作内容_我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...
中午吃飯時間到了,小白趕緊向老菜坐的位置走過去。
小白:老大,中午請你吃飯。
老菜:哈哈...又遇到問題了吧,這次得狠狠宰你一頓才行。
小白:行行行,只要您賞臉,米飯任吃,嘻嘻,我們邊走邊聊。
......
小白:老大,我照您上次講的辦法都做完了,一步步執(zhí)行,方向和條理清晰了很多,現(xiàn)在馬上要進(jìn)入編碼了,所以想讓您再指點一下。
老菜:嗯嗯,做的還不錯嘛,孺子可教也。
編碼相關(guān)的一些內(nèi)容也是老生常談的東西,它就好像起一座高樓大廈,如果沒有設(shè)計圖紙,沒有將基礎(chǔ)打好,那么可想而知建造出來的質(zhì)量怎么樣了。主要有下面幾點要注意的:
1.編碼規(guī)范
對于這個,python做的挺不錯的,有統(tǒng)一的規(guī)范PEP8指導(dǎo),只要按要求去做就可以了,當(dāng)然要重點注意的有兩點,一是命名一定要按有意義的可讀性強(qiáng)的英文單詞來使命名;二是代碼注釋上,盡量表達(dá)清楚到位,盡量多點注釋,不然一段時間后你重新維護(hù)舊系統(tǒng)時,你就知道痛苦了。
2.代碼要適度封裝
簡單來說,你要將相同或類似功能的代碼放到統(tǒng)一的文件當(dāng)中,給其他需要調(diào)用相同功能的地方調(diào)用。
比如說我們經(jīng)常要用到MD5進(jìn)行加密,不可能每次要用到時,都要導(dǎo)入hashlib包,然后創(chuàng)建實例對象,再根據(jù)當(dāng)前加密對象是bytes還是字符串,然后做相應(yīng)處理,這樣重復(fù)代碼就會很多。萬一那個地方要進(jìn)行修改時,就得修改所有使用MD5加密的代碼,而如果處理過程中有所遺忘,就會產(chǎn)生問題了。所以我們將md5、base64編碼與解碼、aes加密與解密等內(nèi)容統(tǒng)一放到encrypt_helper.py這個加密操作包中,那么我們要使用時就非常方便了。
importhashlibdefmd5(text):"""md5加密函數(shù)"""md5=hashlib.md5()if notisinstance(text, bytes):
text= str(text).encode('utf-8')
md5.update(text)return md5.hexdigest()
為什么說適度封裝呢?因為過度封裝的話,會令代碼的可讀性下降,使代碼變的難于理解,所以適度就好。當(dāng)然對于你這種初學(xué)者來說,可能一開始很難理解,這不用擔(dān)心,你就按你自己的經(jīng)驗正常實現(xiàn)功能需求就行了,等你完成這個項目后就會發(fā)現(xiàn)好多代碼可以重用,需要封裝重構(gòu)了,到時再進(jìn)行處理既容易理解,能力也會提升很快。
3.程序文件分類擺放
如果你的項目文件隨便擺放,當(dāng)程序文件越來越多時,就會非常混亂,要找某些功能函數(shù)時,就會很困難,所以在開發(fā)前要做好規(guī)劃。
比如common文件夾放各種工具函數(shù)包;config放各種配置文件;api放各種接口文件等
4.面向?qū)ο?/p>
理解什么是面向?qū)ο?#xff0c;清楚面向?qū)ο蟮膸状笤瓌t,并能應(yīng)用到編碼當(dāng)中。
5.做好開發(fā)文檔管理工作
開發(fā)時盡量編寫與維護(hù)好各種開發(fā)文檔,比如原型、數(shù)據(jù)字典、業(yè)務(wù)流程圖、接口文檔等,如果是團(tuán)隊合作項目,還要維護(hù)好甘特圖、開發(fā)進(jìn)度管理表和各種約束、分析、會議記要等文檔。
當(dāng)然小項目不用那么復(fù)雜,不維護(hù)一般來說也沒太大的問題,如果可能的話還是維護(hù)好接口文檔會比較好,不然二次開發(fā)或與別人合作開發(fā)時,就呵呵了...
一般接口文檔都會用wiki來記錄,網(wǎng)上有很多開源免費(fèi)的wiki,安裝使用都很方便,比如:ShowDoc
6.代碼版本控制
雖然是小項目,最好也用用SVN或Git等版本控制比較好。沒有版本控制的項目,有時寫著寫著,想回滾以前版本時,或代碼出現(xiàn)問題要回滾時,我只能呵呵了
7.開發(fā)時間的評估與控制
小項目在時間管理上也不要太大意了,有時一不留神就到了交付時間,如果還沒開發(fā)出來就慘了,怎么評估和控制好項目開發(fā)時間也是很有講究的。
在開始一個項目時,一般都會對項目進(jìn)行分解,細(xì)分到每個頁面和接口,甚至更細(xì)的都有,然后分配這些開發(fā)任務(wù)到個人,有了這些詳細(xì)的任務(wù),要評估具體的開發(fā)周期就好辦多了。在評估的時候,因為關(guān)乎到個人的開發(fā)時間控制,都會去思考每個頁面與接口要處理的內(nèi)容是什么,會遇到哪些技術(shù)難題,要怎么處理;又或者是這些頁面或接口涉及的業(yè)務(wù)流程是什么,是否清晰,流轉(zhuǎn)是否存在問題等等。這等于在開發(fā)前就已經(jīng)在大腦里面將代碼寫過一便了,所以預(yù)估的時間大都八九不離十。
而項目控制又涉及到項目管理,這里就不再擴(kuò)展了,如果一個個往細(xì)說就沒完沒了了。
唔唔,到吃飯的地方了,我看看哪家比較貴又吃不飽的,得好好挑一下才行。
小白:老大,大哥,注意口下留情啊!!!您知道小弟囊中羞澀,放過我的錢包吧!!!等收了項目款后再請你大吃一餐,不然剩下的日子我得天天吃泡面了,嗯,我看這家不錯,我經(jīng)常來,就去這家吧......
老菜:@.@
版權(quán)聲明:本文原創(chuàng)發(fā)表于 博客園,作者為
python開發(fā)QQ群:669058475(本群已滿)、733466321(可以加2群) 作者博客:http://www.cnblogs.com/EmptyFS/
總結(jié)
以上是生活随笔為你收集整理的pythonweb开发工作内容_我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刷bios工具_微星主板怎么更新bios
- 下一篇: mysql3.2.2 .tar.gz_关