ГоловнаНовиниКак тесты помогают разработчику стать более продуктивным

Как тесты помогают разработчику стать более продуктивным

4 роки назад

У разработчика, как и у писателя, случается творческий кризис. Только вместо пустых книжных листов дело обстоит с пустым монитором. Код не приходит в голову, а осознание того, что не знаешь, с чего начать или как продолжить, пугает еще больше. Если вам знакомо такое состояние, то продолжайте читать статью. Мы расскажем, как можно побороть подобный «блок».

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

Не переживайте, потому что есть верный способ избавиться от такой привычки и стать более продуктивным. Вместо того, чтобы вытаскивать из себя код, просто заставьте свой мозг работать. Художник, сталкиваясь с творческим блоком, зарисовывает эскизы и скетчи. Писатель — составляет план, тезисы, выписывает мысли на бумагу. А разработчик может начать писать тесты, используя их, как схему.

Главная задача в данном подходе — это написать хороший тест, и не тратить много времени на его запуск или на чтение библиотеки тестовой документации.

Ниже представлены способы, как использовать тесты, чтобы писать код эффективнее.

 

Прием «красный-зеленый-рефакторинг»

Существует две цели использования такого приема. Первая задача — крашинг теста, когда что-то не так. Вторая — прерывание теста до того момента, как он выполнит то, что ожидаете. Так можно немедленно узнать, правильно ли вы написали свой код.

 

Тестирование кода, а после написание логики

Тест не проходит — именно с этого надо начать. Справедливо задаться вопросом, а как это поможет писать код быстрее. Во-первых, вы преодолеете свой ментальный блок, так как начали что-то делать. Во-вторых, код будет делать то, что вы ожидаете, так как он уже проверен благодаря тестам. У вас намного меньше шансов получить какие-либо «сюрпризы» в будущем, потому что набор тестов автоматически проверяет каждый символ кода.

 

Быстрое тестирование

Ваша цель — запустить тысячи тестов за пару секунд.
Для выполнения быстрого тестирования необходимы такие условия, как быстрый код, юнит-тесты без дорогих операций «входы-выходы», быстрый тест раннер, облегченная библиотека утверждений.

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

 

Простые тесты

Быстрый тест значит простой тест. Не должно быть сложных команд для запуска, сложного API. Следует избегать тестовых хуков, которые могут разрушать ваши тесты. Должна быть простая функция настройки, также позволяющая вернуть все, что нужно для тестов.

 

Сниппеты

Определенные тесты вы будете писать снова и снова. Вероятно, у вас будут одни и те же импорты для тестов. Чтобы сэкономить время, используйте сниппеты. Неважно, используете ли вы полную IDE или простой редактор, такой как Vim. Вы легко можете сделать сниппет. Они также полезны, если вы запускаете общие тесты.

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

1054
0
Дивіться також
LinkedIn планує додати в свій функціонал перегляд коротких відео, подібно YouTube Shorts. Цю інформацію TechCrunch підтвердила безпосередньо сама компанія. LinkedIn ...
Криптоплатежі мають багатообіцяльні перспективи застосування як у цифровій, так і традиційній економіці. Прогнозують, що до 2029 року середньорічний темп зростання криптовалютних ...
Компанія Google випустила рекламний ролик, де вона висміяла відсутність функції Circle to Search у iPhone, підкреслюючи переваги своїх власних продуктів. [embed]https://www.youtube.com/watch?time_continue=3&v=lEynMGsxpns&embeds_referring_euri=https%3A%2F%2Fspeka.media%2F&source_ve_path=Mjg2NjQsMjg2NjY&feature=emb_logo[/embed] ...