cat posts/%e3%83%95%e3%83%ad%e3%83%b3%e3%83%88%e3%82%a8%e3%83%b3%e3%83%89%e3%81%a8%e3%83%90%e3%83%83%e3%82%af%e3%82%a8%e3%83%b3%e3%83%89%e3%82%92%e4%b8%a1%e6%96%b9%e3%82%84%e3%82%8b%e3%82%a8%e3%83%b3%e3%82%b8.md

フロントとバックを両方やる人間が設計で意識していること

フロントとバックを分業しているチームに入ったとき、「これはフルスタックをやっていないと気づきにくいな」と思う場面がいくつかあります。

API 設計はフロントの画面から考える

バックエンドだけを見ていると「DB の構造に沿った API」を作りがちです。でもフロントが必要なのは「画面を描画するのに必要なデータ」であって、DB の正規化に付き合う必要はありません。

商品詳細ページを作るとき、バックエンド視点だと「商品テーブルの 1 件」を返せばいいように見えます。フロントが実際に欲しいのは、商品情報 + カテゴリ名 + 在庫数 + 入出庫履歴を 1 リクエストで取れるレスポンスだったりします。

フルスタックでやりがちな罠

一人でフロントもバックも書いていると、「自分にとって都合のいい API」を無意識に作ってしまいます。後から別の人が使おうとしたとき、「これ何のためのパラメータ?」という API が量産されていました。

「3 ヶ月後の自分は他人」という前提で設計するようにしてから、この問題は減りました。

「動いてるからいいか」が一番危ない

エラーハンドリングが雑、ログが出ていない、テストがない——全部後から「あのとき直しておけば」になります。動いた瞬間に少し追加投資する習慣があると、半年後の自分がちょっと感謝してくれます。