掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     自動生成されるコードと手動で記述したコードを別々に出力することはできますか?


フラット表示 前のトピック | 次のトピック
投稿者 トピック
sugimoto
投稿日時: 2007-4-12 14:57
EA Administrator
投稿: 1895

自動生成されるコードと手動で記述したコードを別々に出力することはできますか?

○ご質問

以下の1)、2)の規模を測定したいと考えています。

1)EAで自動生成されるコード規模
2)開発者が手作業で記述するメソッド内処理の規模

EAの自動生成部分のみを出力する機能、あるいは、
手作業で入力した処理のみを出力する機能など、
分離して出力する機能はありますでしょうか?


○回答

1)は操作の"既定のソース"を除くソースコード生成
2)は操作の"既定のソース"のみのソースコード生成
という前提で回答させていただきます。

現状は設定などで、1)や2)の各内容を出力するような機能はありませんが、
コード生成テンプレートを編集することで対応することは可能です。

1)コード生成テンプレートの"Operation Body"内にある、opCode(既定のソース)
出力に関する以下の4行を外すことで、実現可能です。
(プログラム言語によっては、以下4行の記述が多少異なります。)

%if opCode != ""%
%WRAP_LINES(opCode, "-1", "\t", "")%
\n}
%else%


2)コード生成テンプレートにて、上記で削除した内容のみを記述した
テンプレートを作成することで実現可能です。
ただし、この場合は、コンパイルなどは通りません。

例えば、新規テンプレートとして対象の種類をOperation、テンプレート
名をCodeOnlyとして作成し、その中に、上記4行から改行と"}"の出力を
除いた内容を記載します。
%if opCode != ""%
%WRAP_LINES(opCode, "-1", "\t", "")%
%endTemplate%

Javaの場合であれば、Fileテンプレートの既存の記述を全て削除し、
作成したテンプレートを呼ぶ以下の記述をすることで、対応可能です。
%list="Operation__CodeOnly" @separator="\n"%

もしくは、全体のコード規模から1)の規模を引いてください。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » 自動生成されるコードと手動で記述したコードを別々に出力することはできますか? sugimoto 2007-4-12 14:57