Выделение пользовательской функции
Мотивом для проведения такого рефакторинга является частое использование некоторых стандартных вычислений, встречающееся в рамках одного запроса или группы запросов. Пример: расчет первого числа месяца для некоторой даты на языке SQL:
DATEADD(dd, 1-DAY(@date), @date)
Понятно, что запись не является особо сложной или громоздкой, но, тем не менее, ее многократное использование не способствует улучшению читаемости кода. Если поместить этот расчет в функцию, ее вызов будет выглядеть так:
FirstDayOfMonth(@date)
Такая запись уже не требует написания комментария (лучшая документация для исходного кода - это он сам).