Вопросы с тегом «refactoring»

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

17
Как я могу сделать рефакторинг приоритетом для моей команды?
Кодовая база, с которой я работаю ежедневно, не имеет автоматических тестов, непоследовательных имен и множества комментариев, таких как «Почему это здесь?», «Не уверен, нужно ли это» или «Этот метод не назван правильно», и код изобилует «Журналы изменений», несмотря на то, что мы используем систему контроля версий. Достаточно сказать, что наша …

9
Как написать модульные тесты перед рефакторингом?
Я прочитал некоторые ответы на вопросы в том же ключе, например, «Как вы поддерживаете свои юнит-тесты при рефакторинге?». В моем случае сценарий немного отличается тем, что мне дали проект для проверки и приведения в соответствие с некоторыми нашими стандартами, в настоящее время тестов для проекта вообще нет! Я определил ряд …

12
Согласование правил бойскаутов и оппортунистического рефакторинга с обзорами кода
Я большой сторонник правила бойскаутов : Всегда проверяйте модуль более чистым, чем когда вы его проверяли. "Независимо от того, кто был первоначальным автором, что, если бы мы всегда приложили некоторые усилия, независимо от того, насколько они малы, чтобы улучшить модуль. Каков будет результат? Я думаю, что если мы все следовали …

2
Что такое код «зависти к особенностям» и почему он считается запахом кода?
Этот вопрос о SO говорит о том, чтобы исправить то, что OP считал кодом зависти к функциям . Другой пример, где я видел, как цитируется эта изящная фраза, - недавно полученный ответ здесь, в programmers.SE. Несмотря на то, что я добавил комментарий к этому ответу с просьбой предоставить информацию, я …

11
Как избежать каскадного рефакторинга?
У меня есть проект. В этом проекте я хотел реорганизовать его, чтобы добавить функцию, и я рефакторинг проекта, чтобы добавить функцию. Проблема в том, что когда я закончил, оказалось, что мне нужно было сделать небольшое изменение интерфейса, чтобы приспособиться к нему. Так что я сделал изменения. И тогда класс потребления …

14
Как лучше всего упорядочить параметры в функции?
Иногда (редко) кажется, что создание функции, которая принимает приличное количество параметров, является наилучшим маршрутом. Однако, когда я это делаю, я чувствую, что часто выбираю порядок параметров случайным образом. Я обычно выбираю «по важности», сначала выбираю самый важный параметр. Есть лучший способ сделать это? Существует ли «наилучшая практика» для упорядочения параметров, …

21
Как вы объясните рефакторинг нетехническому человеку?
Как вы объясните рефакторинг (и технический долг) нетехническому человеку (обычно PHB или клиенту)? («Что, это будет стоить мне месяц вашей работы без видимой разницы ?!») ОБНОВЛЕНИЕ Спасибо за все ответы до сих пор, я думаю, что этот список предоставит несколько полезных аналогий, на которые мы можем указать соответствующих людей (хотя …

5
Как далеко мы должны переименовывать код и данные при изменении номенклатуры конечных пользователей?
Давным-давно мы добавили функцию, с помощью которой наши пользователи могли «принять» изображение после его добавления в очередь рабочего процесса. Оказывается, мы использовали неправильный термин, и пользователи фактически «одобряют» изображение. Изменить Accept для Approve в нашем интерфейсе легко, просто замените одно слово. Но мы запрограммировали все слои со словом «принять», от …

15
Как мне справиться с рефакторингом, который занимает больше времени, чем один спринт?
Я работаю с кодовой базой, которая содержит более 500 тысяч строк кода. Он нуждается в серьезном рефакторинге. Были выявлены усилия по рефакторингу, которые займут больше времени, чем обычный двухнедельный спринт. Их нельзя разбить на более мелкие задачи, как я видел в других ответах на этом сайте. Продукт должен работать в …

10
Как лучше всего избегать написания раздутого кода GUI?
Я нахожу, что всякий раз, когда я работаю с кодом GUI, код, как правило, раздувается быстрее, чем другие виды кода. Это также кажется сложным для рефакторинга. Принимая во внимание, что в других видах кода я могу довольно легко выполнить рефакторинг - я нахожу, что могу разложить большой класс на более …
48 refactoring  gui 

7
Как измерить потенциальную ценность рефакторинга
На старом большом проекте с техническим долгом, как вы можете надежно оценить или измерить выгоду от рефакторинга кода? Например, допустим, у вас есть некоторые компоненты в программном стеке, написанные на более старом языке, а некоторые более поздние компоненты написаны на более новом языке. Команда разработчиков постоянно добавляет в это решение …

8
Ведение кода: сохранение плохого паттерна при расширении нового кода для обеспечения согласованности или нет?
Я должен расширить существующий модуль проекта. Мне не нравится, как это было сделано (задействовано много анти-шаблонов, например, скопированный / вставленный код). Я не хочу выполнять полный рефакторинг по многим причинам. Нужно ли мне: создавать новые методы, используя существующее соглашение, даже если я чувствую это неправильно, чтобы избежать путаницы для следующего …

10
Это хорошая идея запланировать регулярное время для очистки кода? [закрыто]
Я управляю небольшой командой разработчиков. Время от времени мы решаем, что потратим день или два, чтобы очистить наш код. Было бы неплохо запланировать регулярное время, скажем, 1 неделю каждые 2 месяца, чтобы просто очистить нашу кодовую базу?

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

6
Почему SQL не является более подходящим? [закрыто]
Все знают, что новые разработчики пишут длинные функции. По мере продвижения вы становитесь лучше, разбивая свой код на более мелкие части, и опыт учит вас тому, как это делать. Введите SQL. Да, способ мышления кода SQL отличается от процедурного мышления кода, но этот принцип кажется вполне применимым. Допустим, у меня …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.