Advent Calendarの3日目です 2日目は @exotic-toybox さんによる「Java8の日時APIにおける期間の重複判定」でした。 はじめに Java 8 でラムダ式や Stream API が導入されてから随分経ちましたが、いまだに読みづらいコードに出会うことがあります。 本稿では可読性を向上させるためのテクニックをいくつかご紹介します。 以降のサンプルコードの動作確認は AdoptOpenJDK 14.0.2 で行いました。 ロジックを抽出してストリームをすっきりさせる filter や map などのメソッドに渡すラムダ式が長くなると、ストリーム処理の全体の見通しが悪くなります。 // かさばる本の一覧 List<String> bookTitles = null; // BEFORE bookTitles = ownedBooks.stream()