Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

モデル駆動ソフトウェア開発のベストプラクティス

# Separate the generated and manual code from each other
# Don't check-in generated code
# Integrate the generator into the build process
# Use the resources of the target platform
# Generate clean code
# Use the complier
# Talk in Metamodelese
# Develop DSLs iteratively
# Develop model-validation iteratively
# Test the generator using a reference model
# Select suitable technology
# Use textual syntax correctly
# Use Configuration By Exception
# Teamwork loves textual DSLs
# Use model-transformation to reduce complexity
# Generate towards a comprehensive platform

InfoQ: Article: Best Practices for Model-Driven Software Development
  • 自動生成したコードと手で書いたコードを分離せよ
  • 自動生成したコードをチェックインしない
  • ビルドプロセスにジェネレーターを統合せよ
  • 対象プラットフォームのリソースを使用せよ
  • きれいなコードを生成せよ
  • コンパイラを使用せよ
  • メタモデル風を軽視せよ
  • DSLをイテレーティブに開発せよ
  • モデルのバリデーションをイテレーティブに開発せよ
  • 参照モデルを使ってジェネレーターをテストせよ
  • 適切なテクノロジを選択せよ
  • 原文の文法を正確に使用せよ
  • 例外による設定を使用せよ(適切なデフォルト値を定義し、例外の場合のみ設定するようにする意味)
  • チームワークは原文に従ったDSLに宿る
  • 複雑さを減らすためにモデル変換を使用せよ
  • 包括的なプラットフォームに向けて生成せよ(広くプラットフォームに対応する意味)

Metamodeleseの訳が難しい。。。〜eseなので〜風としてみた。ちょっと微妙。あとtextualがしっくりこない。