您好,登錄后才能下訂單哦!
IDE, 全稱是Integrated Development Environment,翻譯過來就是集成開發環境。Python的開發從2010年5月算起,不知不覺中,到現在已經是第七個年頭。
這六年里,舍得最常用的IDE是Eric6(一開始是5.x版本),也試用過圈內聞名的PyCharm、WingIDE和Eclipse(+PyDev插件),算是有些心得。今天,著重對Eric6和PyCharm 2016.3作一下簡單的評測。
顏值
Eric6是基于PyQt開發的,程序運行甚至只用一個BAT文件來調用,界面相對而言略丑。PyCharm基于Java開發,自帶的主題很漂亮,風格比較統一。在顏值這一點上,無疑是PyCharm勝出。
順帶提一下WingIDE,雖然它也帶了很多款主題,但整個窗口中有些部位是不受主題控制的。舉個栗子,當你選擇深色的主題時,窗口左下角往往會有一塊白色的控件,忒刺眼。
速度和內存開銷
從啟動到打開一個項目,舍得掐著秒表測試了這幾款IDE,數據如下:
內存開銷上,PyCharm是大戶,動輒就是吃掉你300-400MB的內存。機子內存小的童鞋要當心了!
UI和資源編譯
開發過程中難免要對UI和資源文件進行調整,所以IDE中自然需要將這兩項的編譯工作集成進來。
Eric6是原生支持UI和資源文件編譯的,它的開發者早就想到了我們需要這項功能。
PyCharm作為一個專業的Python IDE,在這方面無疑略顯不足。要實現UI和資源編譯,你必須手工在外部工具設置中添加它們(具體操作請自己去問度娘),雖然設置好之后和Eric6比也沒啥區別,但總是開發者欠考慮。
不過PyCharm這個外部工具的設計還是值得贊賞的,你可以直接把打包命令(我通常用cx_freeze)直接整合進去,這樣就方便多了。
智能縮進
在Python的語法中,縮進是非常重要的一項。開發過程中,縮進若能更智能化一點,自然寫代碼的速度也會快一些。
在這方面,做得最優秀的是Eric6。它的牛x之處在于,無論你的光標鍵在哪個位置,只要你按TAB鍵,程序就會根據上面的代碼選擇合適的縮進位置。
PyCharm亦有類似的設計。它的智能縮進操作英文名叫Emacs Indent(建議將快捷鍵TAB設置給它),國內的漢化莫名其妙地翻譯成了“宏選項卡”,這一定是外行人干的。
但Emacs Indent在處理整塊縮進的時候略顯無力,當我們要將整塊代碼往前移的時候,只能使用另一項叫作“取消縮進內容”的操作,而Eric6只要一個TAB鍵就足夠了。
字體縮放
雖然我們可以在設置中給IDE的編輯器設一個特定的字號,但在實際開發中,還是免不了要適當縮放字體。尤其是大屏幕,字體適當放大一些,眼睛不至于那么遭罪。
字體的縮放這兩款IDE都有。只不過,Eric6是早已設置好快捷鍵的(用Ctrl+=/-,或Ctrl+滾輪),而在PyCharm中,你必須手動設置這個快捷鍵。
這一輪,算打成平手好了。
自動補空格
PEP8的規范要求在逗號、運算符號之類的內容后面加一個空格,這一點Eric做得不錯,在你輸入一個逗號后,它會自動給你補一個空格,而PyCharm顯然考慮得沒有那么周到。你不得不手動一個個敲空格,或留著到最后使用Reformat File功能來糾正。
代碼自動補全和代碼規范化
兩款IDE的代碼自動補全做得都挺好。硬要挑出一個更好的來,我會把票投給PyCharm, 它的智能化程度似乎(我沒法給出更精確的評價,建議自行體會)更高一些。
PyCharm除了自動補全,還會用類似拼寫檢查的方式檢查你的代碼,當你輸入的代碼不符合PEP8之類的規范時,PyCharm會適時提醒并對該部分代碼作出標記。這個功能確實很貼心,我有理由相信用PyCharm會幫助我們將代碼寫得更加規范。
此外,PyCharm還會對當前方法下所用的變量進行檢查,當有變量出現未使用、不一致、輸入錯誤等情形時,PyCharm亦會將其一一標出,讓你一目了然。
版本控制
版本控制也可算是IDE的標配了吧!Eric6和PyCharm都有版本控制的模塊,不過舍得認為,PyCharm在這一塊做得更細一些,和GibHub結合得很好,舍得用得很趁手。
數據庫連接、查看
這項功能只能算是可選配置了。兩款IDE都帶有數據庫內容瀏覽的功能,它的方便之處在于,我們要查看數據庫中某項數據時,可以不必打開專用的數據庫管理工具(比如SQLite的SQLite Expert, PostGreSQL的PG Admin,MySQL的PHPMyAdmin等),直接在IDE內查看。
Eric6自帶一個內建的SQL瀏覽器,界面相對簡陋,而且每次打開都必須重新設置,不夠方便。
PyCharm是通過Database Tools and SQL這款插件來實現數據庫連接和查看的功能,用來臨時查看一下數據是足夠了。
書簽
在開發過程中,我們經常需要在一個文檔中不同的位置間切換,此時書簽功能會給我們帶來很大的便利。
兩款IDE都有書簽功能,PyCharm做得更好一點,它的書簽不會因為你退出程序而清除。而Eric6則會在你每次退出程序時,清空你的書簽設置。
TODO
舍得在堆代碼的時候,想到一些下一步要完善的功能之類的內容時,往往會在文檔中插入一行,行首寫上“# todo,”,然后把當時的想法寫進去。這樣日后就能根據todo的標記和內容來逐漸完善自己所開發的軟件。
兩款IDE都支持Todo功能,它們會把你在當前項目中的每一行標有todo的內容都搜集起來,以供你隨時查看。只是在功能的完善性上,略有差距:
相比之下,PyCharm以微弱的優勢勝出。
幫助文檔
Eric6自帶一個WebKit內核的幫助瀏覽器,當你設置好Python/PyQt/Pyside/Qt等幫助文檔的路徑后,可以在幫助菜單中直接點擊這些文檔的鏈接,Eric6就會調用幫助瀏覽器來顯示這些文檔。
PyCharm雖然有一個外部文檔的設置和對應的菜單命令,但功能實在太弱比,應該好好完善一下才是。
另外PyCharm雖然提供了一個Search EveryWhere的“強大”功能,但由于搜索結果匹配往往不能盡如人意,使得此功能形如雞肋。
結語
通過上面的比較和分析,相信大家自會得出自己的答案。簡單說一下舍得的觀點:
本文版權歸舍得學苑所有,歡迎轉載,轉載請注明作者和出處。謝謝!
作者:舍得
首發:舍得新浪博客
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。