🐙

今日のコード(3)

2023/02/22に公開

同じようなコードを何度も書きたくなくて mustache

  • 色んなツールを駆使してソースコードを作ります。手順はJavaじゃなくても使えます。
  • mustache のインストールに npm コマンド使うのでNodeJSは別途インストールしてください。
    (他のプログラミング言語でインストールしたい場合はご自分でどうぞ)

今回の手順

元データ側

mustache

  1. Excelで横並びのデータをコピーし、縦並びへ貼り付ける
  2. 縦並びにしたセルをコピーし、テキストエディタへ貼り付ける
  3. 正規表現で mustache に渡すJSON用に置き換える
  4. 置き換えた文字列群をJSONファイルとして作る
  5. mustache テンプレートファイルを作る
  6. mustache をインストール
  7. mustache で実行する

1. Excelで横並びのデータをコピーし、縦並びへ貼り付ける

範囲コピー -> 「形式を選択して貼り付け」 -> 「行列を入れ替える」 -> 貼り付け

2. 縦並びにしたセルをコピーし、テキストエディタへ貼り付ける

省略

3. 正規表現で mustache に渡すJSON用に置き換える

^(.*)$ -> "\1",

4. 置き換えた文字列群をJSONファイルとして作る

元ファイル

{
  "data": [
  ]
}

置き換えた文字列を貼り付けた後 data.json

{
  "data": [
     "項目A",
     "項目B",
     "項目C"
  ]
}

5. mustache テンプレートファイルを作る

{{.}} に配列の要素が入ります。以下のコードはサンプルなので意味ないコードです。

template.mustache

{{#data}}
        put("{{.}}", "{{.}}");
{{/data}}

6. mustache をインストール

npm --install --global mustache

7. mustache で実行する

mustache  data.json  template.mustache  output.java

実行結果 output.java

        put("項目A", "項目A");
	put("項目B", "項目B");
	put("項目C", "項目C");

サンプルは単純なものですが、フレームワーク作っちゃえば高速なコード生成が可能になります。
もし煩雑なコーディングをしている場合は mustache で高速化してしまいましょう。
煩雑なコーディングは設計をシンプルに出来るチャンスでもありますから。
(複雑なコードは百害あって一利なし・・・)

Discussion