Отказ от ответственности: все мнения являются моими собственными

Мы все были там — вы работаете над изменением и тестируете локально, будь то на телефоне, веб-сайте, клиентской панели или чем-то еще. Изменения работают так, как вы ожидаете, а затем вы делаете то, что делают все хорошие инженеры: повторно запускаете модульные тесты.

И все идет к чертям. В смысле, совсем чокнутый. Тесты в классах через 4 пакета начинают давать сбой. Везде красный цвет: ошибки в консоли, красные крестики в вашей IDE и красные в вашем мозгу. Возможно, первым вашим побуждением будет выбросить ноутбук в окно.

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

Затем нажмите эту удобную кнопку «повторно запустить неудачные тесты», но прежде чем вы снова сделаете паузу и спросите себя: «Что, по моему мнению, произойдет?»

Зеленые галочки в IDE ужасно радуют. Я обнаружил (к своему собственному смущению), что в основном живу ради того, чтобы видеть маленькие зеленые галочки на экране своего компьютера.

Вот обязательный XKCD:

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

Легко слишком сосредоточиться на конечном результате — сделать все эти чеки зелеными. Но полезнее спросить себя: «Что я ожидаю увидеть?»

Вы ожидаете, что ошибка изменится? Ожидаете ли вы, что приложение выдаст вам другую ошибку? Ожидаете ли вы увидеть другое сообщение журнала?

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

По мере того, как вы становитесь все более и более продвинутым, вы начнете думать про себя: «Что я ожидаю, и почему?»

И это реальный момент, когда вы начинаете добиваться прогресса не только в восстановлении этих зеленых чеков, но и в создании качественного программного обеспечения.