座学が終わって、いざ書こうとしたら手が止まった——そのときに開く本です。
文法を覚え直す本ではありません。題材は倉庫ひとつだけ——倉庫の商品の出し入れをモチーフに、
各項目に書かれている処理を再現して、どのような処理がされているかを見ることができます。
変数も if も繰り返しも、この1つで確かめます。
コードの1行ずつには日本語が付いています。
Java のソースコードを貼れば、それにも1行ずつ日本語でステップ解説が付きます。
この本がしていること
画面のボタンを押すと、その場の Java のコードが書き替わります。 そのコードで、倉庫の商品の出し入れを7日分再現します(1日目から7日目。出ていく数は日ごとに違います)。 在庫が足りない日があれば、そこで倉庫が空になります。
下の2つは if (stock <= 5) を if (stock < 5) に変えただけ。
コンパイルエラーは1つも出ません。それでも7日間の結果はこう変わります。
if (stock <= 5)
7日間もった
1日目7日目
if (stock < 5)
3日目で空
1日目7日目
1回動かすだけでは、この違いは絶対に見つかりません。 現場で長く残るバグの多くが、この「エラーにならない間違い」です。
3つのページ
-
これから
書くとき虎の巻 何と書けばいいか思い出せないとき/エラーが出て止まったとき
変数から例外まで24項目。ボタンを押すとその場の Java が 書き替わって、その項目に書かれている処理を倉庫が再現します。文字は1文字も打ちません。
Exception in thread "main" ...の読み方もこの中です。 -
書き方を
1つ調べるとき現場の書き方 現場のコードで見かける書き方を、その場で読めるようにしたいとき
@Service・final・->・? :・.stream()・Optional・BigDecimal・日付 など36項目。 並び順は勘ではなく、実在の基幹系・銀行系 21,843ファイルでの「出会う率」の高い順です。 -
ファイルを
丸ごと読むとき貼り付けて読む Java のソースコードを見て、何をしているか分からないとき
.javaの中身を貼ると、1行ずつ日本語解説が付きます。 気づきにくいところ(文字列の==比較など)には 「確認したいところ」も出ます。貼ったコードは外へ1バイトも送りません。
赤い英文が出たら、ここから引く
出た英文をそのまま打てます。NullPointerException・equals・for のように、
覚えている単語1つで構いません。文面を覚えていないときは、下の索引から押して引けます。
全部分かると、どうなるか
-
渡されたコードが読める
初見の業務コードを開いて、「だいたいこんなことが書いてある」まで分かる。 分からない行があっても、どの項目を引けばいいかが分かる。
-
エラーの原因の行を指せる
スタックトレースを見て、自分が書いたファイルの何行目かを指せる。 英語のまま読めるようになる(日本語訳はいつでも開けます)。
-
エラーにならない間違いに気づける
コンパイルは通るのに動きがおかしい——現場で一番時間を取られるバグに、 自分で気づけるようになる。
ここまで来れば、業務のコードを前にして「右も左も分からない」状態ではなくなります。