Blogアプレッソのエンジニアが書く技術ブログです。この広告は、90日以上更新していないブログに表示しています。第三版、ゲットだぜ!皆さんこんにちはこんばんは、開発部の陳です。この間の大雪の積雪の影響で、首都圏の交通事情が一時期ひどいことになりましたね。そんな大変な状況でも、物流業の方々はみんなの手元に荷物がちゃんと届くように頑張り続けていました。第三版を無事に入手しました!というわけで、その気になる内容をかるく紹介して行きたいと思います。変更を含めて一通り改定しました。追加された)二刷までの正誤表はこちらになります。73「スレッドグループを避ける」が無くなりました。自体は想定された目的(セキュリティのためにアプレットを隔離する仕組み)を果たされていないし、他の目的に転用しようとしてもより適任なクラスがあるし、わざわざ取り上げる必要もないでしょうね。第三版の新しい項目は全部13件です。以下では各項目の概要を、個人的なコメントを交えて紹介していきます。内容はまだじっくり読んでいないので、鵜呑みせずに「こんな考えもあるよ」という程度で捉えていただければと思います。ちなみに、日本語の項目名は第二版邦訳のスタイルを真似した適当な意訳です。*1カプセル化の力加減についてのアドバイスです。ロジックの柔軟性、再利用性とテストしやすさを意識するように、コンポーネントの依存先リソースをコード内で直書きしないで、必要に応じて差し替えられるような手段(コンストラクタもしくはセッター)を用意しておこう、という内容です。登場してだいぶ経ったので、既に実践している方が多いでしょう。実装していない場合を除き、実践しない理由はどこにもないですね。登場したデフォルトメソッドのお陰で、インタフェースを拡張する際のインパクトは以前よりすっと小さい程度に抑えられるようになりました。デフォルトメソッドによるインタフェースの拡張は、すべての既存実装と上手く共働き協働するとは限りません。インタフェースの拡張が簡単になったとしても、インタフェースの設計自体はやはり以前と変わらず、慎重に行うべきです。*4一つのソースファイルにトップレベルのクラスを複数入れられるが、コンパイル時のエラーの原因になる可能性があるし、読みやすさに悪影響も及ぼすから、一つだけにしょう。使用すれば、メソッド引数でジェネリクスの可変長引数を使用するのは以前より快適になっています。メソッドの型安全性を約束していることを示すアノテーションに過ぎないので、安全性を保証できないメソッドにつけるべきではありません。使用するルールを説明する項目です。*6数行のコードなら、ほとんどの場合、ラムダ式は匿名内部クラスより読みやすいので、ラムダ式を使うべきです。逆に、コードのロジックが複雑で行数が多い場合、ラムダ式にしないほうが賢明ですね。*7(自明なメソッド名なら)メソッド参照はラムダ式よりも読みやすいし、メソッド自体もテスト可能なので、メソッド参照が使える場合は積極的に使いましょう。*8多くの場合、標準関数インタフェースだけで事足りるので、自前でインタフェースを定義する必要性はあまりないですが、この項目はその必要性の判断基準と、定義する際の注意点を説明する項目です。*9無闇にストリームを使いまくると、可読性と保守性に悪影響をおよびす恐れがあります。ストリームを上手に使うためのヒントを提示する項目です。*10ストリームのパラダイム自体は関数プログラミングに基づいているので、ストリームの表現力と速度と並列化の可能性を最大限に活かすには、使用する関数の同じパラダイムに従う必要があります。副作用のある関数を使用する場合、一つ一つの処理はストリーム内の中間状態だけでなく、外部にも依存しているので、全体の流れが分かりづらくなるかもしれません。速度も並列化の可能性も、外部の依存先による影響が大きいので、ストリームの利点を活かすのは難しいでしょう。メソッド戻り値として、可能であればコレクションを利用しましょう。*12並列化することによって、ストリームのパフォーマンスが改善されるのは、ストリームのデータソースに大きく依存しているので、手当たり次第ストリームを並列化するのはやめましょう。使うにあたって知るべきアドバイスを教えてくれる項目です。おわりに新しい項目以外に、元々あった内容も現状に合わせて一通り改定したようです。読みがいありそうですね。近いうちアプレッソ内で第三版の勉強会は開催されると思うので、その様子と内容を追って共有していきたいと思います。時間以下の単位に分割するのはなぜ...こんにちは、開発部の野口です。C...こんにちは、開発部の野口です。201...こんにちは。~デフォルトメソッド~こんにちは、アプレッソ開発部の陳です。秋が終わり、本格的に...2015-11-04メソッド参照を使うと無駄なオブジェクトが生成される場合がある(が、通常気にする必要はない)こんにちは、アプレッソ開発部の野口です。»プロフィールid:appressoアプレッソのエンジニアが書く技術ブログです。(1)はてなブログをはじめよう!appressoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。