Хобрук: Ваш путь к мастерству в программировании

Отслеживание рефакторинга в базе данных ошибок

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

  • Напишите отчет об ошибке и свяжите с ним рефакторинг.
  • Напишите запрос функции и свяжите с ним рефакторинг.
  • Подкрадываться к рефакторингу во время работы над кодом, который связан с отчетом об ошибке/запросом функции.
  • Просто не делайте никакого рефакторинга.
  • Другой

Обратите внимание, что все отчеты об ошибках и описания функций будут видны менеджерам и клиентам.


Ответы:


1

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

10.09.2008
  • Правильно. Используя разработку, основанную на поведении, вы пишете новый тест для поведения и наблюдаете, как он терпит неудачу, изменяете код, чтобы все тесты прошли, а затем рефакторите код, в котором вы работали. Затем зафиксируйте и (в вашем случае) зарегистрируйте изменение в соответствии с запросом на изменение поведения. Таким образом, вы все равно рефакторите код во время работы над ним. 28.04.2009

  • 2

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

    10.09.2008

    3

    Мы работаем следующим образом: должна быть веская причина для рефакторинга кода, иначе зачем?

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

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

    Если это для разработки ошибки, зарегистрируйте ошибку.

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

    10.09.2008

    4

    Давайте рассмотрим каждый вариант:

    • Напишите отчет об ошибке и свяжите с ним рефакторинг.

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

    • Напишите запрос функции и свяжите с ним рефакторинг.

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

    • Подкрадываться к рефакторингу во время работы над кодом, который связан с отчетом об ошибке/запросом функции.

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

    • Просто не делайте никакого рефакторинга.

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

    • Другой

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

    10.09.2008

    5
    • Другой

    Если вы работаете в месте с такой негибкой (и нелепой) политикой, лучшее решение — найти другую работу!

    10.09.2008
    Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

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

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

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

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..