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

15
Как определить приоритет и серьезность «улучшения кода»?

У нас есть поля "приоритет" и "серьезность" в нашей системе отслеживания ошибок. Мы определяем серьезность как «как это влияет на пользователя» и приоритет как «как это влияет на продукт». Мой вопрос о том, как классифицировать задачу «улучшение кода» по степени серьезности и приоритетности....

15
Я должен был использовать фабричный метод вместо конструктора. Могу ли я изменить это и при этом быть обратно совместимым?

Проблема Допустим, у меня есть класс с именем, DataSourceкоторый предоставляет ReadDataметод (и, возможно, другие, но давайте будем проще) для чтения данных из .mdbфайла: var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Несколько лет спустя я решил, что хочу иметь...

15
Должен ли я рефакторинг больших функций, которые в основном состоят из одного регулярного выражения? [закрыто]

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

15
Зачем писать тесты для кода, который я буду рефакторинг?

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

14
Дублирование кода без очевидной абстракции

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

14
Как вы осуществляете навигацию и рефакторинг кода, написанного на динамическом языке?

Мне нравится, что для написания Python, Ruby или Javascript требуется так мало шаблонов. Я люблю простые функциональные конструкции. Я люблю чистый и простой синтаксис. Тем не менее, есть три вещи, в которых я действительно плох при разработке большого программного обеспечения на динамическом...

14
Многие строят одну реализацию. Я безнадежен? Использовать сервисный локатор?

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

14
Что может быть причиной появления новых ошибок где-то еще, когда известная ошибка устранена?

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

14
Защита для шаблона?

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

13
Лучший способ разбить подавляющий код на управляемые куски?

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

13
Разрешение конфликтов слияния из-за рефакторинга

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

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

Я хотел бы предотвратить ситуацию, когда два разработчика проводят рефакторинг одного и того же кода одновременно, не говоря об этом сначала, возможно, используя какой-то инструмент, возможно, плагин Eclipse. Вы можете помочь? У нас есть 4,5 миллиона строк кода и более 20 команд разработчиков на...

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

Для тех из вас, кому посчастливилось не работать на языке с динамической областью действия, позвольте мне немного освежить в этом информацию. Представьте себе псевдо-язык, названный "RUBELLA", который ведет себя так: function foo() { print(x); // not defined locally => uses whatever value `x`...

13
Каковы хорошие способы организации входных файлов (Makefiles, SConstruct, CMakeLists.txt и т. Д.) Для создания программного обеспечения для автоматизации?

Одна вещь, которую мне нравится делать с моим кодом, - убедиться, что он реорганизован в управляемые части. Однако, когда дело доходит до сборки программного обеспечения, я обнаруживаю, что любое программное обеспечение для автоматизации сборки, которое я в конечном итоге использую (в последнее...

13
Как вы выходите из роли сопровождающего кода? [закрыто]

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

12
Технический термин для обозначения противоположности внедрения зависимости?

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

12
Добавление модульных тестов в устаревший простой C-проект

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

12
Почему после написания кода я чувствую, что «я бы написал лучше» через некоторое время? [закрыто]

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

12
Обработка «связанной» работы в рамках одного гибкого рабочего элемента

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

12
Рефакторинг и открытый / закрытый принцип

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