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

10
Что поможет при рефакторинге большого метода, чтобы я ничего не сломал?

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

10
Я должен пойти на компромисс: СУХОЙ или Command-Query-Separation?

Недавно я проводил рефакторинг метода, который был и командой, и методом запроса. Разделив его на один метод команды и один метод запроса, я обнаружил, что в коде теперь есть несколько мест, где я вызываю команду, а затем получаю значение из запроса, что выглядит как нарушение принципа СУХОЙ. Но...

10
Уменьшение сложности класса

Я посмотрел на некоторые ответы и искал в Google, но я не смог найти ничего полезного (то есть, это не будет иметь неловких побочных эффектов). Моя абстрактная проблема в том, что у меня есть объект и мне нужно выполнить длинную последовательность операций над ним; Я думаю об этом как о сборочной...

10
Использование разных шаблонов для похожих функций

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

10
Как избежать бесконечно повторяющихся одинаково неоптимальных проектов?

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

10
Хороший стиль кода для повсеместной проверки данных?

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

10
Заменить Условное на Полиморфизм надлежащим образом?

Рассмотрим два класса Dogи Catкак в соответствии с Animalпротоколом (с точки зрения языка программирования Swift. Это было бы интерфейс в Java / C #). У нас есть экран со смешанным списком собак и кошек. Есть Interactorкласс, который обрабатывает логику за кулисами. Теперь мы хотим предоставить...

9
BDD: Начало работы

Я начинаю с BDD, и это моя история: Feature: Months and days to days In order to see months and days as days As a date conversion fan I need a webpage where users can enter days and months and convert them to days. У меня есть некоторые сомнения ... Должен ли я написать свои сценарии перед тем, как...

9
Рефакторинг или обновление баз данных для обработки новых функций

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

9
Должен ли я быть обеспокоен, если соотношение LOC / day слишком велико? [закрыто]

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

9
Программное решение 2000-х, я должен попытаться исправить или переделать все это?

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

9
Быстрое прототипирование и рефакторинг

Иногда, когда я запускаю небольшой проект (например, приложение для Android), я не знаю, какой подход сработает в конце, и я просто выбираю один подход и пробую его. Но если я никогда не использовал этот подход раньше (для такого рода приложений, которые я никогда не программировал раньше), это все...

9
Ищите лучший способ объединить глубокий рефакторинг архитектуры с разработкой на основе функций

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

9
Длинный рефакторинг метода: оставление как есть и разделение на методы против использования локальных функций

Предположим, у меня есть длинный метод, подобный этому: public void SomeLongMethod() { // Some task #1 ... // Some task #2 ... } Этот метод не имеет повторяющихся частей, которые должны быть перемещены в отдельный метод или локальную функцию. Есть много людей (включая меня), которые думают, что...

9
Рефакторинг - уместно ли просто переписать код, если все тесты пройдены?

Недавно я смотрел «Все мелочи» из RailsConf 2014. Во время этого выступления Сэнди Метц реорганизует функцию, которая включает в себя большой вложенный оператор if: def tick if @name != 'Aged Brie' && @name != 'Backstage passes to a TAFKAL80ETC concert' if @quality > 0 if @name !=...