Зачем нам все еще нужен сгенерированный код? - PullRequest
8 голосов
/ 14 февраля 2010

Я видел множество фреймворков, которые генерируют приложения-заглушки, например, Ruby on Rails, где большая часть кода используется для логики бизнес-области, но почему мы до сих пор генерировали код. Разве библиотека не будет лучше?

Ответы [ 3 ]

7 голосов
/ 14 февраля 2010

Существуют как оправданные, так и неоправданные случаи генерации кода. Однако правильная генерация кода может привести к следующим преимуществам:

  1. Оптимальный код времени выполнения - библиотеки обрабатывают вещи во время выполнения, тогда как вы можете исключить много оборудования времени выполнения, анализируя структуру кода во время генерации.
  2. Устранение ошибок введено при выполнении повторяющейся работы.
  3. Лучшее понимание вашего кода, генерация обычно приводит к «модели» более высокого уровня; где модель используется для представления того, что должно быть сгенерировано.
  4. Сокращение LOC - тысячи строк могут привести к миллионам строк выходного кода.
3 голосов
/ 14 февраля 2010

Библиотека будет состоять из общих функций или классов, которые могут использоваться во многих приложениях. Эти рамки включают библиотеки кода.

Сгенерированный код заботится о строительных лесах, которые вам необходимо написать самостоятельно. Поскольку большинство из них довольно стандартны, их можно сгенерировать, и вы хотите изменить части, которые хотите.

1 голос
/ 14 февраля 2010

С такими методами, как LINQ, я не вижу (почти) необходимости в таких средах, как NHibernate и подобных решениях. Когда производительность является реальной проблемой, генерируемые приложения-заглушки могут работать быстрее, чем методы, основанные на таких методах, как рефлексия.

Еще одним преимуществом сгенерированного кода является то, что он компилируется и, следовательно, с меньшей вероятностью вызывает ошибки во время выполнения.

...