Рефакторинг кода и уборка туалета

Сегодня, прежде чем я приму второй вечерний душ, я трачу время на уборку своего туалета и ванной комнаты, как молодой профессионал и одинокий человек, живущий один в столице здесь, в Джакарте, уборка туалета не имеет большого значения. для меня. Вы можете подумать, что мне лучше потратить свое время на программирование или изучение чего-то нового, но вы можете не знать, что я люблю мыть туалет, потому что каждый раз, когда я это делаю, я узнаю что-то новое, и в этот раз тоже. Я хочу поговорить о сходстве между кодом рефакторинга и уборкой туалета.

Вы делаете что-то в своей кодовой базе ежедневно

Я знаю, что у вас есть кодовая база, в которой вы еженедельно или даже ежедневно разрабатываете новую функцию для удовлетворения потребностей вашего бизнеса. Я знаю, что иногда вы рискуете взять технический долг, я знаю, что в какой-то момент ваш код становится все более и более беспорядочным. Это естественно, то, что вы используете ежедневно, должно быть изменено, и энтропия обычно увеличивается.

рефакторинг Рефакторинг позже

Вы можете думать об унитазе, вы пользуетесь им каждый день, вы изо всех сил пытаетесь смыть унитаз, в первый раз все выглядит хорошо. Ты возвращаешься завтра и пытаешься изо всех сил смыть и вычистить туалет. Вы возвращаетесь снова и снова и снова, скажем, через 1 месяц вы не заметили, что ваш туалет не такой белый, как раньше, может быть, он несколько желтоват. Почему ты не заметил? Одна причина, потому что вы изменения не существенны, если вы смотрите на это ежедневно. Это также происходит в вашем коде, вы не заметили, что вы увеличиваете свою энтропию в некоторой степени каждый день.

Грязный код становится новой нормой

технический_долг Технический долг

Сжатые сроки, бизнесу нужно, чтобы фича была развернута как можно скорее, и вы берете очередной технический долг, не заплатив свой предыдущий долг, и теперь ваш «хакерский» код живет в продакшене. Новые люди, приходящие на помощь, мало чем могут помочь, потому что то здесь, то там есть взломы, деловые люди ожидают, что новые люди означают, что новая функция будет реализована быстрее. Но на самом деле все наоборот: функция, которую вы разрабатываете, несколько медленнее, потому что вам также нужно помогать своему новому коллеге.

технический_долг_2 Нет техническому долгу!

Затем, наконец, ваш коллега узнает ваш код, и, хотя у него есть намерения улучшить код, ваша компания просто не может позволить себе рефакторинг, потому что время лучше потратить на разработку функций, и тем не менее вы создаете еще одну хакерскую функцию и увеличиваете энтропия вашей кодовой базы.

То же самое с туалетом, у вас не было возможности почистить свой туалет, теперь желтоватый туалет — это новая норма, вы думаете, что уберете его когда-нибудь после того, как ваш рабочий график будет не таким загруженным, как сейчас, и через несколько дней. вы забываете, что месяц назад ваш туалет был белым и очень чистым.

Наконец у вас есть время для рефакторинга

жарить-не уверен Фрай не уверен

Теперь сроки не такие сжатые, как раньше, у вас есть время сделать ретроспективу того, какую функцию вы уже разработали, и теперь следующая задача — масштабировать ваше приложение. Выбора нет, вам нужно отдать свой долг. Вы можете сделать это в одиночку или вы заплатили кому-то за это. Я слышал, что какая-то компания наняла консультанта для рефакторинга одного файла кодовой базы, безумие!

После глубокого погружения в процесс рефакторинга вы смеетесь, почему вы вообще делаете что-то глупо, почему не делаете это правильно с самого первого раза? Вы также чувствуете себя прекрасно после всей уборки, ваша производительность становится выше (снова).

чистая ванная Чистая ванная комната

Как и в случае с туалетом, теперь у вас была возможность почистить туалет либо самостоятельно, либо заплатить кому-то за это. Теперь туалет чистый, и вы чувствуете себя хорошо, даже если вы понимаете, что месяц назад ваш туалет был белоснежным.

Надеюсь, вы проводите рефакторинг часто, ежемесячно или еженедельно.

Теперь вы поняли, что увеличение энтропии является природой развития, если только вы не заставите его поддерживать его постоянным. То же самое и с унитазом: ожидается, что то, что использовалось, испортится, но у вас всегда есть возможность убрать вещи после использования. Рефакторинг кода часто (не сказать каждый раз) помогает вам держать энтропию проекта под контролем и управляемой, вы же не хотите, чтобы в вашем коде было что-то вроде глобального потепления, верно?

Этот пост изначально размещен на mpj-cool.tech сайт блога.

Вале!


Обо мне 😄

Меня зовут Абдуррахман, и в настоящее время я управляю агентство по разработке программного обеспечения называется Кулкул.tech. Мы являемся компанией по разработке программного обеспечения для Интернета и мобильных устройств, предоставляющей отличное программное обеспечение для бизнеса. Мы работаем с компаниями по всему миру, от частных лиц до крупных корпораций. Мы надежная удаленная фирма с большим акцентом на людей и четкую коммуникацию.

Мы начинаем каждый проект с понимания бизнеса и проблемы клиента, а затем предоставляем контекстуальное решение и применимую технологию. Мы заботимся о том, чтобы сотрудничество с нами способствовало развитию бизнеса нашего клиента.

Мы предоставляем отличных инженеров и дизайнеров для создания законченного продукта, включая сбор спецификаций, план развития продукта, дизайн UI/UX, разработку, контроль качества и DevOps.
Мы являемся экспертами в следующих технологиях:

  • JavaScript и Node.js
  • Питон и Джанго
  • Рубин на рельсах,
  • Мобильный (iOS и Android), особенно Flutter
  • БД: MySQL, PostgreSQL, MongoDB,
  • Фронтенд: Elm, React, Angular

Мы также работаем в Codementor, если вам интересно, свяжитесь со мной в Codementor.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *