1. 程式人生 > >程式設計開發工具這麼多,我該如何選擇?

程式設計開發工具這麼多,我該如何選擇?

大多數人在剛開始學習程式設計的時候,都會按照老師推薦或書本中使用的開發工具進行程式設計,而且一用就是很長時間從不更換,至少從入門程式設計到找到工作之前都是用的同一種工具,直到找到工作,發現公司用的和之前一直用的工具不一樣,才開始重新學習新的工具。

為了避免這種情況發生,我們該怎麼辦呢?把所有的程式設計開發工具的使用方法都掌握嗎?別急,在回答這個問題之前,讓我們先了解一下現有的開發工具再說。

瞭解過開發工具的同學都知道,現在市面上可以使用的開發工具非常多,而且很多工具都支援多種程式語言的開發工作,因此具體到基於某個特定程式語言選擇開發工具,也是一件令人頭疼的事。

但是,程式設計開發工具從巨集觀角度來分類的話只有兩個:編輯器、IDE。

編輯器(Editor):最初編輯器的定義就是編輯純文字的工具,功能簡單,開啟編輯,編輯完儲存關閉即可;但隨著技術發展的需要,編輯器的功能也越來越豐富,從最初的純編輯,到現在可以實現程式碼高亮、語法提示、自動格式化等功能,相比最初,編輯器可以說是發生了翻天覆地的變化。編輯器軟體在執行時系統佔用較小,因此使用起來比較流暢。編輯器的代表作有:Vim、Emacs、Sublime Text,NotePad++等;

IDE(Integrated Development Environment,整合開發環境):整合開發環境IDE是用於提供程式開發環境的應用程式,一般包括程式碼編輯器、編譯器、偵錯程式和圖形使用者介面等工具。集成了程式碼編寫功能、分析功能、編譯功能、除錯功能等一體化的開發軟體服務套件。由於功能非常強大,因此在軟體執行的過程中會佔用大量的系統資源,對電腦配置不高的機器不太友好,容易出現卡死的現象。IDE中的代表作有:Java的Eclipse,Android的Android Studio,Python的Pycharm等等,當然,就像上面說的,現在的IDE已經不侷限於某一種程式語言了,比如Eclipse不僅可以做Java的開發,安卓、Python的開發也都是支援的。

從上面的定義來看,編輯器相對於IDE功能比較簡單,沒有IDE那麼多便捷的功能。因此要想熟練使用,在平時的工作或學習過程中達到比較高的程式碼產出,在學習使用編輯器的時候需要下不少功夫。從軟體的安裝,簡單的編輯,儲存關閉開始,逐漸學習軟體的相關配置,外掛的安裝,命令、快捷鍵的使用,學習曲線會比較陡,但是隻要堅持下來,你的徒手寫程式碼的能力也會飛速增長。在剛開始使用編輯器的時候,不要過於依賴外掛提供的類似IDE的功能,比如程式碼自動提示,儘量通過手敲關鍵字,來掌握程式設計的基礎。

相比於編輯器,IDE簡直就是程式設計師寫程式碼的一片樂土,不需要太多的研究,就可以快速掌握使用方法,再加上集成了開發需要的所有環境,基本上不需要挪地方就可以完成所有的開發工作。IDE對程式設計師的編碼過程非常友好,提供程式碼提示,糾錯,除錯,以及專案的有效組織,熟練掌握後可以有效地提高編碼效率。

那我們是不是一開始就要使用IDE程式設計呢?

拿我學習Python過程舉了例子,跟大家分享一下我在每個階段是如何使用這些程式設計工具的:

剛開始入門的時候和大多數人一樣,都是用Python自帶的IDLE進行程式設計,由於不用單獨專門安裝,基本每個安裝了Python的電腦上都有IDLE,因此使用它程式設計,可以說不會受地域的影響,隨時都可以用。而且IDLE功能簡單,沒有那麼多複雜的設定,對於入門程式設計的小白十分友好。

在熟練掌握了IDLE的使用後,開始接觸編輯器,寫Python程式碼可以選擇的編輯器也有很多,比如,Vim,Emacs,Sublime Text,Atom,NotePad++等。Vim之前在Linux中一直使用過,NotePad++上大學的時候也用過一段時間,這次想嘗試一種新的工具,幾經篩選後,選擇了Sublime Text。

為了快速掌握ST的使用,我將本地大多數文件的預設開啟方式設定成了ST,比如.txt,.md,.log,.sql,.pkg,.prc等,當然還必須得有.py檔案。使用的過程中也研究出了一些小技巧,比如將ST的安裝路徑設定到環境變數Path中,將exe檔名修改成sub.exe,這樣就可以快速使用sub命令啟動ST了(類似於開啟cmd的原理)。

當然,為了配合Python程式碼的編寫,需要安裝一些外掛,ST的外掛是以Package的形式存在的,我根據自己的需要安裝了SublimeREPL、AutoFileName、Jedi、Anaconda、AutoPep8、Djaneiro等外掛,這些外掛的具體用途,建議大家自行搜尋瞭解一下。

在ST中也可以直接按 Ctrl+B 執行程式碼,也可以配置不同的Python版本執行程式碼,當然,推薦在cmd中使用命令執行.py檔案。對於一些專案簡單的程式,在編輯器中編寫程式碼會讓程式設計效率得到提升,因為編輯器輕巧,隨時都可以快速的開啟。

隨著編寫的程式碼越來越複雜,使用的第三方庫也越來越多,使用編輯器寫程式碼,對整個專案的檔案不好管理,版本不好控制(當然,有些編輯器也有版本控制的外掛),而且涉及到多人協作開發的時候,就推薦使用IDE進行開發了。

IDE我選擇的是PyCharm,由於之前有過自學安卓的經歷,使用過Android Studio這個IDE,大學的時候也用過Visual Studio和Eclipse。發現其實IDE家族的軟體功能包括程式介面都特別相像,個人覺得,只要熟練掌握其中一個,其他的大多數IDE都能很快掌握。

在PyCharm中你可以很方便地檢視第三方庫的原始碼,可以快速地按照PEP8的規範格式化程式碼,可以根據關鍵字快速查詢定位你要找的檔案、類、方法,可以方便的除錯執行你的程式碼,可以傻瓜式地安裝第三方庫。總之,IDE就是一個保姆,全權負責你編碼的衣食住行,讓你敲程式碼的成本大大降低,效率大大提升。

當然,在以後的學習工作過程中,我還會接觸其他一些編輯器和IDE工具。想象一下,如果你作為公司的老員工,新人過來問你一個問題,讓你幫忙除錯一下他的程式,結果你發現他用的開發工具是你從來沒用過的,坐下後無從下手,這個場景想想都覺得:呃,我現在要好好學習,多掌握幾種程式設計工具才行。

那麼,最後總結一下,對於開發工具的使用,我的建議是:開發工具的選擇要符合自己的學習曲線,剛開始的時候不要過早使用友好的IDE,要先從最基本的軟體開始使用,儘量多的手敲程式碼,掌握基礎後,可以使用一些功能強大一點的編輯器,加快自己的編碼效率,等到要編寫稍微複雜的程式碼的時候,再使用IDE進行編碼和專案程式碼管理。等到熟練掌握了至少一種編輯器和IDE之後,再回過頭來去了解其他的工具,擴充自己的武器庫。

如果將程式設計師比作畫家,那麼這些程式設計開發工具就是我們的畫筆和顏料,只有熟練掌握了這些工具的使用,我們才能產出美妙的作品。