Решение задач
Опубликовано:
Решение задач
Программирование - это всегда решение каких-то задач, неважно с какой областью оно связано.
Для того, чтобы решать задачу было легко, ее необходимо декомпозировать (разбить на более мелкие). Причём это полезно не только в программировании.
К большой и сложной задаче тяжело подступиться, непонятно с чего начать. После декомпозиции получаются задачи поменьше, решая которые, в результате получится решение большой задачи.
Давайте рассмотрим пример из жизни, например, подготовка к свадьбе. Это большая задача, в которой непонятно с чего начать. Но мы можем ее разбить на мелкие задачи:
- Найти ресторан
- Подобрать меню
- Найти ведущего
- Заказать приглашения для гостей и разослать их
- Купить платье
- Купить костюм и т.д.
После разбития на более мелкие задачи все становится проще. В программировании все точно так же, например, нам надо добавить в приложение синхронизацию контактов с сервером. Звучит страшно и непонятно, но на деле:
- Запросить доступ к контактной книге
- Получить список контактов из контактной книги
- Отправить их на сервер
- Сохранить ответ сервера в базе, чтобы показывать контакты пользователю
- При изменении данных в контактной книге отправлять новые данные на сервер
- Добавить возможность отключения синхронизации
Это вполне себе реальный пример, который решён в WhatsApp, Facebook, Telegram, Instagram, VK, Tinkoff и других приложениях, работающих с контактами.
Любую сложную задачу до начала программирования желательно разбить на такие мелкие задачи и решать каждую из них, в результате вы получите реализацию вашей основной задачи.