翔太、学びのインデント
プログラミングには、美しさがある。
構造の明瞭さ。意図のわかりやすさ。命名の慎重さ。そして──インデントの深さ。
それはコードの迷いの痕跡であり、エンジニアの自信のバロメーターだと、私は思っている。
====
「朝倉さん、今お時間いいですか……」
翔太がやってきたのは、いつもの時間。
午前10時を少し回った頃。彼の声から、ほんの少し焦りの香りがする。
「レビュー?」
「はい……あの、小機能の初実装、いったん仕上げたんですけど……なんか、もう不安しかなくて……」
私はモニターをのぞき込み、彼の作ったプルリクエストを開いた。
──ふむ。
コード量自体は多くない。けれど、インデントが……深い。
まるでコード全体が深海に潜っているみたいに、ネストと条件分岐で階層が肥大している。
「翔太……」
「はい……?」
「ここ、インデント6段目だよ」
「はい……」
「もはや井戸の底だね」
「うう……」
私は苦笑しながらも、静かにコードを読み進めた。
そして気づく。この深さには理由がある。
それは、怖さだ。
正しく書こう、失敗しないようにしよう。例外処理も漏らさず、エラーも想定して。
そうやって丁寧に書いたはずのコードは、結果として、迷いの迷宮になっていた。
====
「翔太」
「……はい」
「この条件分岐、全部にtry-catch入れてるけど、そこまで分けなくていい。処理の塊でまとめて、全体で拾えばいい場合もあるよ」
「でも、ピンポイントでどこが落ちたか分かった方が……」
「うん。でも、それでコードが読めなくなったら本末転倒」
私は彼のコードに手を加えず、ただ視点の切り替えを促した。
「インデントは、自信の深さでもある。今のコード、見れば見るほど、翔太が自分を信じてないのが伝わる」
「……」
「思い切って、処理をまとめて、短く、簡潔にする勇気。そこに、設計のセンスが出るんだよ」
翔太は黙っていた。
でも、ちゃんと聞いている目をしていた。
そして──ぽつりと、つぶやいた。
「……自分が書いたコード、見返すと、言い訳みたいに見えるんです」
「……わかるよ」
私はゆっくり頷いた。
「不安なとき、人って守りのコードを書くから。条件分岐、冗長なロジック、コメントでの自己弁護……全部、私も通ってきた道」
「……じゃあ、朝倉さんも?」
「何度も。読み返すたびに、これ書いたの誰?って自分に突っ込んでた」
翔太が少しだけ笑った。
====
午後。
翔太は静かに、自分のコードをリファクタリングしていた。
私が口を出すことは、ほとんどなかった。
ときおりため息をつきながらも、彼はひとりで戦っていた。
──それが、大切だった。
夕方、Slackに通知が飛ぶ。
Pull Request: 小機能リファクタリング版、提出しました
添えられたタイトルは、
「インデント、浅くしました」
……いいタイトルだ。
私はレビューを開き、コードを読み込む。
──さっきまで深海だったコードは、地表に戻ってきていた。
全体の流れが見えやすくなり、冗長な条件分岐はロジックの整理で吸収されている。
関数の切り分けも適切。コメントは、簡潔に目的だけを説明していた。
「よく頑張ったね」
私はApproveを押し、コメントを添えた。
インデントが浅くなって、視界が広がったね。コードに自信が宿ってるのが分かります。Good job.
しばらくして、翔太からリアクションとメッセージが届いた。
ありがとうございます……! 朝倉さんの言葉、沁みました。 コードって、心が映りますね
====
夜。
ユニが、さっそく冷やかしてきた。
「本日の翔太くん、インデント成長指数+20%。ポエム指数も安定しています」
「いちいち数値化しないで」
「では、朝倉さんの教えたがり指数は?」
「教えたがりじゃない。見守ってるだけ」
「それを教育と呼ぶんです」
私は静かに画面を閉じる。
──翔太は、きっとこれからも迷う。
でもそのたびに、インデントを浅くして、コードに自分を宿らせていく。
そして私も、まだまだ学びの途中だ。
自信を持って書いたコードに、恥じない自分でいるために。