2010-05-19 43 views
21

是否有人使用Project Lombok進行大規模生產系統?它是如何影響你的編譯過程的(即它是否進行兩遍編譯,減慢編譯速度,使其更脆弱)?項目龍目島適合大型java項目嗎?

+0

一個相關的問題:「使用Project Lombok安全嗎?」 http://stackoverflow.com/questions/3852091/is-it-safe-to-use-project-lombok – Snekse 2014-08-21 19:16:31

回答

34

龍目島不做兩次編譯。從技術上講,它會減慢編譯過程,因爲它除了編譯時通常會發生的事情外運行,但與解析階段,較低階段和轉換階段相比,lombok幾乎沒有註冊。 (A)愚蠢的(即記事本或差異查看器),(B)eclipse,(C)netbeans或(D)編輯器中編輯lombokified代碼的所有其它大腦通過運行javac(例如vim與java插件),它會很糟糕。如果這不適用,減少樣板應該只會讓你的代碼更脆弱。

免責聲明:我的龍目島的兩個主要開發者之一:)

+0

很酷!這回答了我的很多問題,但不幸的是我沒有問過這個問題(大規模生產使用的一個例子或適用性),所以我只是在投票而不接受。 – Jacob 2010-05-20 08:28:17

5

我用龍目島項目開發的同時爲大型Java Swing的& UI應用程序中的谷歌Web工具包(GWT)的前端。因爲我沒有使用@SneakyThrows,所以在運行時我不需要lombok.jar。

使用delombok行爲我提供了一個2stage編譯過程。 Lombok的註釋的Java代碼=> Java代碼=>的Javascript

在適宜大Java項目而言,delomboking用於web前端的代碼只需不到2秒,GWT編譯的其餘部分過程需要大約50秒(這些指標取自開發人員工作站)。

我們正在考慮本週,如果我們將提供龍目對其餘應用程序的支持。構建主應用程序大約需要1個小時(包括使用2xIntel E5450的盒子上的單元測試,安裝程序等)。