Labとは、アスタミューゼのエンジニアとデザイナーのブログです。アスタミューゼの事業・サービスを支えている知識と舞台裏の今を発信しています。Scalaこんにちは、開発部のNishikawaです。frameworkを使ってコードの自動生成を行なった時の話をまとめたいと思います。してこの記事を書こうと思ったかWebアプリケーションの開発をしていると、よく本質じゃないところに時間がかかることがままあります。データアクセス部分とか、コントローラの実装部分です。プログラムとしての責務がちゃんと別れれば別れるほど刺身たんぽぽ感が出てくるので、心を無にしてひたすらコピペとクラス名やメソッド名などの修正を行う人が多いと思います。心を無にして釈迦のような志のもと作業を行なっていても所詮は人間なのでミスは起こります。すると、釈迦のような志から一変、鬼の形相でひたすらバグを潰しさらに時間がなくなるという無駄が無駄を産む状況になりがちです。いうのは一人で仕事を進める上ではとても無駄だし、本当に避けたい状況です。そこで目をつけたのはコードの自動生成です。実際どういう作戦で何をしたのか一括りにコードの自動生成と言っても、使うにはやはり一定の条件があります。今回Webアプリケーションを作成するにあたり以下のような構成のプログラムの実装を行いました。実装はhtmlとjavascriptで行い、バックエンド側のAPIから情報を取得しレンダリングする。APIの口を設けてView層からのリクエストを受け付けるモデルデータへのアクセスはSlickを使用し、取得した値をプレゼンテーション層へ渡すためのモデルに移し替える今回はコードを自動生成するにあたり以下のsbtプラグインとライブラリを使用しました。コントローラとroutesファイル、json返却用のモデルを生成してくれます。slick-codegenこれはデータベースにある実際のテーブル構造からSlickのコードを自動生成してくれます。framework用ライブラリです。これを使ってSQLを管理しました。実際にコード生成を行う前に前提として、今回コード生成に使用したプロジェクトのディレクトリ構成を記載します。今回自動生成したSlickコード。