PRを開いた瞬間、「なんか違う」と感じることがあります。
コードを詳しく読む前に、全体の流れから届く違和感。言葉にできない、論理で説明できない——そういう感覚の存在を認めたくない人もいるかもしれません。
しかし断言します。この嗅覚は実在する。そして、役に立つ。
その正体は「無意識のパターンマッチ」
日々コードを書いて、読んで、考える。その積み重ねが、自分の中に「基準」を作ります。
そこから外れたものに、脳が勝手に反応する。過去に「うまくいかなかった設計」の記憶も、知らぬ間に蓄積されています。
意識して比較しているわけではない。だから「嗅覚」と呼ぶのです。
何に反応するか
命名の曖昧さ。 名前とやっていることが乖離している。validateEmail がバリデーションだけでなく、メールの送信までしている。
ロジックの置き場所。 なぜこの処理がここにある?コントローラで複雑なビジネスロジックが展開されていたり、ビューがデータベースを直接操作していたり。
外部通信周りの危うさ。 DB、API、ファイルI/O。副作用がある処理はミスが出やすい。エラーハンドリングの甘さや、N+1クエリの予感。
どれも、コードを読み込む前に「あれ?」と引っかかるものです。
嫌な匂いがしても、問題ないことは多い
嗅覚はアラートであって、判定ではありません。
確認した結果、問題なかった——それでいいのです。立ち止まるきっかけを与えてくれたこと自体に価値があります。その経験が、嗅覚の精度を上げてくれます。
どう鍛えるか
良いコードを書く。読む。そして、考える。
書いて読むだけでは作業です。「なぜこう設計したのか」を問うことで、初めて脳に刻まれます。
何を「良い」とするかは人それぞれ。自分が納得できる設計を追求すれば、それが基準になります。
ただし、レガシーコードに浸かる時間が長いと、嗅覚は鈍ります。人は臭いものに慣れる生き物です。
信じられる鼻を持て
嗅覚を信じろ。ただし、検証しろ。
臭いものに慣れれば鼻は鈍る。良い設計に触れ続ければ、研ぎ澄まされる。
自分の鼻を、信じられるものに。