-
Рефакторинг. Эпизод III. Unit-тесты
Jun 8, 2025
-
5 мин. чтения
-
сборник_тематических_материалов
разработка_ПО
рефакторинг
«Задумывались ли вы, зачем у машины тормоза? Инженеры изобрели машину, чтобы быстрее перемещать людей. Но зачем они добавили в неё подсистему, которая замедляет перемещение и противоречит цели изобретения? В теории машина может ехать настолько быстро, насколько это позволяет двигатель, особенно на прямой дороге. Но именно благодаря тормозам машина будет ехать быстро: без них вы бы и не рискнули разгоняться на реальных дорогах. Тесты нужны для этого же: чтобы «разогнавшись» вы могли безопасно изменить «траекторию» своего продукта». – Kevlin Henney.
В этом эпизоде мы поговорим о горячей теме unit-тестирования. Из материалов вы узнаете:
- откуда такой разброд и шатание в понимании людей что такое unit-тест,
- что мы хотим от тестов, а что получаем в итоге,
- как писать тесты так, чтобы со временем не захотелось их удалить.
-
Рефакторинг. Эпизод II. Механика процесса
Jun 1, 2025
-
2 мин. чтения
-
сборник_тематических_материалов
разработка_ПО
рефакторинг
На первый взгляд может показаться, что рефакторинг – дело не хитрое: меняй названия функций и объектов/структур/полей, разделяй/объединяй код. Но главный риск наивного подхода в том, чтобы в процессе пересборки движка он может перестать крутить колёса. Корректность небольших косметических изменений можно доказать внимательным чтением кода. Но что, если изменения в коде начинают распространяться далеко за границами того, что первоначально планировали изменить, и нарастают как снежный ком? О том, как научиться делать рефакторинг «at scale» и пойдёт сегодня речь.
-
Рефакторинг. Эпизод I. Мотивация изучения
May 25, 2025
-
3 мин. чтения
-
сборник_тематических_материалов
разработка_ПО
рефакторинг
Это первая статья из цикла, который я посвящу рефакторингу программного кода. Больше года я изучал материалы по этому навыку и, наконец, решил поделиться своими находками с вами. Тема оказалась настолько глубока и широка, что я даже не буду пытаться пересказывать всю мудрость, которой напитался за это время, но попытаюсь структурировать подход к её изучению. На каждом этапе я буду делать обзор материалов (книг и докладов), которые помогут вам разобраться с каждым кусочком этого паззла. Тут не будет абстрактных банальностей «хорошо делай – хорошо будет». Только мясо от экспертов из отрасли, чьи работы меня впечатлили.
Абстракции сложны для человека, т.к. мы привыкли оперировать тем, что ощущаем. Когда же речь заходит о их перестройке в сложной системе, мозг того и гляди наровит вообще выйти из чата. Поэтому, чтобы начать сталкиваться с подобным не только в рабочие часы, но и в свободное время, неплохо бы сперва убедиться, что у вас есть достаточный запал, который будет поддерживать всю дорогу. Как я нашёл его в себе, почему именно сейчас – об этом в первом эпизоде.
-
Проблемы гистограмм Prometheus. Моя новая статья Хабре
Apr 12, 2025
-
1 мин. чтения
-
ozon
разработка_ПО
В корпоративном блоге Ozon Tech на Хабре опубликована моя статья, которую я писал почти пол года. В ней вы узнаете, как один, казалось бы, невинный вопрос о странных графиках породил глубокое исследование проблемы достоверности метрик Prometheus.
Статья получилась большая, но она определённо стоит вашего внимания. В ней есть то, о чём не говорят в обучающих материалах «Как добавить метрики в своё приложение за 5 минут», но что важно понимать, если вы хотите делать правильные выводы из получившихся графиков.
-
Отзыв на второе издание «Release It! Design and Deploy Production-Ready Software» Michael Nygard
Jan 5, 2025
-
2 мин. чтения
-
рецензия
разработка_ПО