為什麼比起 IntelliJ IDEA,我仍然更喜歡 Eclipse
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
這麼多年來,我觀察到滾滾歷史潮流正在從Eclipse湧向IntelliJ IDEA。去年,兩者的使用率幾乎相等,但是我感覺天平正在漸漸傾向IDEA。
IDEA就像IDE中的iPhone——它的使用者會告訴你“一旦你習慣之後,你會覺得它更好用”,或者“你怎麼還在使用Eclipse?”亦或是“IDEA太棒了,每個人都應該換成IDEA”,等等。
在過去的12年時間裡,我主要使用Eclipse,但是在某些情況下,我使用IDEA——在我編寫Scala的時候,編寫Android的時候,以及最近——由於Eclipse未能為Java 9發行版做好準備,所以經過半天的努力之後,我只能切換到IDEA,直到Eclipse終於有了一個可用的Java 9版本(包括Maven和其他東西)。
我總是很快地回到Eclipse。我仍然更偏愛它。不僅僅是因為我已經內化了所有的關鍵字組合(你可以在IDEA中重用這些組合),也是因為在IDEA中還有一些我覺得更糟糕的東西。當然,IDEA有許多很酷的功能,如程式碼改進建議,以及它有實際上無所不能的有效外掛。但我發現一些與更基本的開發工作流程和體驗有關的問題。這些無法用糖衣包裹的“炮彈”是:
1、專案不是自動構建的(預設情況下),所以你可以以編譯錯誤結束,直到你開啟一個非編譯檔案或者執行一個構建。然後開啟自動構建,讓計算機爬動起來。我知道我的計算機需要升級,但這不是重點——沒有“構建在變化上”對第一次嘗試IDEA的我來說是一個巨大的“驚喜”。
我最近在Twitter上抱怨說,這居然“是一個功能”。依據貌似是如果你使用重構,那就不應該發生。但是,有數十起案例表明它確確實實發生了。通過新增方法引數、更改引數型別、刪除引數(此處IDE無法根據型別推斷刪除哪個引數)或通過更改返回型別來重構。另外,Maven / Gradle依賴關係的改變可能會引入你無法看到的編譯問題。這根本不是一個合理的預設值,並且我認為效能問題是它仍然預設的唯一原因。這使得體驗變得更糟。
2、每個螢幕只能有一個專案。也許那些只有綠地專案的小公司也是存在的。但是你至少偶爾需要一個單獨的專案——無論是“實驗”,還是“工具”,或者其他什麼。多模組Maven專案(IDEA處理良好)是不夠的。所以每當你需要走出你的主要專案時,你會啟動另一個螢幕。除了糟糕的可用性之外,它的記憶體加倍,痛苦加倍。
3、說起記憶體,IDE似乎比Eclipse更耗費記憶體。我沒有這方面的代表性基準,但是我知道現在我家裡的8 GB RAM對於開發來說太小了,不過一直沒換。
4、它感覺沒有那麼響應和笨重。有一點小小的延遲,不好說,但是“我感覺得到”。我在某個地方讀到過說IDE過度地重畫螢幕元素,所以這可能就是原因。Eclipse感覺更順暢(我知道這不是一個合適的論據,但我也沒有更精確的資料了)。
5、機智如我很聰明地圍繞專案有“unused methods”和“never assigned fields”。由於使用Spring,所以這些方法和欄位是控制器方法和自動裝配欄位。也許一些Spring外掛會照顧到這一點,但是Spring並不是唯一使用反射的框架。即使是POJO上的getter和setter也會得到unused警告。這些警告有什麼問題?這些警告是貶值的。它們現在沒有任何意義。類也沒有“黃色”指示器,所以你實際上看不到警告的數量。Eclipse能夠更好地顯示警告,而且誤報也不太常見。
6、呼叫層次稍差。但是由於這對於我而言是最重要的IDE功能(還有重構也是),所以我一定要著重說明。它不會給你沒有明確定義的預設建構函式的呼叫層次結構。另外,我所看到的是,IDEA使用者並不經常使用呼叫層次結構功能。我認為在呼叫層次結構之前,“查詢引用”通過UI也更加明顯,所以一些IDEA使用者甚至不知道呼叫層次結構是什麼,而是反覆地“查詢引用”。這只是IDE的缺陷之一。
7、在輸出控制檯中不進行搜尋。為什麼我有了IDE還必須複製輸出並貼上到文字編輯器才能搜尋?先等等,我得澄清一下,控制檯確實有搜尋。但是當我執行(Spring Boot)應用程式時,它會在底部不是控制檯的皮膚中輸出東西,並且沒有搜尋。
8、CTRL +箭頭預設跳過整個單詞,而不是“駱峰式”單詞。這是可配置的,但又是一個奇怪的預設值。幾乎大家總是希望能夠逐個單詞(在駝峰式大小寫情況下)地遍歷變數,而不是跳過整個變數(方法/類)名稱。
9、幾年前,當我將它用於Scala時,那個專案從未真正編譯過。但是我猜那更多的是Scala的錯,而不是IDE。
如果你說,除了前兩個,其餘都不是重大問題,那我也同意。但是隨著一個個問題的累加,最終,這些稻草壓彎了駱駝。所以,我又回到了Eclipse的懷抱。當然你也可以對這些問題視而不見,這是你的選擇自由。
譯文連結:http://www.codeceo.com/article/why-i-prefer-eclipse-over-intellij-idea.html
英文原文:Why I Still Prefer Eclipse Over IntelliJ IDEA
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- [譯] 為什麼我更喜歡物件而不是switch語句物件
- 為何IntelliJ IDEA比Eclipse更好IntelliJIdeaEclipse
- 為什麼我更喜歡定期合併提交而不是壓縮提交
- 為什麼我喜歡JavaScript的Optional ChainingJavaScriptAI
- 為什麼Python要比其他語言更受喜歡?Python
- 我們為什麼會喜歡挖礦遊戲?遊戲
- 程式老鳥:我為什麼喜歡敏捷開發框架敏捷框架
- 4.我為什麼喜歡用Dart中的字串?Dart字串
- 我為什麼會從程式不喜歡加{}到加{}
- 為什麼我們越來越不喜歡用網站?網站
- 為什麼我們喜歡看別人在遊戲裡受苦遊戲
- 為什麼很多人喜歡 Python?Python
- 為什麼大家喜歡實體書?
- 為什麼很多公司都不喜歡用php,而喜歡用java呢PHPJava
- 為什麼我喜歡《動物之森》與《星露穀物語》?
- 你喜歡大海我愛過你什麼梗 你喜歡大海我愛過你出處
- 為什麼選擇 Intellij IDEA 作為日常開發工具IntelliJIdea
- 為什麼我越來越喜歡用DDD — DDD架構篇(1)架構
- C# 為什麼你應該更喜歡 is 關鍵字而不是 == 運算子C#
- discuQ 這個蛋為什麼沒有人喜歡?
- 日本玩家為什麼不喜歡PVP遊戲?遊戲
- 相對於PHP,為什麼大家喜歡Python?PHPPython
- Ipsos:調查顯示比起使用自動駕駛大多數人更喜歡自己開車自動駕駛
- 為什麼 PostgresSQL 比 mySQL 更受歡迎?MySql
- IntelliJ IDEA 2023 mac主要更新了什麼?IntelliJ IDEA 新版 UI 更新盤點IntelliJIdeaMacUI
- Eclipse、IntelliJ IDEA、PyCharm三種IDE的區別EclipseIntelliJIdeaPyCharm
- 為什麼開發人員喜歡低程式碼?
- 玩家為什麼喜歡在遊戲中擼貓?遊戲
- 為什麼有些大齡剩女喜歡和窮人談錢,喜歡和富人談感情?
- Intellij IDEA 的 Soft-wrap 是什麼IntelliJIdea
- 我喜歡於一一!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 川光我喜歡
- 為什麼大家創業都喜歡幹餐飲呢?創業
- 程式設計師為什麼喜歡在晚上編碼程式設計師
- 為什麼MIT的專利許可不討人喜歡?MIT
- 同樣是VPS,為什麼RAKsmart更受歡迎
- 為什麼程式設計師喜歡在半夜寫程式碼?程式設計師
- Vue為什麼比JQuery更受開發者喜愛?VuejQuery
- 為什麼.NET Standard 仍然有意義?