1. ホーム

[解決済み】Project Lombokの使用は安全ですか?[クローズド]

2022-03-23 19:15:01

質問

ご存じない方のために プロジェクト・ロンボク のようなもので、Java の煩わしさを軽減してくれます。 アノテーションによるゲッターとセッターの生成 そしてさらに データでJavaBeanのように簡単に生成する . 特に、50種類のイベントオブジェクトで、最大7つのフィールドを構築し、ゲッターで隠す必要がある場合、本当に助かります。これによって1000行近いコードを削除することができます。

しかし、長い目で見ると、後悔することになるのではと心配です。で炎上が勃発しそうです。 ##Java Freenode また、コード・スニペットを提供することで、助っ人となる可能性のある人々を混乱させることになります。 JavaDocがないと文句を言われる そして、将来のコミッターがそれをすべて削除してしまうかもしれません。私はポジティブなことは本当に楽しみたいのですが、ネガティブなことが心配なのです。

だから 大小問わず、どんなプロジェクトでもLombokを使っても大丈夫なのでしょうか?プラスの効果はマイナスの効果に見合うものなのでしょうか?

どのように解決するのか?

あなたはすでに、あなたの提案する新しいプロジェクトにとって、Project Lombokが技術的に大きな利点をもたらすと判断しているようですね。 (最初からはっきりさせておきますが、私はProject Lombokについて、どちらともいえない特別な見解を持っていません)。

Project Lombok(あるいは他の画期的な技術)を何らかのプロジェクト(オープンソースやその他の賢明なもの)で使用する前に、プロジェクトの利害関係者がこれに同意していることを確認する必要があります。 これには、開発者、重要なユーザー(公式または非公式なスポンサーなど)が含まれます。

これらの潜在的な問題について言及されていますね。

<ブロッククオート

このことに触れると ##Java Freenode チャンネルで炎上が勃発しそうです。

簡単です。 無視する/炎上騒ぎに参加しない、あるいはLombokについて言及するのを控えるだけです。

<ブロッククオート

コードスニペットを提供することは、可能性のあるヘルパーを混乱させるでしょう。

もしプロジェクトの戦略としてLombokを使うのであれば、可能性のあるヘルパーはそれに慣れる必要があります。

は、JavaDocがないと文句を言うでしょう。

それは彼らの問題です。 まともな神経の持ち主なら、自分たちの組織のソースコードや文書の規則をサードパーティのオープンソースソフトウェアに厳格に適用しようとはしないでしょう。 プロジェクトチームは、使用されている技術に適したプロジェクトのソースコード/ドキュメンテーションの基準を自由に設定すべきなのです。

( フォローアップ - Lombokの開発者は、合成されたゲッターとセッターのメソッドにjavadocコメントが生成されないことが問題であると認識しています。 もし、これがあなたのプロジェクトにとって大きな問題であるならば、Lombokのパッチを作成して、これに対処することも一つの方法です)。

<ブロッククオート

とか、将来のコミッターがとにかく全部削除してしまうかもしれません。

それはないだろう! もしプロジェクトの戦略としてLombokを使うことが合意されているのであれば、無償でLombokを解除したコミッターは叱られるべきですし、必要であればコミット権限も剥奪されるべきです。

もちろん、これは開発者を含むステークホルダーの賛同が得られていることが前提です。 そして、自分の主張を主張し、避けられない反対意見に適切に対処する用意があることが前提です。