Тел.: +7 (4872) 33-79-06 E-mail: info@smartbear.ru

TestComplete Code Cleanup Day

Я долго думал, как рассказать эту историю. Сначала собирался так:

В майский полдень года такого-то от события такого-то я и еще множество служащих Короне мужей из достойных домов были призваны к трону. Государь желал устроить своебразный турнир среди нас. Состязание должно было продлиться весь следующий день, на протяжении которого мы – отборные гвардейцы, дворяне, сыскавшие немалую славу на полях сражений, – могли показать себя... в уборке казарм и чистке конюшен.

Осознав, что для правильного подбора всех метафор мне потребуется целый коллектив ghost writer’ов, я попробовал пожонглировать рифмами:

Чтоб очистить код продукта

От следов медвежьих лап,

В мае, в среду, прямо утром

Стартовал наш code cleanup.

Получилось так себе. В итоге было принято решение рассказать все скучной прозой. Терпите.

Как вы уже поняли, мы провели Code Cleanup Day. Это мероприятие коснулось проекта TestComplete. Идея заключается в том, что все разработчики в течении целого дня занимаются не текущими задачами, а ищут проблемные места в программном коде продукта. И исправляют их.

Руководство сообщило, что все изменения, внесенные в течении Code Cleanup Day будут проанализированы, а программисты, сделавшие их, по результатам голосования могут претендовать на победу в нескольких номинациях:

  • За исправление самого старого кода!
  • За исправление самого страшного кода!
  • За самое красивое исправление!

Утром 24 мая 2017 года первый официальный Code Cleanup Day в проекте TestComplete стартовал. О том дне я помню мало. Потому что все 14 разработчиков ответственно подошли к задаче и, не поднимая головы, улучшали программный код. Мы ж программисты, все программисты так делают.

Без сомнений, изменения, сделанные в тот знаковый день, сделали TestComplete более качественным. А те изменения, которые не улучшили продукт, мы откатили. Так что вы можете и дальше безбоязненно летать самолетами компании Boeing, которая использует TestComplete для тестирования своих программных систем. Но инструктаж бортпроводников все равно слушайте!

На следующий день вся команда собралась, и каждый рассказал о тех изменениях, которые он внес. Были составлены списки номинантов, и началось вполне себе демократическое голосование. Когда победители были определены, нас ждал большой сюрприз. Оказывается, что за такую положительную активность, повышающую качество продукта, еще и призы положены! Герои были незамедлительно вознаграждены.

Приз за исправление самого старого кода получил Сергей Данилов.

Он улучшил индикатор, отображающий статус проигрывания теста, заменив устаревшие части (некоторым было уже 17 лет!) на более современный и легкий в сопровождении код. И все это плюсом к обновленному Сергеем виду индикатора в одном из следущих обновлений TestComplete. Ура Сергею! И торт с динозавром!

Победителем в номинации "За исправление самого страшного кода!" стал Сергей Осташев.

Он значительно улучшил довольно запутанный код в той части TestComplete, которая подготавливает Apple iOS-приложения для тестирования. Сергей проникся девизом “Think Different" и придумал, как написать тот код таким образом, чтобы его последующая поддержка не причиняла боли, а превратилась в удовольствие. Честь и хвала Сергею! А еще тортик со страшным пауком!

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

Он убрал дублирование в коде панели записи теста, воспользовавшись сuriously recurring template pattern. Кстати, спасибо Славе за то, что он обогатил наш словарный запас этим термином. Паттерн этот мы использовали много раз, но не знали, что у него есть приличное название. Ура Славе! А еще тортик с красивым цветком за красивое решение!

Команда TestComplete хорошо показала себя на первом Code Cleаnup Day. Это был интересный опыт для всех нас. А еще мы всей компанией съели огромный вкусный торт:

Закончить я все-таки решил стихами:

Код TestComplete’а лучше стал,

А я писать статью устал.

Максим Терехов