Задавать вопросы, а не перебирать варианты

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

Это, конечно, полная херня: у меня не завелась машина, я садился в нее и с пассажирского, и с водительского сиденья, но она все равно не заводится. Как поправить?

Чтобы вырасти как программист, нужно научиться решать проблемы не перебором, гаданием и случайными манипуляциями в коде, а железобетонным научным методом: задавать себе вопрос «Почему?» до тех пор, пока не станет понятна суть проблемы. Например:
— Я поменял вот эту строчку, чтобы починить X, а теперь у меня в консоли полно 404 ошибок.

— Почему полно 404 ошибок?

— Потому что мы делаем запрос, в ответ на который приходит 404.

— Почему приходит 404?

— Потому что мы либо собрали неправильный урл, либо по этому адресу запросы никто не обрабатывает.

— Окей, обработчики точно в порядке.

— Почему урл неправильный?

— Потому что мы забыли /scope/ в начале.

— Почему мы забыли /scope/ в урле, почему его там не оказалось?

— Потому что я поменял строчку с идентификатором страницы, из которого собирается и урл для запросов к АПИ.

Бум! Вот и причина проблемы, теперь решение будет легко найти.

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

См. также:
https://bureau.ru/soviet/20180621/

P. S. Ещё больше постов о программировании, тестах и культуре разработки у меня в Телеграме.