Рефакторинг - последняя инстанция программирования, когда код и приложение настолько запутанно и не стабильно, что проще уже написать заново.

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

Рефакторинг вещь достаточно затратная и не каждый клиент закажет такую услугу, но вот написание кода изначально правильно это вещь обязательно

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

http://habrahabr.ru/post/262995/
http://habrahabr.ru/post/263139/
http://habrahabr.ru/post/263333/

Источник:
habrahabr.ru