「無意識に良いだろう」と思って書いた実装は、だいたい良くない

「無意識に良いだろう」と思って書いた実装は、だいたい良くないの説明画像

今までのプルリクで受けた指摘を振り返ってみる

直近の開発でプルリクの指摘を受けたとき、
ふと立ち止まるきっかけになったことがありました。

開発をしていると、
「まあ、これは良いだろう」
「とりあえずこうしておけば問題ないはず」
と、自己判断して実装してしまうことがあります。

時間がないときや、
過去の経験が頭をよぎったとき、
あるいは「軽い修正だから」と判断したとき。

そういう場面で書いた実装ほど、
レビューで立ち止まらされることが多い、
という感覚を最近強く持つようになりました。

「意図があるようで、実はない」実装

後から振り返ると、こうした実装については
「良いだろうという意図のもとで実装した」
と説明できてしまうことが多いです。

しかし、プルリクエストを出してレビューを受けると、

  • なぜこの実装にしたのか
  • 他の選択肢は検討したのか
  • この書き方である必然性は何か
  • こっちに書かなかった理由はなんなのか?

といった点を指摘されがちです。

つまりこれは、
「意図を語っているようで、実際には自分を正当化しているだけ」
という状態になっていることが多いのだと思います。

自分の中では納得していても、
第三者に説明しようとした瞬間に言葉が詰まる。
この違和感は、意外と多くの人が経験しているのではないかと思っています。

原因は知識不足だけではない

こうした状況になる原因として、
「自分の知見が足りなかった」
「もっと良い設計を知らなかった」
という点は、確かに一因ではあります。

ただ、より根本的な原因は別のところにある気がしています。

それは、
自分の感想や好みを、そのまま「意図」にしてしまっていること
です。

  • なんとなくこっちのほうがきれい
  • 前もこう書いていた気がする
  • このほうが好み

こうした感覚自体は決して悪いものではありません。
むしろ、経験を積むほど自然に湧いてくるものです。

しかし、それを

「なぜそうするのか」という根拠に昇華しないまま実装してしまうと、

レビューの場で「それは好みでは?」という指摘を受けやすくなります。

自分の好みや感覚に対する指摘が来ると、

思わず反発したくなる気持ちは、とっっってもよくわかります。

ただ、そこで一度立ち止まって、

「これは本当に意図なのか、それとも感想なのか」

を見直せるようになると、一段レベルを上げられると思っています。

AI時代に増える「意図の消失」

最近は、AIがコードを書いてくれる時代になりました。
設計の叩きや実装の下書きは、以前よりもずっと速く作れます。

この流れの中で、
「無意識な実装で悩むこと」は、確かに減っていくでしょう。

ただ、その代わりに増えていきそうなのが、
「意図そのものが消失する問題」です。

  • なぜこの構造になっているのか
  • なぜこの責務分離なのか
  • なぜこの命名なのか

それを
「AIがそう書いたから」
で済ませてしまうと、
実装は存在しているのに、意図だけがどこにも残らない状態になります。

これは、自分よがりな意図よりも、むしろ厄介かもしれません。

だからこそ、意図を持った実装を続けたい

しっかりとした意図を持った実装は、
これからも間違いなく重要であり続けるはずです。

  • なぜこうしたのか
  • 何を優先したのか
  • どんなトレードオフを受け入れたのか

これを自分の言葉で説明できる状態で実装すること。

「良いだろう」と思った瞬間に、
一歩だけ立ち止まって、
その「良い」を言語化できるか自問する

これはどんな時代になっても忘れずに意識していきたいと思いました。

この記事をシェア