IntelliJ

每年,Jetbrains 都很慷慨地向 Selenium 專案捐贈 IntelliJ 的 OSS 授權。

每年,Jetbrains 都很慷慨地向 Selenium 專案捐贈 IntelliJ 的 OSS 授權。作為該流程的一部分,他們要求我們審查產品,並且(值得讚揚的是!)他們已清楚表明,他們希望我們能公開且誠實。因此,我將公開且誠實地說明。

當我告訴人們我是一名專業的 Java 開發人員時,某些圈子的人們會表示同情,並且(有時)開玩笑地說我的程式碼生活一定很痛苦。畢竟,還有幾種更時髦、更流行的語言,從 Ruby、各種風味的 Javascript、Python、Haskell,甚至是在 JVM 上運行的其他語言,例如 Scala 和 Clojure。我傾向於同意,通常實作的 Java 是一種相對平淡無奇的語言——Java 8 包含大量好東西,但許多人多年來都無法使用,因為他們仍然必須支援 Java 6 (!) 應用程式。我不同意批評者的地方是,使用 Java 是開發人員值得同情的事情:單獨使用 Java 並不好玩,Java 和 IntelliJ 是我最喜歡的程式設計體驗之一。

我從 90 年代末(非常晚期)開始使用 Java,並且從 2003 年左右開始斷斷續續地使用 IntelliJ。在過去的十多年中,最初只是一個跨越「能夠進行重構」鴻溝的工具已經成熟。它確實改變了我編寫程式碼的方式:我現在使用「引入變數」重構來避免需要像往常一樣對變數進行初始值指派。實際上,使用 IntelliJ,我經常停止思考程式設計語言,而開始思考解決方案的結構。它的重構使探索大規模變更變得容易且完全可靠,並且一旦重組完成,我可以輕鬆跳到符號。

程式碼探索得益於 IntelliJ 可以找到用法的簡單快速方法,並且可以輕鬆找到未使用的程式碼,因為方法宣告會以與已使用程式碼不同的陰影突出顯示。整合式偵錯工具功能非常強大,加上單元測試,通常很容易找出某些異常行為發生的原因。而且,說到單元測試,UI 清晰且(我認為)直覺且易於使用。

那些使用 Clojure、Ruby、Python 和 Javascript(以及 PHP)等花俏語言的使用者可以取得外掛程式,這些外掛程式可以擴展 IntelliJ 的功能並深入了解這些語言。雖然我已經很久沒有處理 Spring 和 JEE 了,但當我使用 IJ 時,它會支援我,理解組態檔。maven 和 gradle 整合似乎也有效,儘管 Selenium 使用 CrazyFun 並且正在遷移到 Buck,所以我很少需要

並非一切都完美無缺。在大型、多模組程式碼庫上,IntelliJ 似乎花費太多時間來建置快取。Mac 上的「活動監視器」顯示它以單執行緒方式執行此操作,這在多核心機器上是浪費的。切換離開 IJ,在命令列上執行一些涉及原始碼控制的操作,然後切換回來是一種確保它重建快取並使其無回應的可靠方法。透過編寫外掛程式來擴展 IntelliJ 是一門黑魔法——文件散亂且似乎已過時,使得開始編寫外掛程式變得困難。

但總體而言,我喜歡 IntelliJ。在 Selenium 專案中,它是首選 IDE,我在其中非常有效率。感謝 Jetbrains 提供如此出色的工具。

上次修改時間:2021 年 8 月 7 日:重新命名目錄 (e9895f27c26)