Перейти к содержанию

Решаем задачу вслух

На живой задаче оценивается не только окончательный ответ, но и видимый ход работы. Разберём, как уточнять условия, выбирать простой вариант и проверять его. Учебная задача Анны — найти карточки каталога по введённой строке.

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

Условие до решения

Пусть в каталоге два названия: «Основы HTML» и «Формы в вебе». Пользователь вводит строку. Перед реализацией Анна спрашивает: ищем ли подстроку, учитываем ли регистр, что делать с пустым запросом и сохраняем ли исходный порядок?

Ответы для упражнения: ищем подстроку без учёта регистра, пустой запрос возвращает весь список, порядок сохраняется. Теперь условие стало проверяемым. Если начать с кода до этих уточнений, можно получить правильную программу для другой задачи.

Минимальный алгоритм

Анна описывает шаги: привести запрос к выбранной форме, пройти по карточкам, сравнить подготовленное название с запросом, сохранить совпавшие элементы. Отдельно объясняет, что исходные данные остаются доступными для следующего ввода.

Фраза «использую фильтр» недостаточна сама по себе. Нужно сказать, что именно является условием отбора и какой результат получает интерфейс. Если задача требует учитывать пробелы по краям, это условие добавляется явно, а не подразумевается.

На этом этапе не нужны сортировка, подсветка совпадений и серверный поиск. Они увеличивают объём и отвлекают от согласованного результата. Сначала завершите минимальную задачу.

Таблица ожидаемых результатов

Запрос Ожидаемый список в упражнении
HTML Основы HTML
формы Формы в вебе
неизвестное Пустой список
Пустая строка Обе карточки в исходном порядке

Таблица позволяет проверить решение без субъективного «выглядит нормально». После реализации сравните фактическое поведение с этими ожиданиями. Если оно отличается, назовите наблюдение и найдите причину.

Дополнительный вопрос может изменить задачу: теперь нужно искать только по началу названия. Сохраните прежние данные и замените одно условие. Объясните, какие строки таблицы изменятся. Так видно, что вы понимаете зависимость результата от правила.

Мысли вслух и пауза

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

При ошибке отделяйте факт от догадки. «Пустой запрос не возвращает список» — факт проверки. «Кажется, теряются исходные данные» — гипотеза. Подтвердите её просмотром нужного участка, прежде чем менять несколько частей одновременно.

Для дизайнерской задачи аналогично уточняют сценарий и ограничения; для QA — ожидаемое поведение и условия; для SEO — источник данных и допустимый вывод. Результат урока — видимый процесс, где каждый шаг связан с условием, а завершение подтверждается проверкой.

Оглавление курса · Карьера и поиск работы