21

大規模な生産システムにProjectLombokを使用している人はいますか?それはコンパイルプロセスにどのように影響しますか(つまり、2パスコンパイルを実行し、速度を落とし、より脆弱にしますか)?

4

2 に答える 2

37

Lombok は 2 パス コンパイルを行いません。技術的には、コンパイル時に発生する通常の処理に加えて実行されるという点で、コンパイル プロセスが「遅くなります」が、解析フェーズ、下位フェーズ、および変換フェーズと比較すると、lombok はほとんど登録されません。

主要な脆弱性の問題は、(A) ダム (つまり、メモ帳または差分ビューアー)、(B) eclipse、(C) netbeans、または (D) のいずれでもないエディターで lombok 化されたコードを編集すると、javac を実行することによってすべての頭脳が得られることです。 (たとえば、Java プラグインを使用した vim)、それは最悪です。それが当てはまらない場合、ボイラープレートの削減はコードの脆弱性を軽減するだけです。

免責事項: 私はロンボクの 2 人の主要な開発者の 1 人です :)

于 2010-05-19T23:23:19.503 に答える
5

私は Project Lombok を使用して、大規模な Java および Swing UI アプリケーション用の Google Web Toolkit (GWT) フロント エンドを開発しました。@SneakyThrows を使用しなかったため、実行時に lombok.jar は必要ありませんでした。

delombok 動作を使用して、2 段階のコンパイル プロセスを提供します。Lombok アノテーション付き Java コード=> Java コード=> Javascript

大規模な Java プロジェクトへの適合性に関しては、Web フロント エンドのコードのデロンボキングに 2 秒もかからず、残りの gwt コンパイル プロセスに約 50 秒かかります (これらのメトリックは開発者のワーク ステーションから取得されます)。

アプリケーションの残りの部分に Lombok サポートを提供するかどうか、今週検討しています。メイン アプリケーションのビルドには約 1 時間かかります (2 つの Intel E5450 を搭載したボックスでビルドされた単体テスト、インストーラーなどを含む)。

于 2010-07-05T11:07:05.380 に答える