1

Lombok has a neat feature to use var instead of local variable datatype declarations該当する場合は常にvarを使用するようにコードベース全体を自動的に "リファクタリング"する方法はありますか?私はIntelliJ IDEALombok pluginを使用しています。私はこのような特徴を見つけられませんでした。ロンボク:すべてのローカル変数宣言に "var"を自動的に適用する

また、varはまだ「実験的」なので、コードベースが廃止されたとき/何らかの形で取り替えられた/置き換えられた/移動されたときにコードベースを「台無しにする」可能性があるので意味がありますか?

答えて

1

また、これはお勧めしません。

  • IMHO varは明示的な方が常に優れているため、明示的なコストが高すぎる場合にのみ有効です。これは、同じ情報がRHSで繰り返される長いLHSの場合にのみ当てはまります。
  • ダイヤモンドオペレーター(または工場)を使用してください。 var list = new ArrayList<>()は、両方からタイプパラメータを削除しても機能しません。
  • val~varが好ましい。 valvarより長くない場合は、使用しない理由はありません(別の場合はfinalが必要です)。このようにして、どの変数が変わるかを知ることができます。

私はロンボクの作家が私に同意すると思いますので、そのような機能はサポートしません。私はプラグインの作者にとっても同じことが欲しいと思います。

+0

リストは、 'var list = new ArrayList ()'しかし、あなたが正しいとすれば、型の安全性が損なわれます。 – BullyWiiPlaza

+0

@BullyWiiPlazaもちろんですが、これは 'List list = new ArrayList <>()'や 'より重要な場所から情報を削除します。 – maaartinus

+0

まもなく、javaはすぐに 'var'をサポートします。私はロンボクから既にそれを使い始めない理由はないと思う。 –

関連する問題