溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何優(yōu)化Python開發(fā)和配置

發(fā)布時(shí)間:2021-10-28 10:40:54 來源:億速云 閱讀:115 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)如何優(yōu)化Python開發(fā)和配置的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

一、編譯器的歸編譯器

當(dāng)開發(fā)者把時(shí)間用在做一些電腦能做的更好的事情上時(shí),這可以稱之為一種時(shí)間上的浪費(fèi)了,一個(gè)典型的例子就是程序員將時(shí)間花在尋找一些可以被自動(dòng)化工具更準(zhǔn)確定位的bug上。

可能是由于Python動(dòng)態(tài)語言的特性以及早期被視為“腳本”語言的原因,到現(xiàn)在依然很少看到有什么靜態(tài)代碼分析工具和拼寫檢查器用在Python上。
然而此類工具是非常有幫助的,他們基本上能將特定的一類bug和語法錯(cuò)誤完全檢查出來并提醒開發(fā)者避免犯這些錯(cuò)誤。例如這些工具能找到影響代碼正常編譯的功能性bug像是錯(cuò)誤拼寫的標(biāo)識符或是發(fā)現(xiàn)一些代碼的質(zhì)量問題例如沒有使用過的變量和引用。

當(dāng)然并不是說靜態(tài)分析工具就是萬能良藥,但至少他們的確幫助我們減少了debug和代碼審查的時(shí)間,也減少了開發(fā)初期的時(shí)間投入。如果你只想要一個(gè),僅僅一個(gè)工具用來提升你的Python代碼質(zhì)量,同時(shí)不被錯(cuò)誤的糾正以及啰嗦的提示信息干擾,那么推薦你使用Pyflakes。Pyflakes是一個(gè)開源的,免費(fèi)的,同時(shí)容易安裝的拼寫檢查工具。

為了更快的得到反饋以及更早的發(fā)現(xiàn)bug,建議你將Pyflakes集成到你的代碼編輯器和后臺服務(wù)器上。將自動(dòng)修正代碼錯(cuò)誤的功能融入你的整個(gè)開發(fā)流程能讓你在工作時(shí)更加輕松。不過請保證你的團(tuán)隊(duì)里所有的開發(fā)者都在使用同一套配置以避免通過的程序中有未被發(fā)現(xiàn)的告警。

建議1:使用像Pyflakes這樣的靜態(tài)代碼分析工具

二、避免無意義的代碼風(fēng)格討論

你的團(tuán)隊(duì)會在開發(fā)中進(jìn)行代碼審查?那是最好的!但是請注意,沒有太多經(jīng)驗(yàn)的代碼審查者經(jīng)常犯的一個(gè)錯(cuò)誤是花費(fèi)太多時(shí)間反饋一些自動(dòng)化工具就能幫他們做好的東西。是的,說的就是代碼風(fēng)格問題。開發(fā)團(tuán)隊(duì)在代碼審查時(shí)非常容易陷入一種討論代碼風(fēng)格的情境中,大多數(shù)時(shí)候他們討論的都是諸如“這里應(yīng)該多加一個(gè)空格”或者“類命名應(yīng)該用駝峰命名法”之類的東西。

這是一個(gè)典型的“自行車棚效應(yīng)”的例子,它阻止了開發(fā)者去關(guān)注一些真正應(yīng)該被關(guān)注的問題,那些會導(dǎo)致投入更多資金和時(shí)間去維護(hù)的問題。
快速解決這些問題的方法就是選一個(gè)可以從網(wǎng)上找到的Python代碼風(fēng)格指導(dǎo)手冊,例如PEP8或者Google的Python代碼風(fēng)格指南,然后利用自動(dòng)化工具去確保項(xiàng)目代碼遵從了指南里的風(fēng)格。

推薦大家使用以PEP8為基準(zhǔn)風(fēng)格的Pycodestyle或者flake8代碼風(fēng)格檢查工具。他們可以有效避免大多數(shù)的關(guān)于代碼風(fēng)格的爭論同時(shí)能讓你的團(tuán)隊(duì)更加專注在更應(yīng)該關(guān)注的問題上。

建議2:選擇一個(gè)特定的代碼風(fēng)格然后用自動(dòng)化工具去保證代碼遵從了這種風(fēng)格。

三、千里之堤潰于蟻穴 - 卡頓和死機(jī)的影響

可用性研究表明網(wǎng)站加載時(shí)間對用戶是否放棄原先的目的有很大的影響:如果人們對等待某件事的發(fā)生感到疲倦和不耐煩,則他們放棄他們原先計(jì)劃的事的可能性將大大提高。

作為一個(gè)軟件開發(fā)者,等待各種各樣的工具完成他們的任務(wù)是每天工作過程中很平常的一部分。畢竟我們經(jīng)常在等待一個(gè)第三方包的安裝,一個(gè)測試的運(yùn)行或者一個(gè)代碼提交的完成。當(dāng)然我們是不會每次都“放棄”那些必須等待特定工具運(yùn)行幾秒甚至幾十秒的工作的,對正在進(jìn)行的工作保持注意力畢竟也是我們工作的一部分。

然而,保持這種程度的專注是很耗神的,而且我們可能因?yàn)檫@種專注耗費(fèi)了過多的精神力影響了我們在其他方面的工作:例如在午后更快的感覺到疲憊,或者在自己剛提交的代碼中出了一個(gè)微小的bug。即使是很微小的卡頓或者延遲在積累之后也會產(chǎn)生滾雪球般的惡劣影響。在一個(gè)速度很慢的編輯器上切換文件或者是在一個(gè)速度很慢的電腦上切換應(yīng)用都是很煩躁的一件事。我們甚至可以以一種近乎吹毛求疵的態(tài)度去關(guān)注例如編輯器字符輸入延遲之類的細(xì)節(jié)問題。因?yàn)檫@些微小的延遲也會產(chǎn)生滾雪球一樣的影響,他們影響了我們的生產(chǎn)效率同時(shí)使人感到煩躁。

我們設(shè)想一下,在開發(fā)過程中,你每十秒花了一秒的時(shí)間在等待一個(gè)任務(wù)的完成,這個(gè)時(shí)間的耗費(fèi)累積起來,相當(dāng)于你一周有半天都在等待,或者說一個(gè)月有整整兩天,抑或是一年的工作時(shí)間中你有一個(gè)月在等待中過去了。也許這種估算有點(diǎn)夸張,但是從另一個(gè)角度看,你花了一個(gè)下午的時(shí)間來優(yōu)化你的開發(fā)工具導(dǎo)致你的一整年的工作時(shí)間多出來一個(gè)星期,這樣是否值得你去嘗試改進(jìn)你的工具呢?

建議3:你的開發(fā)工具應(yīng)該保持高響應(yīng)速度,簡單總是好的。

四、不要在一個(gè)讓你不舒服的編輯環(huán)境下工作

使用讓自己不適應(yīng)的工具工作會大大影響工作效率。一些開發(fā)工具非常難以使用,它們會將你的精力和熱情完全耗盡。對你來說,什么工具是你認(rèn)為在日常的開發(fā)過程中最重要的呢?那肯定是代碼編輯器。對有些開發(fā)者來說可能是答案是他們的郵件客戶端或者團(tuán)隊(duì)的聊天應(yīng)用,但我們還是希望一天大部分的工作時(shí)間是用在寫代碼上的。

這就意味著將時(shí)間投入在一個(gè)令人愉悅的代碼編輯環(huán)境中是絕對值得的,因?yàn)檫@樣做的直接結(jié)果就是更高的工作效率,還有更加愉快的心情!作為Python開發(fā)者我們有很多編輯器或是IDE工具供我們選擇,例如Vim, Emacs, PyCharm, Wing IDE, Atom, Eclipse PyDev, Sublime Text等等等等。你需要找到最適合你自己且符合你獨(dú)特需求的工具去工作。所以請多找一些編輯器去嘗試嘗試看哪種你最喜歡,這對你的工作效率大有裨益。

建議4:找到適合你的編輯器并把它弄成你需要的樣子。

五、在購買需要的工具時(shí),不要吝嗇

如果你使用收費(fèi)編輯器,但是卻不愿意花錢購買這個(gè)編輯器的正式版本,反而用用這個(gè)編輯器的試用版來代替正式版進(jìn)行工作。而這個(gè)使用版本在你保存文件之后,每隔一兩分鐘就會跳出一個(gè)彈窗來提醒你購買正式版。那么你每天都會看到這個(gè)彈窗成百上千次......要和這些彈窗說再見需要購買一個(gè)正式版執(zhí)照,所以千萬別在這件事上這樣節(jié)省。在你經(jīng)常使用的開發(fā)工具上摳門和想辦法省小錢是很愚蠢的,而你在處理這些彈窗和由此帶來的一系列問題上的損失絕對超過開發(fā)工具本身的價(jià)錢。

如果你是在為自己工作,則這些執(zhí)照上的花費(fèi)是可以作為商業(yè)費(fèi)用從你的稅費(fèi)中扣除的。如果你是在為某個(gè)公司工作,那么在你解釋清楚為什么需要這些工具且這些工具能有效的提升你的工作效率之后,公司的管理者會愿意為你在工具上的這筆投入買單的。和美術(shù)設(shè)計(jì)師或者建筑師相比,程序開發(fā)者花在購買軟件開發(fā)工具的許可證上的錢實(shí)在是少多了,甚至有一部分非常棒的工具和編輯器是免費(fèi)的。將錢投入在合適的工具上是很合理的而且你的工作也會因此受益。

感謝各位的閱讀!關(guān)于“如何優(yōu)化Python開發(fā)和配置”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI