こんにちは、最近サイコホラー系の映画に興味がある進士です。何かおすすめがあったら教えてください。
前回のブログでは、エラーを解決するためにエラー文を読もう、指摘された箇所を見てみよう、というお話をしました。
ですが、例のように簡単に解決することはあまりありません。エラーが発生したのはAファイルだけど、その原因はBファイルにあった、なんてことが多々あるためです。
今回は、そんな時に必要になるコードリーディングについてお話します。
コードリーディング
ソースコードを読むことをコードリーディングと言います。そのままですね。
コードを読むなんて当たり前と思うかもしれませんが、大切なのはただ読むことではなく理解して読むことです。
エラーが出たとき、コードを理解して読める人は「この行で原因が起きている、この行に関連するメソッド・変数がある場所はここ、だからここにブレークポイントを貼って値をチェックしてみよう」と素早く原因箇所を絞り込むことができます。
迅速なエラー解決には、エラー文を読む力だけではなくコードを読む力も必要になります。少しずつでもいいので、ぜひコードを読んでみてください。
おすすめの方法
次に私が実践しているコードリーディングの方法をお話します。気が向いたらぜひ試してみてください。
・登録に関するコードだけ読むなど対象を絞り、一度処理を流してみる
・コンソールを読み、使用されたJavaファイルを特定する
・Javaファイルの各メソッドの一行目にブレークポイントをはり、実行順序を確認する
・メソッドの中身は読まず、どんな値を返しているのかを見る
・メソッドの中身を読む
私は上記の流れでコードを読むようにしていました。ポイントはメソッドの中身を読まず、どんな値を返しているのかだけを見ることです。
返り値を見ると、そのメソッドが何をしているのかなんとなくわかります。もし返り値が検索結果の一覧なら「このメソッドは検索処理を行っているのかも?」と当たりがつけられます。
コツはなるべく楽をすることです。パッケージ独自のメソッド以外は意味だけ調べて深追いしないなど、まずは狭い範囲を少ない苦労で読むことを目標にすると挫折する確率が下がります。
1つでもメソッドの意味が理解できるようになると課題が各段に楽しくなります。
自分に合った方法を見つけて、楽しくコードを読んでみてください。