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

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

6
Как удалить функцию или функцию при использовании TDD
В текстах о TDD я часто читал об «устранении дублирования» или «улучшении читаемости» на этапе рефакторинга. Но что заставляет меня удалить неиспользуемую функцию? Например, скажем, есть класс Cс методами a()и b(). Теперь я думаю, что было бы неплохо иметь метод, f()который используется C. Фактически f()заменяет все вызовы, b()за исключением модульных …

3
Трудности с TDD и рефакторингом (или - Почему это так больно, чем должно быть?)
Я хотел научить себя использовать подход TDD, и у меня был проект, над которым я давно хотел работать. Это был не большой проект, поэтому я подумал, что это будет хорошим кандидатом на TDD. Однако я чувствую, что что-то пошло не так. Позвольте мне привести пример: На высоком уровне мой проект …

8
Имея дело с коллегами при разработке, нужен совет [закрыто]
Трудно сказать, что здесь спрашивают. Этот вопрос является двусмысленным, расплывчатым, неполным, чрезмерно широким или риторическим, и на него нельзя дать разумный ответ в его нынешней форме. Чтобы получить разъяснения по этому вопросу, чтобы его можно было снова открыть, посетите справочный центр . Закрыто 8 лет назад . Я разработал нашу …

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

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

6
Самодокументируемый код против Javadocs?
Недавно я работал над рефакторингом частей базы кода, с которыми я сейчас работаю, - не только для того, чтобы лучше понять это, но и для того, чтобы облегчить работу тех, кто работает над кодом. Я склонен полагать, что самодокументированный код - это хорошо . Я просто думаю, что это чище, …

7
Должен ли я изменить имя автора в файле класса, если внесу более 80% изменений?
Я рефакторинг существующего набора классов Java-тестов для автоматизированных тестов пользовательского интерфейса. Иногда я заканчиваю тем, что делаю массивные изменения в файле классов или полностью переделываю его. Это заставляет меня думать, что когда я переписываю весь класс, я должен изменить имя автора в разделе комментариев на мое? Я жадный? или кому-то …

3
Как обрабатывать ограничения внешнего ключа при переходе от монолита к микросервисам?
Моя команда мигрирует из монолитного приложения ASP.NET в .NET Core и Kubernetes. Изменения в коде, кажется, происходят так же хорошо, как и следовало ожидать, но где моя команда сталкивается с большим количеством разногласий вокруг базы данных. В настоящее время у нас есть довольно большая база данных SQL Server, в которой …

7
Как обосновать время рефакторинга кода?
У очень большого проекта более 70к LOC. Проект определенно нуждается в некотором рефакторинге кода в Core Framework, а также в других частях. В начале проекта не было времени для рефакторинга. Однако со временем и более 40 разработчиков объединились и покинули проект. С моей точки зрения это необходимо. Каковы были бы …

3
Рефакторинг с низким уровнем воздействия и очистка кода от небрежного кода в ожидании требований
Я унаследовал существующую кодовую базу для продукта, который предосудительно небрежен. Фундаментальный дизайн крайне неадекватен, что, к сожалению, я мало что могу сделать без полного рефакторинга (ВЫСОКАЯ связь, НИЗКОЕ сцепление, безудержное дублирование кода, отсутствие технической проектной документации, интеграционные тесты вместо модульных тестов). Продукт имеет историю, высокую подверженность критически настроенным клиентам «дойной …

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

6
Когда перечисления НЕ являются запахом кода?
дилемма Я читал много лучших практических книг по объектно-ориентированным практикам, и почти в каждой прочитанной мной книге была часть, в которой говорится, что перечисления - это запах кода. Я думаю, что они пропустили ту часть, где они объясняют, когда перечисления действительны. Поэтому я ищу руководящие принципы и / или варианты …

5
Как избежать чрезмерной перегрузки метода?
У нас довольно много мест в исходном коде нашего приложения, где один класс имеет много методов с одинаковыми именами и разными параметрами. Эти методы всегда имеют все параметры «предыдущего» метода плюс еще один. Это результат долгой эволюции (устаревший код) и такого мышления (я считаю): « Есть метод M, который выполняет …

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

9
Использовать конструктор или метод установки?
Я работаю над кодом пользовательского интерфейса, где у меня есть Actionкласс, что-то вроде этого - public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } Когда этот класс Action был создан, предполагалось, что Actionкласс не будет настраиваемым (в некотором смысле …

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