Рефакторинг кода на javascript улучшение проекта существующего кода фаулер мартин