Python主流IDE對(duì)比:EricVS.PyCharm

IDE, 全稱是Integrated Development Environment,翻譯過(guò)來(lái)就是集成開(kāi)發(fā)環(huán)境。Python的開(kāi)發(fā)從2010年5月算起,不知不覺(jué)中,到現(xiàn)在已經(jīng)是第七個(gè)年頭。

公司主營(yíng)業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出七臺(tái)河免費(fèi)做網(wǎng)站回饋大家。

這六年里,舍得最常用的IDE是Eric6(一開(kāi)始是5.x版本),也試用過(guò)圈內(nèi)聞名的PyCharm、WingIDE和Eclipse(+PyDev插件),算是有些心得。今天,著重對(duì)Eric6和PyCharm 2016.3作一下簡(jiǎn)單的評(píng)測(cè)。

顏值

Eric6是基于PyQt開(kāi)發(fā)的,程序運(yùn)行甚至只用一個(gè)BAT文件來(lái)調(diào)用,界面相對(duì)而言略丑。PyCharm基于Java開(kāi)發(fā),自帶的主題很漂亮,風(fēng)格比較統(tǒng)一。在顏值這一點(diǎn)上,無(wú)疑是PyCharm勝出。

順帶提一下WingIDE,雖然它也帶了很多款主題,但整個(gè)窗口中有些部位是不受主題控制的。舉個(gè)栗子,當(dāng)你選擇深色的主題時(shí),窗口左下角往往會(huì)有一塊白色的控件,忒刺眼。

速度和內(nèi)存開(kāi)銷

從啟動(dòng)到打開(kāi)一個(gè)項(xiàng)目,舍得掐著秒表測(cè)試了這幾款I(lǐng)DE,數(shù)據(jù)如下:

  • 最慢的是PyCharm,平均需要18-20秒左右。就算把插件干掉只剩兩個(gè),再將Xms和Xmx參數(shù)適當(dāng)調(diào)整,跑出最快的成績(jī)是16秒5;
  • Eric平均只用11秒;
  • 最快的是WingIDE, 只用7秒;

內(nèi)存開(kāi)銷上,PyCharm是大戶,動(dòng)輒就是吃掉你300-400MB的內(nèi)存。機(jī)子內(nèi)存小的童鞋要當(dāng)心了!

UI和資源編譯

開(kāi)發(fā)過(guò)程中難免要對(duì)UI和資源文件進(jìn)行調(diào)整,所以IDE中自然需要將這兩項(xiàng)的編譯工作集成進(jìn)來(lái)。

Eric6是原生支持UI和資源文件編譯的,它的開(kāi)發(fā)者早就想到了我們需要這項(xiàng)功能。

PyCharm作為一個(gè)專業(yè)的Python IDE,在這方面無(wú)疑略顯不足。要實(shí)現(xiàn)UI和資源編譯,你必須手工在外部工具設(shè)置中添加它們(具體操作請(qǐng)自己去問(wèn)度娘),雖然設(shè)置好之后和Eric6比也沒(méi)啥區(qū)別,但總是開(kāi)發(fā)者欠考慮。

不過(guò)PyCharm這個(gè)外部工具的設(shè)計(jì)還是值得贊賞的,你可以直接把打包命令(我通常用cx_freeze)直接整合進(jìn)去,這樣就方便多了。

智能縮進(jìn)

在Python的語(yǔ)法中,縮進(jìn)是非常重要的一項(xiàng)。開(kāi)發(fā)過(guò)程中,縮進(jìn)若能更智能化一點(diǎn),自然寫(xiě)代碼的速度也會(huì)快一些。

在這方面,做得最優(yōu)秀的是Eric6。它的牛x之處在于,無(wú)論你的光標(biāo)鍵在哪個(gè)位置,只要你按TAB鍵,程序就會(huì)根據(jù)上面的代碼選擇合適的縮進(jìn)位置。

PyCharm亦有類似的設(shè)計(jì)。它的智能縮進(jìn)操作英文名叫Emacs Indent(建議將快捷鍵TAB設(shè)置給它),國(guó)內(nèi)的漢化莫名其妙地翻譯成了“宏選項(xiàng)卡”,這一定是外行人干的。

但Emacs Indent在處理整塊縮進(jìn)的時(shí)候略顯無(wú)力,當(dāng)我們要將整塊代碼往前移的時(shí)候,只能使用另一項(xiàng)叫作“取消縮進(jìn)內(nèi)容”的操作,而Eric6只要一個(gè)TAB鍵就足夠了。

字體縮放

雖然我們可以在設(shè)置中給IDE的編輯器設(shè)一個(gè)特定的字號(hào),但在實(shí)際開(kāi)發(fā)中,還是免不了要適當(dāng)縮放字體。尤其是大屏幕,字體適當(dāng)放大一些,眼睛不至于那么遭罪。

字體的縮放這兩款I(lǐng)DE都有。只不過(guò),Eric6是早已設(shè)置好快捷鍵的(用Ctrl+=/-,或Ctrl+滾輪),而在PyCharm中,你必須手動(dòng)設(shè)置這個(gè)快捷鍵。

這一輪,算打成平手好了。

自動(dòng)補(bǔ)空格

PEP8的規(guī)范要求在逗號(hào)、運(yùn)算符號(hào)之類的內(nèi)容后面加一個(gè)空格,這一點(diǎn)Eric做得不錯(cuò),在你輸入一個(gè)逗號(hào)后,它會(huì)自動(dòng)給你補(bǔ)一個(gè)空格,而PyCharm顯然考慮得沒(méi)有那么周到。你不得不手動(dòng)一個(gè)個(gè)敲空格,或留著到最后使用Reformat File功能來(lái)糾正。

代碼自動(dòng)補(bǔ)全和代碼規(guī)范化

兩款I(lǐng)DE的代碼自動(dòng)補(bǔ)全做得都挺好。硬要挑出一個(gè)更好的來(lái),我會(huì)把票投給PyCharm, 它的智能化程度似乎(我沒(méi)法給出更精確的評(píng)價(jià),建議自行體會(huì))更高一些。

PyCharm除了自動(dòng)補(bǔ)全,還會(huì)用類似拼寫(xiě)檢查的方式檢查你的代碼,當(dāng)你輸入的代碼不符合PEP8之類的規(guī)范時(shí),PyCharm會(huì)適時(shí)提醒并對(duì)該部分代碼作出標(biāo)記。這個(gè)功能確實(shí)很貼心,我有理由相信用PyCharm會(huì)幫助我們將代碼寫(xiě)得更加規(guī)范。

此外,PyCharm還會(huì)對(duì)當(dāng)前方法下所用的變量進(jìn)行檢查,當(dāng)有變量出現(xiàn)未使用、不一致、輸入錯(cuò)誤等情形時(shí),PyCharm亦會(huì)將其一一標(biāo)出,讓你一目了然。

版本控制

版本控制也可算是IDE的標(biāo)配了吧!Eric6和PyCharm都有版本控制的模塊,不過(guò)舍得認(rèn)為,PyCharm在這一塊做得更細(xì)一些,和GibHub結(jié)合得很好,舍得用得很趁手。

數(shù)據(jù)庫(kù)連接、查看

這項(xiàng)功能只能算是可選配置了。兩款I(lǐng)DE都帶有數(shù)據(jù)庫(kù)內(nèi)容瀏覽的功能,它的方便之處在于,我們要查看數(shù)據(jù)庫(kù)中某項(xiàng)數(shù)據(jù)時(shí),可以不必打開(kāi)專用的數(shù)據(jù)庫(kù)管理工具(比如SQLite的SQLite Expert, PostGreSQL的PG Admin,MySQL的PHPMyAdmin等),直接在IDE內(nèi)查看。

Eric6自帶一個(gè)內(nèi)建的SQL瀏覽器,界面相對(duì)簡(jiǎn)陋,而且每次打開(kāi)都必須重新設(shè)置,不夠方便。

PyCharm是通過(guò)Database Tools and SQL這款插件來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接和查看的功能,用來(lái)臨時(shí)查看一下數(shù)據(jù)是足夠了。

書(shū)簽

在開(kāi)發(fā)過(guò)程中,我們經(jīng)常需要在一個(gè)文檔中不同的位置間切換,此時(shí)書(shū)簽功能會(huì)給我們帶來(lái)很大的便利。

兩款I(lǐng)DE都有書(shū)簽功能,PyCharm做得更好一點(diǎn),它的書(shū)簽不會(huì)因?yàn)槟阃顺龀绦蚨宄?。而Eric6則會(huì)在你每次退出程序時(shí),清空你的書(shū)簽設(shè)置。

TODO

舍得在堆代碼的時(shí)候,想到一些下一步要完善的功能之類的內(nèi)容時(shí),往往會(huì)在文檔中插入一行,行首寫(xiě)上“# todo,”,然后把當(dāng)時(shí)的想法寫(xiě)進(jìn)去。這樣日后就能根據(jù)todo的標(biāo)記和內(nèi)容來(lái)逐漸完善自己所開(kāi)發(fā)的軟件。

兩款I(lǐng)DE都支持Todo功能,它們會(huì)把你在當(dāng)前項(xiàng)目中的每一行標(biāo)有todo的內(nèi)容都搜集起來(lái),以供你隨時(shí)查看。只是在功能的完善性上,略有差距:

  • PyCharm在你輸入“# todo,”的時(shí)候就將這一行進(jìn)行高亮處理,讓它變得非常醒目,Eric6默認(rèn)是不會(huì)對(duì)“# todo,”作高亮處理的;
  • PyCharm的todo支持大小寫(xiě),Eric6默認(rèn)只支持大寫(xiě),要想支持不同的格式,需要單獨(dú)設(shè)置;

相比之下,PyCharm以微弱的優(yōu)勢(shì)勝出。

幫助文檔

Eric6自帶一個(gè)WebKit內(nèi)核的幫助瀏覽器,當(dāng)你設(shè)置好Python/PyQt/Pyside/Qt等幫助文檔的路徑后,可以在幫助菜單中直接點(diǎn)擊這些文檔的鏈接,Eric6就會(huì)調(diào)用幫助瀏覽器來(lái)顯示這些文檔。

PyCharm雖然有一個(gè)外部文檔的設(shè)置和對(duì)應(yīng)的菜單命令,但功能實(shí)在太弱比,應(yīng)該好好完善一下才是。

另外PyCharm雖然提供了一個(gè)Search EveryWhere的“強(qiáng)大”功能,但由于搜索結(jié)果匹配往往不能盡如人意,使得此功能形如雞肋。

結(jié)語(yǔ)

通過(guò)上面的比較和分析,相信大家自會(huì)得出自己的答案。簡(jiǎn)單說(shuō)一下舍得的觀點(diǎn):

  • 如果你是個(gè)顏控,請(qǐng)選擇PyCharm;
  • 如果你的電腦配置略低(尤其是內(nèi)存),跑PyCharm感覺(jué)慢、卡,請(qǐng)選擇Eric6;
  • 大多數(shù)功能,這兩款I(lǐng)DE都大同小異。舍得最介意的是,PyCharm沒(méi)法在逗號(hào)后居然不能自動(dòng)補(bǔ)空格,希望開(kāi)發(fā)者能在后續(xù)的版本中進(jìn)一步完善;
  • 至于很多仍在使用非IDE(比如用vim、emacs、sublime text之類的編輯器)的童鞋,舍得的建議是,IDE可以讓你的開(kāi)發(fā)效率更高??瓷先ツ阌眠@些編輯器也能完成大部分工作,但別忘了,你費(fèi)盡九牛二虎之力搞定各種插件的同時(shí),IDE上這些功能早就已經(jīng)非常成熟了,何必自己再去造輪子呢?

 

本文版權(quán)歸舍得學(xué)苑所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者和出處。謝謝!
作者:舍得
首發(fā):舍得新浪博客

新聞標(biāo)題:Python主流IDE對(duì)比:EricVS.PyCharm
文章源于:http://muchs.cn/article4/piedoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)自適應(yīng)網(wǎng)站、全網(wǎng)營(yíng)銷推廣、網(wǎng)站改版微信小程序、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)