Я преподавал разработку программного обеспечения последние 4 года и обучил более 200 разработчиков. После выпуска более 200 разработчиков я начал замечать множество закономерностей в их обучении и поведении. Одна из самых важных вещей, которые я замечаю среди новых разработчиков, - это то, что они не могут изолировать проблему от общей картины. Результат - разочарование и потеря производительности, которых можно было избежать.

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

Как изолировать проблему?

Основная идея «Изолировать проблему» - извлечь проблему из исходного контекста и попытаться решить ее самостоятельно. Такой подход позволит сосредоточиться на проблеме, и вас не будут беспокоить другие сложности приложения.

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

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

Вы можете использовать различные инструменты для подтверждения правильности небольшого участка кода. Я считаю, что Xcode Playgrounds чрезвычайно полезны. Просто реализуйте алгоритм в Playgrounds, заставьте его работать, и все готово. Как только код заработает, вы можете интегрировать его с реальным приложением.

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

Вступает в демонстрационные проекты!

Демонстрационные проекты

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

На прошлой неделе, работая над проектом Flutter, мне пришлось создать демонстрационный проект для тестирования пакета провайдера. Мне удалось быстро найти и решить проблему, поскольку я был сосредоточен на самой проблеме, а не на приложении в целом.

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

Если вам понравилась эта статья и вы хотите поддержать мою работу, загляните на мои курсы Udemy.