私は lombok @NonNull
注釈 を一部のフィールド、パラメーター、メソッドに、一部はnullチェックに、一部はドキュメント化の目的で使用しています。他のライブラリから@NonNull
/@NotNull
アノテーションを追加した場合、混乱を招きます。
次に、いくつかのコードに@Nullable
/@CanNull
アノテーションも追加する場合、どちらを使用すればよいですか?それはロンボクには(合理的に)存在しません。独自の注釈を宣言すると、IDEはそれらを理解できない場合があります。既存のライブラリからこれらのアノテーションを使用すると、他の@NotNull
アノテーションも追加され、ロンボクアノテーションが必要なときに間違ったアノテーションが使用される可能性があります。
Javaではアノテーションにエイリアスを設定できないため、両方のフレームワークをサポートするには、両方を使用する必要があります。
クライアントがLombokの使用を選択すると、それは注釈であることを認識し、他のものを無視します。 Lombokの注釈がなければ、フレームワークはそれを登録せず、同じことが他のフレームワークにも当てはまります。
@Nullable
/@CanNull
の使用は避け、暗黙的にしてください。
@NonNull
/@NotNull
は通常、禁止されている場所でnullを使用しようとするとエラーが発生するように実装されています。 nullが許可されている場合、エラーがトリガーされる必要はありません(タイプセーフの理由は含まれません)。
これがオプションではない場合は理解します(あなたはmust nullおよびnon-nullアノテーションを使用します)。ただし、冗長性を減らす賢い方法です。