Rust Advent Calendar 2023 の投稿です。 自己紹介です。現職は、小売の買い物体験向上に取り組む Software Engineer です。 この投稿では、本業(SRE)のかたわらで取り組む Backend について書きます。 題材は、Rust 初心者として考える Production Code です。 Production Code において、main.rs1 だけで構成することは、通常ないと思います。 従って、Architecture が必要です。 ここ数年、DDD2 や Clean Architecture3 など、色々な設計手法が話題です。 僕個人の意見として、Architecture は、テスト可能なコードであれば良いと思います。 最低限、自動テストを可能にするには、抽象化が必要になります。 例えば、Database や 外部 API など、state を持