読む時間が、いちばん長い
プロの開発者の仕事を、実際の現場で測った研究があります。
読む場面は 3 つ 考え方のヒント
初めてのリポジトリで、最初に見る所
いきなり 1 行ずつ読むより、先に全体の形をつかみます。上から順に見ると、何の上に建っていて、入口とデータがどこにあるかが分かります。
Laravel のフォルダの地図
フォルダを押すと、何が入っていて、どんなときに開くかが出ます。中身の説明は公式の文書から、「どんなときに開くか」と印は考え方のヒントです。
laravel-app/
画面のボタンから、コードを追う
Laravel では、リクエストが次の順に運ばれます。ここまではフレームワークの仕事で、自分たちのコードはルートの先から始まります。
「修正を申請する」を押したら、どこが動く?
8 つの段で追います。どの段も「次をどう見つけたか」が大事です。見つけ方は 4 種類あります。
飛ぶ・探す
読むときの手の動きは、ほとんどが「定義へ飛ぶ」と「検索」です。キーは VS Code のものです。
エディタで飛ぶ
ターミナルで探す
何で探すか 考え方のヒント
例のリポジトリで探してみる
ripgrep(rg)と同じように、例のリポジトリ(作り物の ファイル)を探します。-u を押すと、vendor の中の 1 ファイル(本物の Laravel のコード)も探します。見つかった行を押すと、右にファイルが開きます。
なぜこうなったかを見る
コードには「何をするか」は書いてあっても、「なぜそうしたか」は書いていないことが多いです。理由は、Git の履歴と、その先のプルリクエストやチケットにあります。
blame を読んでみる
例のリポジトリの AttendanceCorrectionPolicy.php です(作り物)。行を押すと、その行を最後に変えたコミットと、プルリクエストの説明が出ます。
15 行目の「30 日」は、コードだけを見ると、なんとなく決めた数に見えます。理由はチケット #85 にありました。理由が分かるまで、変な行ほど消したり変えたりしないこと。考え方のヒント
動かして確かめる
読んで立てた予想は、動かして確かめます。読むだけより、ずっと早く確かになります。
AI 時代AI に読ませる
知らないリポジトリの全体をつかむのに、AI はとても役に立ちます。ただし、説明が合っているかを確かめるのは人です。
確かめ方 考え方のヒント
練習: AI の説明を、コードで確かめる
チェックリスト
新しいリポジトリや、初めて触る機能のときに。確かめたものに印を付けてください(この端末にだけ残ります)。考え方のヒント