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

52
Как избежать каскадного рефакторинга?

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

52
Как вы объясните рефакторинг нетехническому человеку?

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

50
Как далеко мы должны переименовывать код и данные при изменении номенклатуры конечных пользователей?

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

49
Как мне справиться с рефакторингом, который занимает больше времени, чем один спринт?

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

48
Как лучше всего избегать написания раздутого кода GUI?

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

46
Как измерить потенциальную ценность рефакторинга

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

45
Ведение кода: сохранение плохого паттерна при расширении нового кода для обеспечения согласованности или нет?

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

42
Это хорошая идея запланировать регулярное время для очистки кода? [закрыто]

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

42
Какой лучший способ справиться с рефакторингом большого файла?

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

39
Почему SQL не является более подходящим? [закрыто]

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

37
Как люди, занимающиеся TDD, справляются с потерей работы при проведении крупного рефакторинга

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

36
Устранение магических чисел: когда пришло время сказать «нет»?

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

35
Повлиял ли постепенный сдвиг в методологии написания кода на производительность системы? И мне все равно?

TD; DR: Был некоторый беспорядок относительно того, что я спрашивал, таким образом, вот движущая идея позади вопроса: Я всегда хотел, чтобы вопрос был таким, какой он есть. Я, возможно, не сформулировал это хорошо изначально. Но намерение всегда было « модульным, разделенным, слабо связанным,...

33
Какой термин для этого типа рефакторинга

Я уверен, что есть следующий термин для рефакторинга, но я не могу вспомнить его, и мой Google-фу подводит меня! Рефакторинг перемещается, если операторы туда, где они будут оказывать наибольшее влияние, например, изменяя это $test = someFunctionThatReturnsABool(); for($x = 0; $x < 10000; $x++)...

33
Как я могу предотвратить неизвестное дублирование кода?

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

32
Включает ли «переменные в минимально возможную область видимости» случай «переменные не должны существовать, если возможно»?

Согласно принятому ответу « Обоснование предпочтения локальных переменных переменным экземпляра? », Переменные должны жить в наименьшей возможной области видимости. Упростите проблему в моей интерпретации, это означает, что мы должны реорганизовать такой код: public class Main { private A a;...

32
Является ли «Parent x = new Child ();» вместо «Child x = new Child ();» плохой практикой, если мы можем использовать последний?

Например, я видел несколько кодов, которые создают такой фрагмент: Fragment myFragment=new MyFragment(); которая объявляет переменную как Fragment вместо MyFragment, а MyFragment является дочерним классом Fragment. Я не удовлетворен этой строкой кодов, потому что я думаю, что этот код должен быть:...

32
Когда проводить рефакторинг

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

31
Использование магических строк / чисел [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Это довольно спорная тема, и я думаю, что мнений...

30
Какие факторы должны влиять на то, как я определяю, когда отказаться от небольшого проекта с другом? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Я оказался в трудном положении в последнее время. Уже почти 8 месяцев работаю...