🌀

三つ巴の命名規則 ― 混沌の館へようこそ

に公開

SPA を作ることになって分かったけど、

命名規則って 2つまでならまだ大丈夫なんだよね。
3つ以上になると一気に崩れる。

新しい Web システムを SPA で作ることになったので、
念のためフロント・API・DB の命名を全部調べてみた。

そしたらまあ、静かに驚いた。


2つの組み合わせだけなら、まだ耐えられる

フロント + API

→ JSON を camelCase にしておけば、そこそこ自然にそろう。

HTML + DB

→ フレームワーク次第だけど、“翻訳ポイントはひとつ” だからまだ扱える。

どちらも、
「ズレはあるけど破綻はしない」
というレベルで済んでいた。


ところが、3つ以上の組み合わせになった瞬間、途端に破綻する

フロント + API + DB。
この3つを同時に扱い始めたときだけ、急に様子が変わる。

  • snake_case(DB)
  • PascalCase(C# / DTO)
  • camelCase(API / JSON / TS)

これらが同時に動き出すと、
翻訳ポイントが複数発生して、誰も全体を把握できなくなる。

実際に調べてみると、
名前がそろっているレイヤのほうが珍しいくらいだった。

地味なんだけど、こういうのが積み重なる。

  • JOIN でフィールド名が衝突する
  • JSON と DTO の微妙な揺れが数ヶ月後に発火する
  • user_id / UserId / userId が 3 種類そろう
  • どれが「正しい名前」か人によって意見が違う
  • カラム追加で API が黙って壊れる

別に誰が悪いという話ではない。
ただ、構造的にそうなりやすいだけ


みんな困ってないのかな?

昔ながらの Web アプリなら、
HTML と DB の間だけで完結していたから、
ここまで深刻ではなかったと思う。

SPA になって、

フロント→API→DB
という “3段構え” が当たり前になった瞬間に、
命名のズレが一気に表面化したんだろう。

でも不思議と、
「あれ?これまずくない?」という声を
あまり聞かない。

みんな平然と進めているけど、
実際のところ困ってないのだろうか。


調査結果はあとでまとめるけど

正直に言えば、
ひとつひとつ見ていると なかなか面倒な話 だった。

このあたりは、
自分でも、もう少し整理しておきたいところ。

きっちりまとめておかないと、寝つきが悪い。


Discussion