Точка входа в программирование
21.4K subscribers
899 photos
163 videos
1 file
2.44K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Давайте разберём понятие TDD (Test Driven Development) простыми словами

Наверняка вам попадалась эта аббревиатура. TDD — это методология разработки, когда тесты пишутся перед написанием самого кода. Это помогает создать более качественное, надёжное и хорошо протестированное программное обеспечение.

Основная идея TDD в трёх шагах:

1. Сначала пишем тест: прежде чем писать любой код, мы сначала пишем тест, который будет проверять функциональность, которую мы собираемся реализовать. Этот тест, разумеется, на первом этапе не проходит, потому что нужная функциональность ещё не написана.
  
Представьте, что вам нужно реализовать калькулятор, который умеет складывать числа. Для начала мы напишем тест, который проверит, что функция сложения работает правильно.

2. Пишем минимально необходимый код: затем пишем минимально необходимый код, чтобы пройти этот тест. Тут главное — не стараться сразу сделать всё идеально, а только удовлетворить условия теста.

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

3. Рефакторинг: после того как тест прошел и функциональность реализована, мы приступаем к рефакторингу кода. Рефакторинг — это процесс улучшения кода без изменения его внешнего поведения. Здесь мы можем сделать свой код более понятным, оптимизированным или избавить его от повторений.

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

Преимущества TDD:

— повышенная надежность кода: поскольку при TDD сначала пишутся тесты, это помогает ловить ошибки на ранних стадиях разработки;
— уверенность при изменениях: если нужно внести изменения в код, вы можете быть уверены, что всей функциональности, покрытой тестами, изменения не повредят;
— чёткая спецификация: тесты действуют как живая документация, описывающая, что ваш код должен делать.

Недостатки TDD:

— начальная медленность: может показаться, что работа идет медленнее, потому что вам нужно сначала писать тесты. Однако в долгосрочной перспективе это может сэкономить время на отладку и исправление ошибок;
— зависимость от качества тестов: если тесты написаны некачественно, это может привести к ложному чувству уверенности в правильности кода.

#советы #методология