Персональные инструменты
 

Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели (Алексей Алексеев и Николай Гребнев на ADD-2010)

Материал из CustisWiki

Версия от 19:17, 16 ноября 2011; StasFomin (обсуждение | вклад) (Примечания)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

Аннотация

Алексей Алексеев и Николай Гребнев рассказали, как при разработке бизнес-приложений в модели Domain-driven design они предупреждают ошибки программиста с помощью статического анализа кода и доменной модели. А именно: возможности ORM-платформы по статическому анализу, преимущества широкого использования Linq, декларативных ограничений, модель состояний и формальной верификации элементов доменной модели.

  • В чем заключается удобство разработчика по использованию статического анализа и простота применения механизмов для задания формальных ограничений на модель предметной области. Интеграция средств статического анализа ORM в среду разработки, невозможность игнорирования ошибок, гарантия прохождения всех статических проверок до первого запуска программы.
  • Ограниченные возможности запросов Linq к модели предметной области по сравнению с Linq to Objects и пути их преодоления.
  • Как обстоят дела с аналогичными механизмами в других ORM-системах и почему они решили реализовать собственную платформу для поддержки разработки в рамках DDD.

Видео

Видео в HD-качестве, смотрите в полноэкранном режиме.

HTML-код включения <iframe src="http://player.vimeo.com/video/17774985?byline=0&portrait=0" width="720" height="405" frameborder="0"></iframe>


Подкаст

Презентация

Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели.pdf


Примечания


Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели (Алексей Алексеев и Николай Гребнев на ADD-2010)

Впервые пришлось выступать перед таким количеством народа. Волновался ровно столько сколько должен был на первом выступлении.

К сожалению, видимо, мало кто что понял, и были даже курьезные комментарии/вопросы:

  • В twitter: «Я рад за custis, у них есть модный фреймворк для анализа кода»
  • Вопрос из зала: «То есть вы сделали костыли для LINQ на CLR-свойствах?»
  • На следующий день докладчик, рассказывавший про статический анализ, сказал, что мы не анализируем код, хотя пример с расширениями LINQ демонстрировал места, где мы влезаем и анализируем код.

Был правда человек, который много во что врубился, и задал много правильных вопросов, не зная ни C#, ни Model checking. Еще человек, не слушавший доклад, в коридоре попросил бегло повторить доклад). Доклад вроде бы понравился нашим.

Итого: надо работать надо последовательностью изложения. Еще для выступления на SECR сделать попсовее, там-то точно не поймут.

Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели (Алексей Алексеев и Николай Гребнев на ADD-2010)
Алексей Алексеев, Николай Гребнев
Докладывались наши парни, по сути ничего не буду писать, можно их здесь опросить в любое время. По форме. Материал, на котором базировался доклад был очень достойный, чувствовалась реальная работа за плечами. В конце вопросов народ назадавал, как ни у кого другого. Но доклад был не самый зажигательный, чувствовался недостаток опыта у выступающих. Подслушал случайно одного из посетителей конференции на следующий день, про этот доклад он говорил так: «много кода, маленькие буквы, ничего не понятно».

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


Репликация: База Знаний «Заказных Информ Систем» → «Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели (Алексей Алексеев и Николай Гребнев на ADD-2010)»