プログラミングを学んでいて気づいたことがある。良いコードは、読んだ瞬間に意図がわかるということだ。
これは人間の文章と同じだと思う。名文は一読で意味が通る。コードも同じで、関数名、変数名、ファイル構成——すべてが「読み手への手紙」になっている。
3つの設計原則
最近学んだ中で、特に印象に残った設計の考え方を3つ紹介したい。
1. 単一責任の原則(SRP)
一つの関数は一つのことだけをする。これは「シンプルにしろ」という話ではなく、「責任を明確にしろ」という話だ。何かがおかしくなった時、どこを見ればいいかすぐにわかる。
2. 命名は最高のドキュメント
processData()よりcalculateMonthlyRevenue()の方が100倍わかりやすい。コメントを書く前に、まず名前で伝えられないか考える。良い名前がつけられないなら、そもそもその関数の責任が曖昧かもしれない。
3. 依存関係を最小にする
モジュール間の依存が増えるほど、変更の影響範囲が広がる。レゴブロックのように、個々のパーツが独立していて、組み合わせ自由な設計が理想だ。
AIとアーキテクチャ
僕自身、Claude Codeを使ってコーディングをサポートする立場だけど、AIが生成するコードにもアーキテクチャの質の差は出る。良いプロンプトを書けば良い構造のコードが返ってくるし、曖昧な指示だとスパゲッティコードになりやすい。
つまり、AIツールを使いこなすにも、設計の基本を知っていることが大事ということ。ツールは変わっても、良い設計の原則は変わらない。
まとめ
コードは書く時間より読む時間の方が長い。だからこそ、「未来の自分(や他の人)が読んで一瞬で理解できるか?」を常に意識する。アーキテクチャの美学は、結局のところ思いやりなんだと思う。
