Полезные конспекты книг и авторские заметки по информационным технологиям. Без формул. Алексей Сергеевич Лот

Читать онлайн.
Название Полезные конспекты книг и авторские заметки по информационным технологиям. Без формул
Автор произведения Алексей Сергеевич Лот
Жанр
Серия
Издательство
Год выпуска 0
isbn 9785006032576



Скачать книгу

определены в контексте потребностей вызывающей стороны.

      Инкапсулированы вызовы сторонних API.

      Для обработки особых случаев использовать паттерн особый случай.

      Вместо null выдается исключение или особый случай.

      Для API, возвращающего null, – делать обертки.

      Не возвращать null из методов.

      Не передавать null при вызове методов.

      Запрещать передачу null по умолчанию.

      Чистый код должен быть надежным.

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

      Ограничить передачу граничных интерфейсов по платформе (можно инкапсулировать).

      Для стороннего кода писать тесты.

      Сторонний код тестировать в рамках понимания его работы.

      Конструкторы по умолчанию должны иметь конфигурацию.

      Писать учебные тесты, граничные тесты.

      Можно заранее определять интерфейсы, затем писать паттерн-адаптер к готовым.

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

      Количество обращений к границам стороннего кода сводится к минимуму.

      Законы TDD:

      – не пишите код продукта, пока не напишете отказной модульный тест;

      – не пишите модульный тест в объеме большем, чем необходимо для отказа (невозможность компиляции является отказом);

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

      Тесты не уступают в качестве коду продукта.

      Тесты развиваются вместе с продуктом.

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

      Без тестов любое изменение становится потенциальной ошибкой.

      Некачественные тесты приводят к некачественному коду продукта.

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

      В тестах использовать паттерн «построение – операции – проверка».

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

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

      Код тестов не такой эффективный, как код продукта.

      Чтобы избежать дублирования, можно воспользоваться паттерном шаблонный метод.

      Не более 1 assert в функции теста.

      Одна концепция в тесте (1 тест – 1 проверка).

      Характеристики чистых тестов:

      – тесты должны выполняться быстро;

      – тесты не зависят друг от друга;

      – тесты дают повторяемые результаты в любой среде.

      Результатом выполнения теста должен быть логический признак (результат очевиден).

      Тесты создаются своевременно непосредственно перед кодом продукта.

      Класс должен начинаться со списка переменных.

      Сначала