わかったつもりの知識の復習になったうえ、新しい気付きもあってよかった。
だいたい、基本的なところを「ふむふむ、そうだよな。わかるわかる」と思いつつ読むが、アンチパターン集を見ると「やってしまっている...」となる。
悪い例として挙げられたもののうち以下の4つは過去にやったことがあり、直したい気持ちが湧いた。
- レスポンスがフラットな配列
- 動作を URI に含める
- Limit-Offset のページネーション
- 要求に失敗してるのに 2XX を返す
特にページネーションは、最初のうちは気付かないがデータやユーザーが増えるにつれ実現したくなることが多い。こういうのも視野に入れた設計・実装・レビューをしていきたい。
直したい気持ちを湧かせながらコードを眺めたら、API を複数のクライアント(web / native)で共有しており、互換性の問題ですぐには直せないことに気付いたりした。スピードも大事だが、最初の設計は本当に大事だ...。