Рефакторинг кода на JavaScript. 2-e. изд. М. Фаулер

Описание

 Рефакторинг — это процесс изменения программной системы, в ходе которого внешнее поведение кода остается неизменным при усовершенствовании его внутренней структуры. Это систематизированный способ очистки кода, минимизирующий возможность появления новых ошибок. По сути, рефакторинг кода представляет собой улучшение проекта уже после того, как этот код написан.
 “Улучшение проекта после написания кода” звучит непривычно. При нынешнем понимании процесса разработки программного обеспечения мы сначала создаем проект, а потом пишем код. Первым шагом идет проектирование, а уже затем кодирование. Со временем код будет изменяться, а целостность системы и ее соответствие первоначальному проекту постепенно размываться. Кодирование понемногу перестает быть инженерным искусством и превращается в хакерство.
 Рефакторинг же представляет собой нечто противоположное. Он позволяет, взяв плохой и беспорядочный проект, превратить его в ясно структурированный код. Каждый шаг этого преобразования чрезвычайно прост. Это может быть перемещение поля из одного класса в другой, выделение части исходного текста из метода и ее перемещение в отдельный метод, перемещение некоторых фрагментов кода в том или ином направлении иерархии классов. Кумулятивный эффект таких малозаметных изменений может привести к существенному улучшению программы. Этот процесс оказывается прямой противоположностью описанной выше тенденции постепенной деградации программного проекта.
 При рефакторинге изменяется баланс между разными этапами работ. Проектирование становится не отдельным начальным этапом разработки, а непрерывным процессом. В ходе работы над проектом вы постоянно рассматриваете возможность его улучшения. В результате получается программный проект, качество которого остается высоким все время работы над проектом.

Схожие книги

Node.js в действии. Майк Кантелон
JavaScript
ru

Node.js в действии. Майк Кантелон

{Вы не знаете JS} Асинхронная обработка и оптимизация. Кайл Симпсон
JavaScript
ru

{Вы не знаете JS} Асинхронная обработка и оптимизация. Кайл Симпсон

Изучаем JavaScript. Руководство по созданию современных веб-сайтов. Э. Браун
JavaScript
ru

Изучаем JavaScript. Руководство по созданию современных веб-сайтов. Э. Браун

Разработка игр на языке JavaScript. С. Беляев
JavaScript
ru

Разработка игр на языке JavaScript. С. Беляев

×