Почему так важен рефакторинг?
Возможно, самый важный вопрос, который нужно задать себе, прежде чем что-либо делать, — это зачем вам это делать, имея в виду, какую ценность это дает взамен.
Вот некоторые из основных причин, по которым рекомендуется провести рефакторинг:
-
Рефакторинг улучшает дизайн программного обеспечения.
- Создание программного обеспечения с хорошей архитектурой — это не то, что можно сделать с первого раза. Дизайн, который, по нашему мнению, лучше всего подходит сегодня, может оказаться не тем, который лучше всего подходит на следующей неделе.
-
Без рефакторинга дизайн программы со временем разрушится.
-
Рефакторинг упрощает понимание программного обеспечения.
«Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям». — Мартин Фаулер
-
Рефакторинг заставляет вас искать ошибки.
- Когда код более простой, его легче понять, легче отлаживать, а также легче обнаруживать неучтенные случаи.
-
Рефакторинг помогает вам программировать быстрее.
Без хорошего дизайна вы можете какое-то время быстро прогрессировать, но вскоре плохой дизайн начинает вас тормозить.
Вывод: рефакторинг снижает стоимость улучшений
Когда проводить рефакторинг кода?
Рефакторинг — это не особая задача, которая будет отражена в плане проекта, так когда же вам следует это делать?
-
Когда вам нужно добавить новую функцию в базу кода, посмотрите на существующий код и подумайте, структурирован ли он таким образом, чтобы сделать новое изменение простым.
-
Если это не так, выполните рефакторинг существующего кода, чтобы упростить это новое дополнение.
-
Как только это изменение будет сделано, добавьте новую функцию.
-
-
После того, как вы добавите функцию и заставите ее работать, вы можете просмотреть полученный код, чтобы убедиться, что, хотя он работает, он может быть не таким ясным, как мог бы быть.
- Если это не так, то реорганизуйте его в лучшую форму, чтобы, когда вы (или кто-то другой) вернетесь к этому коду через несколько недель, вам не придется тратить время на то, чтобы ломать голову над тем, как этот код работает.
-
Если вам сложно понять код, проведите его рефакторинг, чтобы вам не пришлось снова бороться в следующий раз, когда вы посмотрите на него.
Вывод: рефакторинг — это часть повседневного программирования
Заключительные мысли
По моему собственному опыту в качестве инженера-программиста, я видел, как многие проекты со временем сильно разрастались, и в результате их код становился труднее для понимания, сложнее поддерживать, труднее работать и больше подвержен ошибкам. И я знаю, что пока я работаю в этой индустрии, я буду видеть, как это будет происходить.
Для этого нет никакого волшебного трюка. Однако до сих пор я также видел, что рефакторинг кода как часть вашего ежедневного программирования, вероятно, является лучшим методом, который вы и ваша команда можете применить для противодействия этим нежелательным эффектам.
Дайте ему шанс и практикуйте его, пока это не станет привычкой. Могу заверить вас, что вы ощутите на себе преимущества этого.
Написал после прочтения (Перезапись против рефакторинга: 17 важных статей для разработчиков): Rewrites vs. refactoring: 17 essential reads for developers
Рефакторинг — это часть повседневного программирования. Вот тут я согласен, его необходимо постоянно делать если позволяет время. К сожалению, иногда планы поджимают, быстрей необходимо сдать проект на работе.