Наверняка начинающие программисты (если они не совсем уж начинающие, а изучившие хотя бы основы программирования и имеющие опыт общения с более опытными коллегами) слышали слово “рефакторинг”. Непосвящённому это слово совсем непонятно, поэтому я решил раскрыть его значение.
Начнём с перевода. И я, как всегда, не упущу возможности повозмущаться загаживанием русского языка разными иностранными словечками. И это уже настолько глубоко, что Яндекс-Переводчик переводит слово “Refactoring”, как вы думаете? Ни за что не догадаетесь. Оказывается, “Refactoring” переводится как “Рефакторинг”. Ну, как говорится, спасибо. Всё стало намного понятнее.
Но может тогда слово “factoring” Яндекс сможет перевести? Конечно, сможет. Оно переводится как “факторинг”. Можно ещё попробовать перевести слово “factor” и раскрутить как-то дальше. Но я этим заниматься не буду.
В общем, попытка перевода провалилась. Поэтому сразу перейду к смыслу.
Рефакторинг - это переработка кода. При этом функционал вашей программы не изменяется. Смысл рефакторинга - улучшить, упростить код, чтобы он был более понятен и/или выполнялся быстрее. То есть раньше это называлось оптимизацией. Хотя обычно оптимизация - это улучшение каких-то характеристик программы (например, скорости выполнения). А рефакторинг - это оптимизация + улучшение “читабельности”.
Ну например, у вас была какая-то непонятная переменная Х, которая встречалась в разных местах программы и хранила сумму по чеку. Это не очень удобно при доработках программы - вам всё время приходится вспоминать, что же это за переменная Х.
Тогда вы проводите рефакторинг - переименовываете переменную Х в CheckSum и жить становиться намного легче. Теперь, глядя на имя переменной, вы сразу понимаете, что она хранит.
Конечно, надо бы сразу давать переменным осмысленные имена. Но, давайте признаемся, положа руку на сердце, что все программисты в спешке очень часто пренебрегают правилами хорошего тона. Если бы это было не так, то рефакторинг никогда бы и не появился.
Разумеется, в рефакторинг входит не только переименование переменных. Но этот пример, я считаю, наиболее точно передаёт суть этого процесса.
Почти все современные средства разработки предоставляют те или иные инструменты для рефакторинга. Например, вы можете найти и заменить имя переменной одновременно во всех файлах проекта, будь их 5 или 500. А при переименовании, например, имени кнопки на форме, автоматически переименовывается функция, связанная с каким-либо событием этой кнопки. Это особенно удобно, если у кнопки не один, а несколько обработчиков событий. Ну и так далее…
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.