Effective java 3版 読書会 10日目

実施日時:2019/2/28 22:00~23:00
対象範囲:項目42~項目45
参加者:yodai、yoridori、kassyi
形式:オンライン(discord)
   課題本を事前に読み、実業務と照らし合わせて記述内容の
   議論をする。

項目42 無名クラスよりもラムダを選ぶ
実務で無名クラスをラムダに書き直したことが有り、より見やすくなった。
あまり長くなるならラムダを使わず、一旦ストリームとして返すことにする。
ラムダが長くなるようだと見辛い
P198では、ラムダは1行が理想で3行が妥当な数
P196基本は型推論を使う。コンパイラが型を変換出来ない場合は初めて明示する

項目43 ラムダよりもメソッド参照を選ぶ
パラメータ名が有った方が分かり易い場合は、ラムダを使った方が良い。
ゲッターとかでメソッド参照を使う事が有る。
メソッド参照には、バウンド参照とアンバウンド参照の他、合計4つある。
JDKのAPIについて知識が無いとメソッド参照が分からない
Ctrl+Spaceで例が出て来るので、それを参照する方法も有る

項目44 標準の関数型インタフェースを使う
関数型インターフェースを独自に設定して実装することは殆ど無い
関数型インターフェースの種類が増えるだけで管理が大変になる。
しかし、末永く使う目的で独自に設計することは便利で有用だと思う

項目45 ストリームを注意して使う
ストリーム処理の中で再度ストリーム処理を呼ぶのは止めるべき見辛いし、コードが汚くなる。
P208ラムダのパラメータ名を命名するのは、明示的な型が無いので分かり易くするのには重要。
タダでさえ分かり辛いラムダを何を指しているのか分かり易くする。
P207下の方で、word->alphabetizeの様なヘルパーメソッドを使用して分かり易くする。
P209ストリームに適する要素を挙げている。
一個一個は単純な処理を順次こなすような処理に向いている。
実務では、forEachよりcollectを使う事が多い。

協力:Tech Baton
https://tech-baton.studio.design/


この記事が気に入ったらサポートをしてみませんか?