2024-02-25

0.5.0.preを見ていた。debug.gemで追いかけてなんとなく処理順が分かった気がしてきたのでdiffを上から順番に見て自分の理解をメモしている。キャッシュのところがどういう仕組みで行われているのかは分かった。

スクロールバーを見たところ全体の1/3か1/4くらいは読めた気がする。理解できていないところはあとで読むことにして、分かるところを上から見ている。順調に読み進められていて嬉しい。

私は長めのコードを読むときに処理内容をまとめながらコードリーディングしていきたい派なのだけど、どうやってまとめるかに悩んだ。レビューなので大枠の把握も1行単位のコードの意図の把握もどちらもやりたくて、Markdownなどでまとめるというよりはコードの近くにコメントを書いていきたかった。

localでコードにコメントいれる方法はまず試してみたけど、削除された箇所へのコメントがつけづらかった。また、コメントした箇所に変更があるとrebaseが大変なので変更が起こりうるコードにはやりづらい。

VSCodeを使ってCodeTourでコメントしていく方法も試してみたけど私には合わなかった。CodeTourを入れるとcommitなどに対してコードの外にコメントを書くことができる。イメージとしてはPRのdiffにレビューコメントをする形に近い。しかしCodeTourはその名の通り順番にコードを追いかけていく、というコンセプトなのが微妙に合わなかった。ただ、コード自体にコメントを残さなくてよいとか、diffにもコメントできるのは良かった。

というわけでGitHubのPRのdiffに直接draftでコメントしていく方式で試している。コードのすぐ下にコメントがかけてどこまで読んだか、どう理解しているのか管理しやすくてとても快適になった。コードに変更があってもコメントがoutdatedになるだけなので多分大丈夫。 しかし最終的にレビューコメントをする前に全部消すか英語で書き直さないといけない。abandon reviewすれば一発ですべて消せるとはいえ、そうすると将来の自分が手がかりを失って困りそう。書いていった情報をどうするかはまた悩みそうだなーと思いつつ、今はとりあえず自分の理解のためにどんどん書いていっている。