【Java】最近やっているプロジェクトで後悔していること5点【プログラミング】

Java8でプロジェクトをやっていて後悔していることを5点挙げます。 上から後悔している順です。

nullを返すな、Optionalを使え

文字通りなんですが、null が絡むと何が返ってくるのか分からない状態になるのでOptional使った方がいいです。
特にnullを返しがちなものをUtilにしてしまったのは深い後悔が有ります。

var / valは使った方がよい

lombokvar / valを想定しています。
lombokに依存してしまうというのはそうなんですが、省力化や可読性の高さよる開発効率の向上を考えれば、最初に開発するときはvar / valを使った方が結果としてマシなコードになりやすいと考えています。

(もっと言うならKotlinなどオルトJavaのがプロダクトは綺麗になるなとは思いますが、障壁の厚さも、、、)

オブジェクト名は冗長なぐらいの命名にした方がよい

後からオブジェクトが増えたとき、一体どんな役割を持っているか本当に分からなくなったので、冗長に感じてももっと具体的な命名をすればよかったです。

Lintはチェックルールよりコーディング規約を変更すべきだった

Lint関連の修正はお願いするのも実行するのも手間だったので、ツール側に全部合わせた方が楽でした。
その辺が負担になると機械の奴隷感が出てくるので、何かしらのデフォルトを使った方がいいんじゃないかと思っています。

引数に取るならListよりCollection

Listにしてて困ることが少ないのはそうなんですが、Setを入れたいときに困ったりするんですよね。 Collectionを引数に取って困ることはあまり無いと思うので、やっておくとスマートになったかなと思います。