Рефакторинг появился для ООП и как бы внутри ООП.
...
Никто не спорит, что код улучшали и до ООП, но никто это не называл рефакторингом. И я бы так это и оставил. Так как речь идет в рефакторинге о улучшении структуры кода, а в структурном программировании - просто нет структуры, если только не считать те зачатки в виде функций за структуру.
...
Опять же в структурном программировании нет понятия повторного использования (вызов функции дважды к этому не относится). Повторное использование подразумевает исключительно повторное использование классов (предметных сущностей). А значит и необходимости в рефакторинге не возникает.
©
http://habrahabr.ru/company/enterra/blog/229051/#comment_7760413 Структурное программирование у него структуры не имеет, вы посмотрите на него!
И, функцию вынести в библиотеку -- ни-ни, только классы, только хардкор!