さっきの話のつづき。
しかし、タブ区切りで、仕様書を書き出し(CSVと書いたのは、タイトル50字の制約のため、タブ区切りのほうがいい)ちゃえば、あと自動生成プログラム自体は、JavaでもC++でもOKです。
ということで、
・仕様書をタブ区切りに落とす
・雛形を作成する。
ということができれば、あとはORマッピングだろうが、テストデータ作成だろうが、スタブ作成、ドライバ作成だろうが(雛形さえかければ)自由にプログラムを自動生成できます。
(CSVでなくても、XMLでもできるが、そうしないのは、最後に理由を書く)
で、Javaでそれをつくるとすると、昨日のブログで
■■ 1.まず雛形を書きます
これは、おなじ。ただし、タグについては、CELLタグ、GYOタグなど、Excelの場合と同じようにする。
■■ 2.データを作成します。
Excelに書いた場合、それをタブ区切りファイルに書き出します。
XMLの場合、XSLTを使ったりして、タブ区切りファイルに書き出します。
■■ 3.プログラムを作成する
これは、Excel VBAでなくても、JavaでもOKです。
はじめに、データを読んでしまいます。
これは、ファイル全体を読んできたら、
まず、改行(\n)でsplitします。
そのsplitされた1行1行を、タブ(\t)でsplitすると、セルがでてきます。
解釈の方法などは、昨日と同じです。
つーことで、タブ区切りファイルにしてしまえば、Javaで、全部の世界を構築できます(C++でも)
ただし、前の例で、extendsのところ、H2のセルで、文字連結していたように、仕様書の言葉そのままを、入れるのでなければ、その例のようにワークエリアを作って、そこで文字列操作(例の場合はextendsという言葉を足してしている)を行い、その内容を、CSVファイルに書き出します。
こうしないと、Javaでこの部分を操作しなくてはならなくなり、汎用性にかけます。
で、XMLにしなかった理由は、XMLだと、DOMの操作部分で(\nの文字が1つのノードになってしまったりして)急に難易度が上がるためです。
XMLを使わない、今回の内容なら、新人研修でもできるでしょ!
昨日のブログ、見てる人が、それほど多くなかったので(212ip741位)、とりあえず、Accessでアジャイルの前に、自動生成ネタを披露してみました。Accessでアジャイルは、気が向いたら書くかも。。