しかし、あなたの経験は何ですか?
私は 2 つの別々のプロジェクトを実装しました。どちらも 50 以上のモデル クラスを持つモデルを含み、どちらの場合も、モデルはプロジェクトの存続期間を通じて進化しました。つまり、多くのモデルチェンジです。どちらの場合も、生成されたコードを変更して、通常は計算された属性と検証を実装し、さまざまな方法でエディターをカスタマイズしました。
EMF は、生成されたコードの手動コード変更をどの程度うまく処理しますか?
それはうまくいきます。ジェネレーターは、モデルの変更によりコンパイルできないコードを生成することがありますが、通常、修正は簡単です。たとえば、Java クラス/インターフェースの削除、無効なインポートなど。
手動で書かれたコードを失うところまで来ましたか?
ごくたまにしか。ときどき、「生成された」マーカー コメントを削除するのを忘れて、モデルを再生成するときにメソッドが壊れてしまいます。
(それが大きな懸念事項である場合は、EMF ジェネレーターを変更して、変更をマージする前に常にソース ツリーをバックアップできると思います。)
一番いらいらしたのは、生成されたコードをフォーマットしなければならなかったことだと思います。残念ながら、Eclipse のコード フォーマッタは非常に粗雑ですが、手動で再フォーマットすると、次に再生成したときにフォーマットの変更が失われます。しかし、それはただイライラするだけです...回避するためにフープを飛び越える価値のあるものではありません.
コードが保守不可能な状態になったことはありますか?
いいえ。決して。
consta_a の回答を読むと、生成された EMF クラスを常にバージョン管理にチェックインしていたことを思い出します。これは、長期的に手作業による編集が失われないようにする最善の方法です。
2018 年の更新: 私が話していた 2 つの EMF プロジェクトは 2008 年以前に発生しました。それ以降、EMF の世界では状況が変わっている可能性があります。私は追跡していません。