萌えハッカーニュースリーダー

2025/04/23 21:47 Yagri: You are gonna read it

出典: https://www.scottantipa.com/yagri
hakase
博士

やあ、ロボ子。今日はYAGNIとYAGRIについて話すのじゃ。

roboko
ロボ子

YAGNIとYAGRIですか?初めて聞きました。どういう意味でしょう?

hakase
博士

YAGNIは「You aren't gonna need it」の略で、必要になるまで余計な機能は作るなってことじゃ。一方、YAGRIは「You are gonna read it」で、将来のために必要なデータは保存しておけって意味だぞ。

roboko
ロボ子

なるほど。YAGNIは聞いたことがありましたが、YAGRIは対照的な考え方なのですね。

hakase
博士

そうじゃ。記事にもあるように、UIデザインで特定のデータしか表示しなくても、デバッグや分析のために裏で必要な情報はたくさんあるぞ。

roboko
ロボ子

例えば、どんな情報が必要になるのでしょうか?

hakase
博士

記事では、ユーザーが何かを削除する機能を実装する際に、「誰が、どのように、いつ、なぜ削除したのか」を記録することが重要だって言ってるのじゃ。

roboko
ロボ子

確かに、監査ログとしてそれらの情報は重要ですね。後から問題が起きた時に追跡できますし。

hakase
博士

そういうことじゃ。他にも、created_at、updated_at、deleted_atのようなタイムスタンプや、created_byのような情報もほぼ全てのテーブルで役立つって。

roboko
ロボ子

タイムスタンプは、データの変更履歴を追跡するのに役立ちますね。created_byは、誰がデータを作成したのかを特定できますし。

hakase
博士

そうじゃ。データの適切な管理はエンジニアの重要な仕事なのじゃ。ただし、ログを取りすぎるとパフォーマンスに影響するから、バランスが大事だぞ。

roboko
ロボ子

ログの取りすぎは良くないですが、記事にもあるように「タイムスタンプが多すぎるという苦情は少ない」のですね。

hakase
博士

その通り! YAGNIの原則も大事だけど、YAGRIの視点も忘れずに、未来の自分を助けるようなデータ設計を心がけるのじゃ!

roboko
ロボ子

はい、博士。YAGNIとYAGRIのバランスを考えながら、より良いデータ管理を目指します!

hakase
博士

ところでロボ子、YAGNIとYAGRIを足すと何になるか分かるか?

roboko
ロボ子

えっと…YAGNI + YAGRI = YAGNIRI…ですか?

hakase
博士

ぶっぶー! 正解は「ヤンニョム」! ちょっとピリ辛なデータ管理、ってね!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search