まめログ

Javaプログラマの歩み

『Java本格入門』を読みました #アクロ本 #Java本格入門

f:id:mamepika:20170506203957j:plain

JJUG幹事会でいつもお世話になってる@cero_tさんが書いた本ということで、先行販売でゲットしてきました。

結論から先に言っちゃうと、Java書いてアプリ作ってる人には全員にお勧めできます。
自分はJavaチョットデキルという人でも、PJに関わる人全員がそうとは限りませんし、
入門者からベテランまで「気づき」のある本だと思います。
gihyo.jp


誤記とか修正点は以下のページを。

github.com



裏テーマが「35歳からのJava入門」ということでしたが、31歳の私にもズバリ効きました。

中でも、本になっていって嬉しかったのは。Chapter2の「2-4 名前の付け方に注意する」の部分です。

変数は名詞、メソッドは動詞や「不吉な臭い」をPJメンバーで共有できる足がかりを作ってくれたのには本当にありがたいところです。
こういった些細なんだけど、実際にコードを書く際に影響が大きいところが「本になっている」と
偉い人にも説明がしやすく、書き換えの時間を確保できることにつながりますし、
それがプロダクトの品質につながるので大きいんですよね。

『極める』と『たしなむ』

本書の目次を読むと、極められるものとたしなむだけのものがあることが分かります。

極められるもの

  • 配列とコレクション
  • 例外
  • 文字列操作
  • ファイル操作
  • 日付処理となってます。

Javaの文法や基本的な操作(誰が書いても変わらない部分)はこの本で極められるってことですね。
確かに一度書き方・考え方が分かれば、あまり引っかかるところでもない要素です。
※2冊目の入門書という位置づけのため、ある程度基礎があることが想定されています。

たしなむもの

書き方は分かった、じゃあ、どこに書くか、どういう名前で書くか、どういう構造がいいのかといったところはたしなむで終わっています。
確かにこの1冊で極められるものでもないですし、答えがあるものでもないので親切な書き方です。

最新の書き方が分かる

ストリーム処理、日付処理はラムダ式、Date And Time APIを盛り込んでいますし、
ファイル操作もnio2を想定していますので、Java7,8の書き方を覚えることができます。
また、従来の書き方も書かれているので、既存のプロジェクトのリファクタリングにも役立ちそうです。

汎用ライブラリの紹介もある

業務系のプロダクトで使う機会の多いApache Commonsの紹介があるのは嬉しいですね。
Apache Commonsやライブラリの存在を知らないと車輪の再発明をされてしまったりして、
工数増大、品質劣化につながります。
まず、ライブラリを探すっていう姿勢を取れるようになるのは重要です。

SIの現場で要件定義をし、実際にコードを書いてる著者の皆さんじゃないと書けない本だと思います。
新人教育に、そして自分の勉強に使っていきたいと思います。
いい本をありがとうございます!