表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
新卒エンジニア、観察ノートを開く(上巻) 観察を、始める  作者: 音無 凪


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

PR
10/37

第9話「白瀬、二十二件のレビュー」

この物語はフィクションであり、登場する人物、団体、地名、企業名等はすべて架空のものです。実在のいかなる存在とも関係ありません。

 昨日、心の中で「明日、白瀬さんにレビューをお願いしてみよう」と思った僕は、その朝、本当にそうした。


 水曜日の朝、九時。


 ちょうど新しい小さな機能の修正を、コードに加え終わった頃だった。昨日、最初のPRを出したあとの午後から、続けて書き進めていた分だ。前のPRよりは、少しだけ大きい修正。コード変更は八十行ほど。テストケースも六本、書き加えた。


 プルリクエストの説明文を書いてから、Reviewersの欄に白瀬さんの名前を入れた。赤坂さんも念のため入れておいた。


 依頼を出した。


 ……白瀬さん、何分で返信してくれるだろう。


 心の中で、僕はぼんやりとそう思った。


 午前中の業務、十時、十一時、お昼前。


 Slackに、白瀬さんからの通知は来なかった。


 赤坂さんからは今回も、五分後に返信が来た。


「LGTM!」


 絵文字、二つ。


 ……もうこれは、見慣れた。


 心の中で僕は思った。赤坂さんのLGTMには、既読のスタンプみたいな安心感すらあった。問題は、それが安心していい安心なのかどうか、だった。


 お昼休みも、白瀬さんからの通知はなかった。


 社員食堂で和定食を食べながら、僕はちらちらとスマホの画面を確認した。LGTMの絵文字だけが、画面に置かれていた。


 午後、一時。


 僕は別のタスクを始めていた。Confluenceの整理作業。これは、頭をあまり使わなくていい仕事。けれど手元の作業をしながらも、僕は白瀬さんからのレビューが、心のどこかで気になっていた。


 ……まだ来ない。


 心の中で僕は思った。


 他のチームの先輩エンジニアの会話を思い出した。「白瀬さんのレビュー、二十件以上ついた」。


 あの会話の中の若手の人は、何時間、待ったんだろう。


 午後、二時。


 まだ来ない。


 午後、三時。


 まだ来ない。


 待っている間に、一度だけ、誘惑があった。白瀬さんが他の人のPRに書いたコメントを先に読みに行けば、傾向と対策が分かるのではないか。


 画面を途中まで開いて、やめた。


 それはたぶん、テストの前に答案を覗くのに似ている。代わりに、自分の出したPRをもう一度開いて、自分の目で読み直した。直したいところが、二つ見つかった。出す前には、見えなかったところだった。提出した途端に見えてくるのは、なぜなんだろう。


 ……もしかして、僕のPR、忘れられているのか。


 心の中で、ふと不安になった。


 白瀬さんの方をちらっと見た。


 白瀬さんは自分のディスプレイに向かって、何かを書いていた。コードかドキュメントか、見えない。けれど、いつもの集中している姿勢だった。


 声をかけるべきか、迷った。


 でも声をかけたら、たぶん白瀬さんの集中を邪魔することになる。


 ……もう少し、待ってみよう。


 心の中で、自分に言い聞かせた。


 午後の終わり、五時半。


 僕は自分のタスクを終えた。Confluenceの整理は、ほぼ片付いた。


 退社の時間が近づいてきていた。


 白瀬さんからの返信は来なかった。


 ……まあ、忙しいんだろう。


 心の中で、僕は自分にそう言い聞かせた。


 六時半に、MacBookを片付けてフロアを出た。白瀬さんはまだ自分の席で、何かを書いていた。


 帰り道、桜並木通りを歩いた。五月の下旬の夕方、若葉の香りが空気に溶けていた。


 ……明日、来るかな。


 歩きながら、僕はぼんやりとそう思った。


 


 寮で夕食を済ませて、部屋に戻った。シャワーを浴びて、机に向かった。


 ノートを開く前に、スマホに手が伸びかけて、止めた。


 会社のSlackは、寮からは見られない。白瀬さんの返信は、明日の朝、出社してからだ。


 今日のページに、こう書いた。


 白瀬さんに、PRレビューをお願いした。


 半日、返信、なし。


 明日、たぶん、来る。


 ペンを置いて、ノートを閉じた。


 その夜は、眠るのに少し時間がかかった。


 


 翌日、木曜日の朝。


 いつもより早く起きた。


 寮を出て桜並木通りを歩いて、ヨキエルに着いたのが八時半。普段より十五分、早かった。


 フロアに着いて、自分の席でMacBookを開いた。


 Slackの通知が、ぐわっと、画面の右上に流れた。


 白瀬さんから、たくさんの通知が来ていた。


 時刻は、昨夜の八時十五分から、九時二十分まで。一時間以上、白瀬さんは僕のPRにコメントを書き続けていた、ことになる。


 画面を開いた。


 コードレビューの画面。


 左端に、コメント数の表示。


 二十二件。


 ……二十二件。


 心の中で、僕は息を止めた。


 ひとつずつ、コメントを見ていった。


 最初の一件は、僕が書いた変数名についてだった。


 「`tmp` という変数名は、何を一時保存しているのか、読む人に伝わらないと思います。例えば `pendingOrders` や `unprocessedItems` のように、内容を示す名前にした方が、後から読み返した時に分かりやすいです」


 ……変数名。


 次のコメントは、メソッドの分割について。


 「このメソッド、八十行近くあります。読みやすさのために、三つくらいに分割できると思います。例えば、入力検証、ビジネスロジック、結果出力で分けると、それぞれの責務が明確になります」


 ……メソッド分割。


 次のコメントは、テストについて。


 「テストケース、正常系は六本あって、十分です。ただ異常系のテストがありません。例えば、入力が空の時、入力が極端に長い時、入力に不正な文字が含まれている時、それぞれのテストを書いておくと、後の保守性がぐっと上がります」


 ……テスト、足りなかった。


 その次のコメントは、エラーハンドリングについてだった。


 「catch節で例外を握りつぶして、nullを返しています。ここで握りつぶすと、障害が起きた時に、どこで何が失敗したのかがログから消えます。警告ログに記録を残した上で、呼び出し元に例外を伝える形を検討してください」


 握りつぶす、という言い方が、妙に生々しかった。僕はたしかに、エラーが出ないことを、エラーがないことだと思って書いていた。


 その次は、命名規則。その次は、ログの出力方法。その次は、設定ファイルの扱い。


 読み進めるうちに、コメントには二種類の言い方が混ざっていることに気づいた。直してください、と、検討してください。どちらなのかが、毎回はっきり書き分けられていた。直すべきものと、考えるべきもの。二十二件は、同じ強さの二十二件ではなかった。


 二十二件、全部読み終わるのに三十分かかった。


 最初の十件くらいまで読んだ時、僕は軽いショックを受けていた。


 自分のコードがこんなに未熟に見えたのは、初めてだった。大学の課題でも、こんなに細かい指摘を受けたことはなかった。


 大学の柏原研で、僕はコードレビュー文化を卒論に書いた。読んで、調べて、分かったつもりでいた。二十二件の本物は、論文の中のレビューとは別の生き物だった。画面の向こうから、人の時間が流れ込んでくる。


 ……僕、ダメな新卒だ、たぶん。


 心の中で、ぼんやりとそう思った。


 でも、十一件目を読んで、十二件目を読んで、十三件目を読んでいくうちに、何かが変わってきた。


 白瀬さんのコメントはどれも、責めていなかった。


 「ダメだ」とは一言も、書いていなかった。


 代わりに「こうした方が、こういう理由で、こうなります」と、毎回、書いてあった。


 例を添えてある。具体的なコードの書き方を提示してある。なぜ、それが良いのか、参考リンクがある時もあった。


 リンクの一つを開いてみると、『Effective Java』という本の、ある項目の解説だった。聞いたことのない書名だった。ノートの隅に、書名だけ控えた。


 二十二件、すべてが丁寧で具体的だった。


 最後の一件まで読み終わって、僕は深く息を吐いた。


 顔を上げると、フロアは普通の朝だった。誰も、僕の画面の中の出来事を知らない。世界がこんなに静かなのが、少しだけ不思議だった。


 手元のノートに、コメントを要約してメモを取った。


 メモはノートの一ページの、両面にぎっしり埋まった。


 メモの最後に、内訳を数えて書いた。命名が五件。テストが四件。エラー処理が四件。構造が三件。ログが三件。その他が三件。数えてみると、二十二件はばらばらの二十二件ではなかった。観点が、先にあるのだ。給湯室の噂は、たぶん本当だった。


 白瀬さんがコメントを書いていた時間は、一時間以上。


 僕がそれを読んで理解する時間は、三十分。


 ……白瀬さん、本気で書いてくれた。


 心の中で、僕ははっきりとそう思った。


 


 午前中、僕は白瀬さんのコメントに、一つずつ対応した。


 変数名を変えた。メソッドを分割した。異常系のテストを追加した。エラーハンドリングを整えた。


 メソッドの分割は、思ったより怖かった。動いているコードに、はさみを入れる。入力検証の部分を切り出して、入力検証だと一目で分かる名前を付けた。初めて自分で切り出したメソッドだった。切り出してみると、残った本体が急に短くなって、上から下まで一目で読めるようになった。テストを流す。全部通る。同じ動きのまま、形だけが良くなっている。リファクタリング、という言葉の意味が、手の中で初めて分かった気がした。


 異常系のテストは、書いてみると正常系より面白かった。壊しに行く側に回ると、自分のコードの隙が見える。空っぽの入力。長すぎる入力。数字のふりをした文字。三本書いて、三本とも最初は通らなかった。直して、通した。隙が一つずつ、塞がっていく。


 二十二件のうち一件だけ、どう直すべきか分からないものがあった。設定ファイルの扱いについてのコメントだった。迷った末、直さずに、質問で返信してみた。こういう理解で合っていますか、と。


 十分後に、返信が来た。


 「合っています。補足すると、この値は環境ごとに変わるので、コードに直接書かず設定ファイルに出しておくと、環境を増やす時に楽になります。今回は直さなくて大丈夫です」


 今回は直さなくて大丈夫です、まで書いてある。レビューは、一方通行ではないらしかった。指摘は、会話の始まりでもあった。


 一つずつ直していくうちに、おかしなことに気づいた。白瀬さんのコメントの通りに直すと、自分の書いたコードが、自分でも読みやすくなっていく。さっきまで自分のものだったはずのコードが、直すたびに少しずつ自分から離れて、誰が読んでも分かるものに変わっていった。


 半日、ほぼその作業に費やした。


 お昼休みになる前に、修正版のPRを白瀬さんに再レビュー依頼した。


 お昼を軽く済ませて、フロアに戻った。


 白瀬さんの席を、ちらっと見た。


 白瀬さんは自分のディスプレイの前で、いつもの集中の姿勢で、何かを書いていた。


 ……今、僕の修正版を見てくれているんだろうか。


 午後、二時頃、白瀬さんから再レビューが来た。


 今度は、コメントが二件だけだった。


 「修正、良いと思います。`pendingOrders` の変数名、明確で読みやすくなりました」


 「異常系のテスト、追加してくれてありがとうございます。これで、保守性が上がります」


 承認のボタンが押されていた。


 僕は自分の席で、しばらく画面を見ていた。


 ……「ありがとうございます」。


 白瀬さんが、僕にお礼を言った。


 心の中で、何かがふっと温かくなった。


 マージのボタンを押した。


 画面が緑色に変わった。


 席を立った。


 白瀬さんの机の方に歩いていった。


 机の隅に、小さな多肉植物の鉢が一つあった。水のやり忘れか、葉先がほんの少し、しなびていた。


 白瀬さんはディスプレイから目を上げて、僕を見た。


「白瀬さん、レビュー、ありがとうございました」


 頭を下げた。


「いえ」


 白瀬さんはそれだけ言った。


 僕はもう少し、何か言いたかった。けれど何を言うべきか、思いつかなかった。


 白瀬さんがこう言った。


「次も、書くから」


 短い、本当に短い、四文字、いや、六文字の言葉だった。


 でも、その六文字は僕の中に深く入ってきた。


「あ……はい、よろしくお願いします」


 もう一度頭を下げて、自分の席に戻った。


 戻りながら、通知の時刻を思い出していた。八時十五分から、九時二十分。白瀬さんの夜の一時間が、僕の半日を作った。時間が、人から人へ移っている。それがたぶん、教える、ということの正体の一つだった。


 席に座って、もう一度、白瀬さんから来た再レビューの、二件のコメントを読み返した。


 「ありがとうございます」と「次も書くから」。


 二つの言葉が僕の中で、じわじわと、温かさを広げていった。


 


 退社の時間。


 いつもより少しだけ早く、フロアを出た。


 外に出ようとすると、細かい雨がぱらぱらと降り始めていた。梅雨のはしりの、ほんの短い通り雨だった。今朝、天気予報を確かめずに寮を出た僕は、傘を持って出なかった。


 その僕を、白瀬さんが後ろから小走りで追ってきた。声はなかった。ただ、自分の折り畳み傘を、黙って僕の手に押しつけた。


「僕、貸してもらったら」


 言いかけて、顔を上げると、白瀬さんはもう自分の傘に頭を屈めて、反対のバス停の方へ歩き始めていた。


 声をかけずに、ただ、傘を置いた。それが白瀬さんの、優しさの、もう一つの形だった。


 桜並木通りをゆっくり歩いた。雨はもうすぐ止みそうだった。


 五月の下旬の夕方、若葉が街灯の光に、明るく照らされていた。


 歩きながら、頭の中でメソッドがもう一度分割された。仕事の外までコードがついてくるのは、初めてだった。たぶんこれは、嫌な気分ではない。


 


 寮に戻って、夕食を食堂で軽く済ませて、部屋に上がった。


 


 机にノートを置いた。


 今日のページに、こう書いた。


 白瀬さんから、二十二件のレビュー、来た。


 全部、丁寧で具体的で、責めていなかった。


 修正版を出したら、白瀬さんが「ありがとうございます」と書いてくれた。


 席にお礼を言いに行ったら、白瀬さんは「次も書くから」と言った。


 書いてから、僕はペンを止めた。


 もう一行、書きたい言葉があった。


 書いた。


 白瀬さんは、たぶん、本物だ。


 その下に、昼間数えた内訳を、観点の順番のまま写した。次のPRは、出す前に自分でこの順番に見てから出す。給湯室の人の言葉を借りるなら、先回り、というやつだ。


 書き終わって、自分の文字をしばらく見ていた。


 「本物」と書いた。


 その意味をたぶん、僕はまだ半分くらいしか分かっていない。


 でも、書いてしまった以上、その言葉はこれから先、僕の中にずっと残るのだろう。


 ペンを置いた。


 窓の外、五月の下旬の夜、若葉の香りが、開けた窓からすっと入ってきた。


 明日も白瀬さんは、自分の席で何かを書いているのだろう。


 ……たぶん、二十二件のコメントを書いてくれた夜、白瀬さんは何を考えていたんだろう。


 ふと、そんなことを思った。


 その答えは僕には、たぶん、一生分からない。


 でも、書いてくれたコメントの一つひとつから、何かを感じ取ることはできる。


 そう、思った。


 次に白瀬さんが僕のコードに書くコメントは、何件になるんだろう。減っていたら、それはたぶん、僕が少し、近づいたということだった。


 


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ