自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么比起IntelliJ IDEA,我仍然更喜歡Eclipse

開發(fā) 開發(fā)工具 數(shù)據(jù)中心 移動開發(fā)
這么多年來,我觀察到滾滾歷史潮流正在從Eclipse涌向IntelliJ IDEA。去年,兩者的使用率幾乎相等,但是我感覺天平正在漸漸傾向IDEA。IDEA就像IDE中的iPhone——它的用戶會告訴你“一旦你習慣之后,你會覺得它更好用”,或者“你怎么還在使用Eclipse?”亦或是“IDEA太棒了,每個人都應該換成IDEA”,等等。

這么多年來,我觀察到滾滾歷史潮流正在從Eclipse涌向IntelliJ IDEA。去年,兩者的使用率幾乎相等,但是我感覺天平正在漸漸傾向IDEA。

IDEA就像IDE中的iPhone——它的用戶會告訴你“一旦你習慣之后,你會覺得它更好用”,或者“你怎么還在使用Eclipse?”亦或是“IDEA太棒了,每個人都應該換成IDEA”,等等。

為什么比起IntelliJ IDEA,我仍然更喜歡Eclipse

在過去的12年時間里,我主要使用Eclipse,但是在某些情況下,我使用IDEA——在我編寫Scala的時候,編寫Android的時候,以及最近——由于Eclipse未能為Java 9發(fā)行版做好準備,所以經(jīng)過半天的努力之后,我只能切換到IDEA,直到Eclipse終于有了一個可用的Java 9版本(包括Maven和其他東西)。

我總是很快地回到Eclipse。我仍然更偏愛它。不僅僅是因為我已經(jīng)內(nèi)化了所有的關鍵字組合(你可以在IDEA中重用這些組合),也是因為在IDEA中還有一些我覺得更糟糕的東西。當然,IDEA有許多很酷的功能,如代碼改進建議,以及它有實際上無所不能的有效插件。但我發(fā)現(xiàn)一些與更基本的開發(fā)工作流程和體驗有關的問題。這些無法用糖衣包裹的“炮彈”是:

1、項目不是自動構(gòu)建的(默認情況下),所以你可以以編譯錯誤結(jié)束,直到你打開一個非編譯文件或者運行一個構(gòu)建。然后打開自動構(gòu)建,讓計算機爬動起來。我知道我的計算機需要升級,但這不是重點——沒有“構(gòu)建在變化上”對第一次嘗試IDEA的我來說是一個巨大的“驚喜”。

我最近在Twitter上抱怨說,這居然“是一個功能”。依據(jù)貌似是如果你使用重構(gòu),那就不應該發(fā)生。但是,有數(shù)十起案例表明它確確實實發(fā)生了。通過添加方法參數(shù)、更改參數(shù)類型、刪除參數(shù)(此處IDE無法根據(jù)類型推斷刪除哪個參數(shù))或通過更改返回類型來重構(gòu)。另外,Maven / Gradle依賴關系的改變可能會引入你無法看到的編譯問題。這根本不是一個合理的默認值,并且我認為性能問題是它仍然默認的唯一原因。這使得體驗變得更糟。

2、每個屏幕只能有一個項目。也許那些只有綠地項目的小公司也是存在的。但是你至少偶爾需要一個單獨的項目——無論是“實驗”,還是“工具”,或者其他什么。多模塊Maven項目(IDEA處理良好)是不夠的。所以每當你需要走出你的主要項目時,你會啟動另一個屏幕。除了糟糕的可用性之外,它的內(nèi)存加倍,痛苦加倍。

3、說起內(nèi)存,IDE似乎比Eclipse更耗費內(nèi)存。我沒有這方面的代表性基準,但是我知道現(xiàn)在我家里的8 GB RAM對于開發(fā)來說太小了,不過一直沒換。

4、它感覺沒有那么響應和笨重。有一點小小的延遲,不好說,但是“我感覺得到”。我在某個地方讀到過說IDE過度地重畫屏幕元素,所以這可能就是原因。Eclipse感覺更順暢(我知道這不是一個合適的論據(jù),但我也沒有更精確的數(shù)據(jù)了)。

5、機智如我很聰明地圍繞項目有“unused methods”和“never assigned fields”。由于使用Spring,所以這些方法和字段是控制器方法和自動裝配字段。也許一些Spring插件會照顧到這一點,但是Spring并不是唯一使用反射的框架。即使是POJO上的getter和setter也會得到unused警告。這些警告有什么問題?這些警告是貶值的。它們現(xiàn)在沒有任何意義。類也沒有“黃色”指示器,所以你實際上看不到警告的數(shù)量。Eclipse能夠更好地顯示警告,而且誤報也不太常見。

6、調(diào)用層次稍差。但是由于這對于我而言是最重要的IDE功能(還有重構(gòu)也是),所以我一定要著重說明。它不會給你沒有明確定義的默認構(gòu)造函數(shù)的調(diào)用層次結(jié)構(gòu)。另外,我所看到的是,IDEA用戶并不經(jīng)常使用調(diào)用層次結(jié)構(gòu)功能。我認為在調(diào)用層次結(jié)構(gòu)之前,“查找引用”通過UI也更加明顯,所以一些IDEA用戶甚至不知道調(diào)用層次結(jié)構(gòu)是什么,而是反復地“查找引用”。這只是IDE的缺陷之一。

7、在輸出控制臺中不進行搜索。為什么我有了IDE還必須復制輸出并粘貼到文本編輯器才能搜索?先等等,我得澄清一下,控制臺確實有搜索。但是當我運行(Spring Boot)應用程序時,它會在底部不是控制臺的面板中輸出東西,并且沒有搜索。

8、CTRL +箭頭默認跳過整個單詞,而不是“駱峰式”單詞。這是可配置的,但又是一個奇怪的默認值。幾乎大家總是希望能夠逐個單詞(在駝峰式大小寫情況下)地遍歷變量,而不是跳過整個變量(方法/類)名稱。

9、幾年前,當我將它用于Scala時,那個項目從未真正編譯過。但是我猜那更多的是Scala的錯,而不是IDE。

如果你說,除了前兩個,其余都不是重大問題,那我也同意。但是隨著一個個問題的累加,最終,這些稻草壓彎了駱駝。所以,我又回到了Eclipse的懷抱。當然你也可以對這些問題視而不見,這是你的選擇自由。

責任編輯:未麗燕 來源: 碼農(nóng)網(wǎng)
相關推薦

2023-09-14 08:00:00

基于主干的開發(fā)分支模型

2017-09-11 19:58:06

PostgreSQLMySQL數(shù)據(jù)庫

2012-04-04 22:07:12

Android

2023-07-04 16:28:23

2019-10-23 15:53:16

JavaScript可選鏈對象

2009-06-04 17:33:08

EJB 3.1EJB 3.0

2019-08-28 10:53:35

JavaScriptOptional Ch代碼

2012-03-20 09:20:54

IntelliJEclipseJava

2021-04-18 18:12:07

Linux開發(fā)操作系統(tǒng)

2012-03-06 20:51:04

iOS

2025-01-15 09:06:58

CSSRegEx前端

2021-12-15 10:47:30

物聯(lián)網(wǎng)私有云公有云

2022-03-31 06:41:53

程序員命令行接口代碼

2021-12-09 22:22:57

物聯(lián)網(wǎng)私有云數(shù)據(jù)

2017-08-08 16:38:50

IT敏捷devops

2023-10-30 07:24:18

IT項目DevOps

2020-07-28 10:45:51

數(shù)據(jù)庫三范式MySQL

2014-07-16 09:45:36

DOS

2015-10-26 09:58:53

程序員主流
點贊
收藏

51CTO技術(shù)棧公眾號