При рефакторинге длинных простыней кода я пользуюсь приёмом, который называю составлением плана.
Чтобы составить качественный план текста, необходимо тщательно с ним ознакомиться и найти все «главные мысли» — для этого необходимо уметь отличать значимое от второстепенного.
Применительно к коду это означает обнаружение всех промежуточных действий, которые выполняются на пути к конечной цели.
Пример: код для отправки покупателям интернет-магазина рассылки с рекомендуемыми новинками. Значимыми действиями тут будут:
- получение списка покупателей, на которых потенциально можно сделать рассылку
- для каждого покупателя:
- получение списка подходящих новинок
- определение необходимости отправки сообщения (подходящие новинки найдены и с предыдущего письма прошло достаточно времени)
- формирование и отправка сообщения
План детализируется до такой степени , чтобы каждое действие выполнялось в несколько строк кода.
Каждый пункт плана соответствует цели, которая этим пунктом достигается, а код, входящий в пункт, является реализацией.
Код, выполняющий каждое действие (реализация), оформляется в виде отдельного метода в соответствующем классе.
Мозг — не процессор, он работает совершенно иначе, у него свои механизмы и ограничения. Важно, чтобы код в первую очередь соответствовал механизмам мозга, тогда мозгу будет комфортно работать с кодом.
Что дальше