Dartでのコード生成。 パート1.基本

プログラマーが怠zyであることは非常に良いことであることが知られています。 同じことを何度も繰り返したいと思う人はいません。 これは退屈で退屈で、まったく創造的ではありません。 同じアクションを繰り返して、私たちはしばしば間違いを犯しますが、幸いなことに、同様のタスクを実行するのに本当に優れた、効果的な人がいます。 そして、これらはコンピューターです!







https://yougottobekidding.wordpress.com/2012/02/18/geeks-and-repetitive-tasks/







今日、 コード生成は最短時間でジョブを実行する機能です。 基本的な考え方は単純です。何度も何度も記述しなければならないコードの同じ面倒なセクションでパターンを見つけ、生成用のツールを作成して実行し、魔法がどのように発生するかを確認します。







Android開発の世界では、このようなツールはすべての開発者によく知られています。 これは、レトロフィット、ダガー、ルームです。 Dartはどうですか? さらに重要な質問:コード生成用の独自のツールを作成するには何が必要ですか?







Dartとコード生成:手頃な価格のツール



コード生成ツールを作成するには、次の2つのパッケージが必要です。









source_gen



このパッケージは、コードを生成するための便利なAPIを提供します。 これは、 analyzerbuildなどの低レベルのDartパッケージの抽象化です。 このパッケージの使用はオプションですが、多くの困難を軽減できます。







source_genは、 Visitorパターンに従う2つの抽象ジェネレータークラスを提供します。









また、 Builder



を構成する必要があります。これは、ジェネレーターのラッパーになります。 次の3つのオプションがあります。









build_runner



このツールを使用すると、開発段階でジェネレーターを実行できます。 コマンドラインから呼び出すことができます:







 pub run build_runner <command>
      
      





<command>



代わりは<command>



とおりです。









source_gen



機能するためには、コードジェネレーターの構成の詳細を示すbuil.yaml



ファイルも作成する必要があります。







Dartコード生成を使用する



コード生成は、Dartの多くの有名なライブラリで使用されています。









もっと...



2番目の部分では、注釈とコード生成を使用して、アプリケーション内のすべてのTODO



を追跡するTODO



を示します。








All Articles