Skip to content

Latest commit

 

History

History
73 lines (40 loc) · 4.65 KB

lesson6-1.md

File metadata and controls

73 lines (40 loc) · 4.65 KB

Модуль 6, Урок №1. Оптимизация БД и "жесткие" связи

Полезные ссылки

Индексы в SQL Server

Нормальные формы

STUPID => SOLID

Немного умных слов

Ninject

Настраиваем Ninject

Настраиваем Ninject

Регрессионное тестирование

NUnit

NUnit tutorial

Низкая скорость приложения

Не взлетает

  1. Индексы
  2. Денормализация

Запомните этого парня

Реляционная алгебра - математический спецкурс, инкапсулирующий в себе булеву алгебру, теорию множеств, дискретную математику.

Логика != производительность. И тем более != потребности бизнеса.

Сильная связанность приложения

Как не надо делать!

Уменьшайте связь между своими модулями. Связанность — это мера того, насколько связаны подпрограммы или модули.

Если внесение изменения в одном модуле в вашем приложении требует, чтобы вы изменили другой модуль, тогда связанность существует. Например, вы инстанцируете объекты в классе своего конструктора вместо передачи экземпляров как параметров. Это плохо, потому что он не допускает дальнейших изменений, такие как замена экземпляра экземпляром подкласса, объектом-mock или что бы то ни было.

Сильно связанные модули трудно повторно использовать, и также сложно тестировать.

Ставим и настраиваем Ninject

Регрессионное тестирование

Регрессионное тестирование

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

Автотесты

  1. Интеграционное

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

  1. Юнит-тестирование

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

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