0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

設計の匂いは、コードより先に届く

Posted at

PRを開いた瞬間、「なんか違う」と感じることがあります。

コードを詳しく読む前に、全体の流れから届く違和感。言葉にできない、論理で説明できない——そういう感覚の存在を認めたくない人もいるかもしれません。

しかし断言します。この嗅覚は実在する。そして、役に立つ。

その正体は「無意識のパターンマッチ」

日々コードを書いて、読んで、考える。その積み重ねが、自分の中に「基準」を作ります。

そこから外れたものに、脳が勝手に反応する。過去に「うまくいかなかった設計」の記憶も、知らぬ間に蓄積されています。

意識して比較しているわけではない。だから「嗅覚」と呼ぶのです。

何に反応するか

命名の曖昧さ。 名前とやっていることが乖離している。validateEmail がバリデーションだけでなく、メールの送信までしている。

ロジックの置き場所。 なぜこの処理がここにある?コントローラで複雑なビジネスロジックが展開されていたり、ビューがデータベースを直接操作していたり。

外部通信周りの危うさ。 DB、API、ファイルI/O。副作用がある処理はミスが出やすい。エラーハンドリングの甘さや、N+1クエリの予感。

どれも、コードを読み込む前に「あれ?」と引っかかるものです。

嫌な匂いがしても、問題ないことは多い

嗅覚はアラートであって、判定ではありません。

確認した結果、問題なかった——それでいいのです。立ち止まるきっかけを与えてくれたこと自体に価値があります。その経験が、嗅覚の精度を上げてくれます。

どう鍛えるか

良いコードを書く。読む。そして、考える。

書いて読むだけでは作業です。「なぜこう設計したのか」を問うことで、初めて脳に刻まれます。

何を「良い」とするかは人それぞれ。自分が納得できる設計を追求すれば、それが基準になります。

ただし、レガシーコードに浸かる時間が長いと、嗅覚は鈍ります。人は臭いものに慣れる生き物です。

信じられる鼻を持て

嗅覚を信じろ。ただし、検証しろ。

臭いものに慣れれば鼻は鈍る。良い設計に触れ続ければ、研ぎ澄まされる。

自分の鼻を、信じられるものに。

原文: https://sijiaoh.com/posts/design-smell-before-code/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?