По поводу рефакторинга (продолжение)
Это продолжение темы «Почему так важен рефакторинг?.
Давайте прочтем статью Учимся делить на два Артемия Лебедева, смысл которой:
мы можем всё упростить в 2 раза
Добавил бы, а сложность упростить в 2 раза может говорить только об «нашем уровне».
История была, у меня много знакомых психологов и один специализируется на гипнозе, а точнее, варианте, где используется жесткое суггестия. Это когда мгновенно ввести человека в измененное состояние надо. Так вот его спрашиваю:
говорят, что есть люди, которые не поддаются гипнозу и т.д.
Его ответ, НЕТ. ЛЮБОЙ человек поддается воздействию. А неспособность ввести кого-то в транс, мгновенно, говорить должно тебе не о силе этого человека, а о твоей слабости. Т.к. со своей слабостью, ты что-то можешь делать, тренироваться далее, а если списать все на внешнее, что человек сильный, — собственно тупик.
Так вот рефакторинг. Мы можем что-то вообще сделать с движком? Давайте посмотрим, и начнем с чего-то простого — css.
Мы создали файл css, и туда что-то добавили, описали все возможные случаи, которые нам надо (надеюсь) и получили меньше 16кб. кода. Нормально.
Так мы все случаи описали там, или нет?
Просто есть еще один файл: 404.css
и space.css
иии… много их… Так не все значит случаи описаны в «основном» css, что их на страницу ошибок не хватает?
Часто мы создаем или используем «большой» css (библиотеки иногда), а потом добавляем еще файлы, тем самым как-бы говоря: там чего-то не хватает.
Знакомая ситуация? С Bootstrap, например, или с другими фреймворками. А в данном случае с этим файлом.
Мы ставим что-то большое, а далее пишем ещё свое. А точно там нет того, что мы пишем? Кто-то хочет сказать, что в Bootstrap, например, чего-то нет?
Хм… ладно, поехали далее.
Мы можем убрать 404.css
?
да, т.к. в style.css есть всё (что нам надо).
И вот, мы просто уберем один файл. Меньше 5 минут анализа и работы.
Рефакторинг можно делать всего. Достаточно ткнуть пальцем в любую часть кода и задать себе вопрос: это можно улучшить?
Ставим вопрос по другому.
Есть какая-то часть кода в проекте, куда можно ткнуть пальцем и сказать:
это невозможно улучшить!
Нет.
Многое только упирается в целесообразность, некоторые вещи становятся слишком затратные по времени. Иногда упирается в нашу компетентность, в цели и т.д. Но улучшить можно всё.
Так я коснулся только css
бедного, а если дальше пойти?
P.S. Потихоньку надо делать. Меньше кода, лучше. Поддерживать даже проще.
Вы такое пишите, когда что-то сломать хотите обычно )
Да, не… просто чего-то надо было сменить деятельность, вот и написал. А так, надо все лишнее стереть. Лишнего много. )