SlideShare una empresa de Scribd logo
1 de 40
Статический анализ кода  ( на примере DDD-фреймворка)   Алексеев Алексей [email_address] [email_address] Николай Гребнев [email_address] [email_address]
Структура доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Структура доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Человеческий фактор
Общепринятые методологии ,[object Object],[object Object],[object Object]
Средства разработки
Структура доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Стоимость исправления ошибок ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Стоимость исправления ошибок ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Аспекты статических проверок ,[object Object],[object Object],[object Object],[object Object]
Эффективность статических проверок ,[object Object],if  (ptr == null) Корректность if  (ptr) Лаконичность VS
Структура доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Терминология ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ВАЛИДАЦИЯ МОДЕЛИ   ВО ВРЕМЯ КОМПИЛЯЦИИ ,[object Object]
Структура доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Запросы к доменной модели ,[object Object],[object Object],SimpleQuery < Post >   q = new  SimpleQuery < Post >( @“from Post p  where p.Blog.Author = ?&quot; , author);   return  q.Execute(); from   Post  p  in  Session.Posts where  p.Blog.Author == author select  p;
Преимущества  LINQ ,[object Object],[object Object],[object Object]
Максимальная типизация в  Linq ,[object Object],[object Object],[object Object],Employee  leader = Session.Employee.First(); var  q =  from   Department  d  in  Session.Department where  d.Leader == leader select  d;
Свойства, используемые в запросах ,[object Object],[object Object],public   class   Employee { … public   bool  IsManager { get  {  return  Subordinates.Count() > 0; } } … } … var  q =  from   Employee  e  in  Session.Employee where  e.IsManager select  e; q.ToList();
Решение ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Свойства, используемые в запросах from   Employee  e  in   Session select  e.IsManager from   Employee  e  in   Session select   Subordinates.Count() > 0
Корректность  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Пример анализа  реализации ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Обнаружена циклическая зависимость
Структура доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Состояния ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Императивные проверки ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Декларативные ограничения ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Декларативные ограничения ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Структура доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Структура Крипке
Структура Крипке
CTL ,  формулы  состояний ,[object Object],[object Object],[object Object],[object Object],[object Object]
CTL ,   формулы пути ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CTL
 
 
 
 
Вопросы ? Следите за  http://team.custis.ru
Ссылки ,[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Back to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняBack to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняAlexander Granin
 
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQAFest
 
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...Iosif Itkin
 
анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
 
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1m2rus
 
20120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture0420120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture04Computer Science Club
 
Refactorings with RubyMine
Refactorings with RubyMineRefactorings with RubyMine
Refactorings with RubyMineavokin
 
Иван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковИван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковMskDotNet Community
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverIgor Khrol
 
Экономически эффективный процесс тестирования
Экономически эффективный процесс тестированияЭкономически эффективный процесс тестирования
Экономически эффективный процесс тестированияCodeFest
 
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...Ontico
 
API design in java project
API design in java projectAPI design in java project
API design in java projectchashnikov
 
C# Desktop. Занятие 14.
C# Desktop. Занятие 14.C# Desktop. Занятие 14.
C# Desktop. Занятие 14.Igor Shkulipa
 
Случайное тестирование
Случайное тестированиеСлучайное тестирование
Случайное тестированиеMarat Akhin
 
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...SQALab
 
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...QAFest
 
Регрессионное тестирование
Регрессионное тестированиеРегрессионное тестирование
Регрессионное тестированиеMarat Akhin
 
Визуализация покрытия автоматизированными UI тестами
Визуализация покрытия автоматизированными UI тестамиВизуализация покрытия автоматизированными UI тестами
Визуализация покрытия автоматизированными UI тестамиSQALab
 
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest
 

La actualidad más candente (20)

Back to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняBack to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодня
 
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
 
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
 
анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестирования
 
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1
 
20120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture0420120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture04
 
Refactorings with RubyMine
Refactorings with RubyMineRefactorings with RubyMine
Refactorings with RubyMine
 
Иван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языковИван Кочуркин. Теория и практика парсинга формальных языков
Иван Кочуркин. Теория и практика парсинга формальных языков
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
 
Экономически эффективный процесс тестирования
Экономически эффективный процесс тестированияЭкономически эффективный процесс тестирования
Экономически эффективный процесс тестирования
 
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
 
API design in java project
API design in java projectAPI design in java project
API design in java project
 
C# Desktop. Занятие 14.
C# Desktop. Занятие 14.C# Desktop. Занятие 14.
C# Desktop. Занятие 14.
 
Случайное тестирование
Случайное тестированиеСлучайное тестирование
Случайное тестирование
 
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
 
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
QA Fest 2017. Яна Кокряшкина. Интеграция автоматизированных тестов с инструме...
 
Регрессионное тестирование
Регрессионное тестированиеРегрессионное тестирование
Регрессионное тестирование
 
Визуализация покрытия автоматизированными UI тестами
Визуализация покрытия автоматизированными UI тестамиВизуализация покрытия автоматизированными UI тестами
Визуализация покрытия автоматизированными UI тестами
 
лр5ч1 2
лр5ч1 2лр5ч1 2
лр5ч1 2
 
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
 

Destacado

Пустая болтовня или эффективное совещание? – Все в руках scrum-мастера
Пустая болтовня или эффективное совещание? – Все в руках scrum-мастераПустая болтовня или эффективное совещание? – Все в руках scrum-мастера
Пустая болтовня или эффективное совещание? – Все в руках scrum-мастераngrebnev
 
Психология управления: создание самоорганизующихся процессов
Психология управления: создание самоорганизующихся процессовПсихология управления: создание самоорганизующихся процессов
Психология управления: создание самоорганизующихся процессовngrebnev
 
Test Driven Development как инструмент уменьшения кадровых рисков
Test Driven Development как инструмент уменьшения кадровых рисковTest Driven Development как инструмент уменьшения кадровых рисков
Test Driven Development как инструмент уменьшения кадровых рисковngrebnev
 
Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?ngrebnev
 
Domain Driven Design в условиях разработки распределенных приложений
Domain Driven Design в условиях разработки распределенных приложенийDomain Driven Design в условиях разработки распределенных приложений
Domain Driven Design в условиях разработки распределенных приложенийngrebnev
 
Разработчик, аналитик, заказчик — как найти общий язык?
Разработчик, аналитик, заказчик — как найти общий язык?Разработчик, аналитик, заказчик — как найти общий язык?
Разработчик, аналитик, заказчик — как найти общий язык?ngrebnev
 

Destacado (6)

Пустая болтовня или эффективное совещание? – Все в руках scrum-мастера
Пустая болтовня или эффективное совещание? – Все в руках scrum-мастераПустая болтовня или эффективное совещание? – Все в руках scrum-мастера
Пустая болтовня или эффективное совещание? – Все в руках scrum-мастера
 
Психология управления: создание самоорганизующихся процессов
Психология управления: создание самоорганизующихся процессовПсихология управления: создание самоорганизующихся процессов
Психология управления: создание самоорганизующихся процессов
 
Test Driven Development как инструмент уменьшения кадровых рисков
Test Driven Development как инструмент уменьшения кадровых рисковTest Driven Development как инструмент уменьшения кадровых рисков
Test Driven Development как инструмент уменьшения кадровых рисков
 
Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?
 
Domain Driven Design в условиях разработки распределенных приложений
Domain Driven Design в условиях разработки распределенных приложенийDomain Driven Design в условиях разработки распределенных приложений
Domain Driven Design в условиях разработки распределенных приложений
 
Разработчик, аналитик, заказчик — как найти общий язык?
Разработчик, аналитик, заказчик — как найти общий язык?Разработчик, аналитик, заказчик — как найти общий язык?
Разработчик, аналитик, заказчик — как найти общий язык?
 

Similar a Cтатический анализ кода (на примере DDD-фреймворка)

Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
 
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0matroskin1980
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1Michael Karpov
 
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Yandex
 
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)Ontico
 
Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2Oleksii Okhrymenko
 
Django шахрай. версия 4
Django шахрай. версия 4Django шахрай. версия 4
Django шахрай. версия 4smikler
 
Cтиль программирования
Cтиль программированияCтиль программирования
Cтиль программированияConstantin Kichinsky
 
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...MoscowJS
 
паттерны программирования
паттерны программированияпаттерны программирования
паттерны программированияguestfc8ae0
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.Igor Shkulipa
 
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.Fedor Malyshkin
 
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...sqadays8
 
Метапрограммирование: строим конечный автомат. Сергей Федоров ➠ CoreHard Aut...
Метапрограммирование: строим конечный автомат. Сергей Федоров ➠  CoreHard Aut...Метапрограммирование: строим конечный автомат. Сергей Федоров ➠  CoreHard Aut...
Метапрограммирование: строим конечный автомат. Сергей Федоров ➠ CoreHard Aut...corehard_by
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиMail.ru Group
 
Postman тестирование api v1.0 (1)
Postman тестирование api v1.0 (1)Postman тестирование api v1.0 (1)
Postman тестирование api v1.0 (1)DataArt
 

Similar a Cтатический анализ кода (на примере DDD-фреймворка) (20)

Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
 
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1
 
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
 
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
 
Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2
 
Django шахрай. версия 4
Django шахрай. версия 4Django шахрай. версия 4
Django шахрай. версия 4
 
Cтиль программирования
Cтиль программированияCтиль программирования
Cтиль программирования
 
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
 
паттерны программирования
паттерны программированияпаттерны программирования
паттерны программирования
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.
 
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
 
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
 
Метапрограммирование: строим конечный автомат. Сергей Федоров ➠ CoreHard Aut...
Метапрограммирование: строим конечный автомат. Сергей Федоров ➠  CoreHard Aut...Метапрограммирование: строим конечный автомат. Сергей Федоров ➠  CoreHard Aut...
Метапрограммирование: строим конечный автомат. Сергей Федоров ➠ CoreHard Aut...
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
 
Postman тестирование api v1.0 (1)
Postman тестирование api v1.0 (1)Postman тестирование api v1.0 (1)
Postman тестирование api v1.0 (1)
 
Qt tool evaluation
Qt tool evaluationQt tool evaluation
Qt tool evaluation
 
Введение в Django
Введение в DjangoВведение в Django
Введение в Django
 
The Best Portlet
The Best PortletThe Best Portlet
The Best Portlet
 
Net 3.0 & Linq
Net 3.0 & LinqNet 3.0 & Linq
Net 3.0 & Linq
 

Cтатический анализ кода (на примере DDD-фреймворка)

Notas del editor

  1. 17:30 Отдел технол. Развития DDD- фреймворк для прикладных разработчиков
  2. 17:35
  3. 17:35
  4. Человеческий фактор – причина многих проблем. В разработке ПО является одним из ключевых.
  5. Можно решить проблему методологией, а можно – техникой (инфраструктурой). Если техникой получается сделать хорошо – то лучше техникой. Дальше будем говорить именно про технические средства
  6. 17:35
  7. Анимировать по строчкам?
  8. Диагностика должна быть понятной, достаточно подробной, локальной Проверки не должны существенно замедлять цикл сборки Жесткость модели?
  9. В промышленном ПО важнее корректность, предсказуемость
  10. 17:35
  11. Фреймворк для построения бизнес-логики в терминах модели предметной области ( DDD) Доп. этап «посткомпиляции», где осуществляются проверки модели доменной области
  12. 17:35
  13. * Статическая проверка, is
  14. 17:35
  15. 17:35
  16. Доменная модель страхового случая.