[解決済み】Project Lombokの使用は安全ですか?[クローズド]
質問
ご存じない方のために プロジェクト・ロンボク のようなもので、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を解除したコミッターは叱られるべきですし、必要であればコミット権限も剥奪されるべきです。
もちろん、これは開発者を含むステークホルダーの賛同が得られていることが前提です。 そして、自分の主張を主張し、避けられない反対意見に適切に対処する用意があることが前提です。
関連
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] javaでメソッドを呼び出すプログラムのエラー修正
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] java.net.URLConnectionを使用してHTTPリクエストを発生させ処理する方法
-
[解決済み] なぜゲッターとセッター/アクセッサーを使うのですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】ロンボク島でセッター/ゲッターを1つ省略した場合
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Firebase クラスにシリアライズするプロパティが見つからない
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] コレクションへの共有参照が見つかりました org.hibernate.HibernateException
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] java.util.concurrent.ExecutionException 例外をどのように処理しますか?
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] 文字列の巻き方