Python新手常見(jiàn)的幾個(gè)問(wèn)題以及工具推薦

最近在幫朋友做一些Python項(xiàng)目的Code Review(代碼審查),發(fā)現(xiàn)主要項(xiàng)目主要有以下幾點(diǎn)問(wèn)題:

  1. 沒(méi)有進(jìn)行環(huán)境隔離

由于Python開(kāi)發(fā)常常會(huì)依賴(lài)各種各樣的包凯砍,包之間還存在各種依賴(lài)惕鼓,如果環(huán)境沒(méi)有進(jìn)行隔離筋现,不同版本比如Python2和Python3版本,或者統(tǒng)一Python版本各種包不一致呜笑,常常會(huì)導(dǎo)致各種依賴(lài)問(wèn)題夫否。并且我們電腦上面可能同時(shí)開(kāi)發(fā)多個(gè)Python項(xiàng)目。環(huán)境的依賴(lài)是我們首先要處理的叫胁。

環(huán)境隔離常見(jiàn)?virtualenv(推薦)凰慈,zc.buildout,當(dāng)然本地直接用docker也可以做到方便隔離驼鹅,我們團(tuán)隊(duì)日常開(kāi)發(fā)就是通過(guò)docker開(kāi)發(fā)微谓,測(cè)試,生產(chǎn)環(huán)境進(jìn)行統(tǒng)一的输钩。

  1. 沒(méi)有錯(cuò)誤收集報(bào)警

我們?nèi)粘3霈F(xiàn)了錯(cuò)誤是需要馬上定位修復(fù)的豺型,需要一個(gè)錯(cuò)誤反饋機(jī)制來(lái)收集具體錯(cuò)誤上下文,通過(guò)郵件進(jìn)行報(bào)警买乃。如果沒(méi)有一個(gè)這樣的收集工具我們就會(huì)后知后覺(jué)姻氨。

這里面我推薦Sentry,通過(guò)docker進(jìn)行安裝部署這個(gè)工具非臣粞椋快捷肴焊。

  1. 格式混亂

很多同學(xué)都能寫(xiě)Python前联,但是不代表能寫(xiě)好,適當(dāng)遵守相關(guān)標(biāo)準(zhǔn)規(guī)范或規(guī)范有助于快速和專(zhuān)業(yè)的Python開(kāi)發(fā)者交流娶眷。

這里我推薦寫(xiě)Python同學(xué)看下Google開(kāi)源風(fēng)格規(guī)范:?http://t.cn/RkcabfS

并且結(jié)合?yapf?和?flake8?來(lái)進(jìn)行批量格式化校驗(yàn)自己代碼格式似嗤,團(tuán)隊(duì)合作在編輯器中加入?editorconfig?文件保證統(tǒng)一格式

  1. 沒(méi)有測(cè)試用例

作為一個(gè)嚴(yán)肅的項(xiàng)目,沒(méi)有測(cè)試是不可信的届宠,不僅產(chǎn)品質(zhì)量低烁落,而且迭代的頻率也較低,具體原因大家可以去了解下豌注。

這里主要推薦?unittest/pytest伤塌,mock,tox幌羞,coverage等相關(guān)的測(cè)試工具寸谜。

  1. 沒(méi)有自動(dòng)化版本更新工具

由于我們項(xiàng)目迭代發(fā)布需要做很多操作,比如打包属桦,上傳代碼熊痴,備份,更新數(shù)據(jù)表聂宾,重啟服務(wù)等等一些操作果善,手動(dòng)操作很可能忘記其中的一步或者幾步,沒(méi)有自動(dòng)化發(fā)布更新工具效率無(wú)疑是低效的并且是不靠譜的系谐。

這里面主要推薦?Fabric?和?Ansible?等工具

  1. 沒(méi)有系統(tǒng)管理工具

在代碼審閱過(guò)程中巾陕,發(fā)現(xiàn)代碼上線(xiàn)之后只是用shell寫(xiě)了腳本 nohup進(jìn)行執(zhí)行的,沒(méi)有Python進(jìn)程管理工具纪他,如果服務(wù)掛掉需要重啟什么的鄙煤,多個(gè)應(yīng)用服務(wù)沒(méi)法做到快速重啟,關(guān)閉等操作茶袒。

這里推薦supervisor這個(gè)工具進(jìn)行服務(wù)批量管理控制梯刚。

  1. 其他

比如日志打印不規(guī)范或者不打印,捕獲所有錯(cuò)誤異常薪寓,字符串硬編碼亡资,if else語(yǔ)句過(guò)多,模塊耦合度太高等等這些需要長(zhǎng)期在編碼中積累和學(xué)習(xí)的向叉。
這里主要推薦兩本書(shū):?「代碼整潔之道」?「編寫(xiě)可讀性代碼的藝術(shù)」

雖然我這里主要以Python舉例锥腻,推薦工具也是以Python語(yǔ)言為主,但實(shí)際情況這是接觸新語(yǔ)言新技術(shù)都需要了解的和知道的母谎。

如果能做到上面的幾點(diǎn)瘦黑,你的Python項(xiàng)目及代碼便開(kāi)始變得專(zhuān)業(yè)起來(lái),更多的我們下一篇繼續(xù)聊。

想學(xué)習(xí)python的小伙伴幸斥,記得關(guān)注我+私信回復(fù)【1】找到合適自己的學(xué)習(xí)方案

祝各位小伙伴前途無(wú)憂(yōu)存崖,感謝您的閱讀與關(guān)注!


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末睡毒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子冗栗,更是在濱河造成了極大的恐慌演顾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隅居,死亡現(xiàn)場(chǎng)離奇詭異钠至,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)胎源,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)棉钧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人涕蚤,你說(shuō)我怎么就攤上這事宪卿。” “怎么了万栅?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵佑钾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我烦粒,道長(zhǎng)休溶,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任扰她,我火速辦了婚禮兽掰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘徒役。我一直安慰自己孽尽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布廉涕。 她就那樣靜靜地躺著泻云,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狐蜕。 梳的紋絲不亂的頭發(fā)上宠纯,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音层释,去河邊找鬼婆瓜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的廉白。 我是一名探鬼主播个初,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼猴蹂!你這毒婦竟也來(lái)了院溺?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤磅轻,失蹤者是張志新(化名)和其女友劉穎珍逸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體聋溜,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谆膳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了撮躁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漱病。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖把曼,靈堂內(nèi)的尸體忽然破棺而出杨帽,到底是詐尸還是另有隱情,我是刑警寧澤嗤军,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布睦尽,位于F島的核電站,受9級(jí)特大地震影響型雳,放射性物質(zhì)發(fā)生泄漏当凡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一纠俭、第九天 我趴在偏房一處隱蔽的房頂上張望沿量。 院中可真熱鬧,春花似錦冤荆、人聲如沸朴则。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)乌妒。三九已至,卻和暖如春外邓,著一層夾襖步出監(jiān)牢的瞬間撤蚊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工损话, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留侦啸,地道東北人槽唾。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像光涂,于是被迫代替她去往敵國(guó)和親庞萍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    小邁克閱讀 2,986評(píng)論 1 3
  • 前言 工作隨筆忘闻,方便記起 1.ButterKnife 注解生成器 2.GsonFormat Gson自動(dòng)化 3.T...
    nansir閱讀 306評(píng)論 0 0
  • 感覺(jué)好久沒(méi)有正經(jīng)ds出去工作渾身不得勁钝计。但是只要出去工作了狀態(tài)就回來(lái)了!而且現(xiàn)在也會(huì)實(shí)時(shí)分享齐佳。今天交到三個(gè)特別好的...
    甄程很自律閱讀 145評(píng)論 0 0
  • 1.c3p0簡(jiǎn)介 c3p0被設(shè)計(jì)成易于使用葵蒂。只需要在項(xiàng)目中導(dǎo)入相關(guān)jar包即可,導(dǎo)入相關(guān)包時(shí),需要注意重虑,包的版本的...
    第八共同體閱讀 913評(píng)論 0 1