Решение задач

Решение задач

Решение задач

Программирование - это всегда решение каких-то задач, неважно с какой областью оно связано.

Для того, чтобы решать задачу было легко, ее необходимо декомпозировать (разбить на более мелкие). Причём это полезно не только в программировании.

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

Давайте рассмотрим пример из жизни, например, подготовка к свадьбе. Это большая задача, в которой непонятно с чего начать. Но мы можем ее разбить на мелкие задачи:

  • Найти ресторан
  • Подобрать меню
  • Найти ведущего
  • Заказать приглашения для гостей и разослать их
  • Купить платье
  • Купить костюм
  • и т.д.

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

  • Запросить доступ к контактной книге
  • Получить список контактов из контактной книги
  • Отправить их на сервер
  • Сохранить ответ сервера в базе, чтобы показывать контакты пользователю
  • При изменении данных в контактной книге отправлять новые данные на сервер
  • Добавить возможность отключения синхронизации

Это вполне себе реальный пример, который решён в WhatsApp, Facebook, Telegram, Instagram, VK, Tinkoff и других приложениях, работающих с контактами.

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

4 января 2022 г.