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

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

16
Мой босс просит меня прекратить писать небольшие функции и делать все в одном цикле
Я прочитал книгу под названием « Чистый код » Роберта Мартина. В этой книге я видел много методов для очистки кода, таких как написание небольших функций, тщательный выбор имен и т. Д. Это, безусловно, самая интересная книга о чистом коде, которую я читал. Однако сегодня моему боссу не понравилось, как …

21
Большая часть моего кода имеет большой недостаток дизайна. Завершить или исправить это сейчас? [закрыто]
Я учусь в старшей школе и работаю над проектом на C # с моим другом примерно такого же уровня квалификации, как и я. Пока что мы написали примерно 3000 строк кода и 250 строк тестового кода за промежуток в 100 коммитов. Из-за школы я отложил проект на несколько месяцев, и …

9
Почему я должен использовать фабричный класс вместо прямого создания объекта?
Я видел историю нескольких проектов библиотек классов С # и Java на GitHub и CodePlex, и я вижу тенденцию перехода к фабричным классам в отличие от непосредственного создания объектов. Почему я должен широко использовать фабричные классы? У меня есть довольно хорошая библиотека, где объекты создаются старомодным способом - путем вызова …

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

5
Каковы ключевые моменты эффективной работы с устаревшим кодом? [закрыто]
Я видел книгу « Эффективная работа с устаревшим кодом», рекомендованную несколько раз. Каковы ключевые моменты этой книги? Есть ли что-то большее в работе с унаследованным кодом, чем добавление модульных / интеграционных тестов, а затем рефакторинг?

16
Должен ли я удалить код, на который нет ссылок?
Я работаю над кодовой базой среднего размера (100 тыс. Строк), все это относительно новый код (менее года) и имеет хороший охват модульных тестов. Я продолжаю сталкиваться с методами, которые либо больше нигде не используются, либо упоминаются только в модульных тестах, которые проверяют только этот конкретный метод. Должен ли я удалить …

12
Обоснование предпочитать локальные переменные переменным экземпляра?
Кодовая база, над которой я работаю, часто использует переменные экземпляра для обмена данными между различными тривиальными методами. Первоначальный разработчик непреклонен, что он придерживается лучших практик, изложенных в книге « Чистый код » дядюшки Боба / Роберта Мартина: «Первое правило функций заключается в том, что они должны быть маленькими». и «Идеальное …
109 java  refactoring 

15
TDD Red-Green-Refactor и если / как проверить методы, которые становятся частными
Насколько я понимаю, большинство людей, похоже, согласны с тем, что частные методы следует тестировать не напрямую, а с помощью любых открытых методов, которые их вызывают. Я вижу их точку зрения, но у меня возникают некоторые проблемы с этим, когда я пытаюсь следовать «трем законам TDD» и использовать цикл «красный - …

20
Можно ли заменить оптимизированный код читаемым кодом?
Иногда вы сталкиваетесь с ситуацией, когда вам нужно расширить / улучшить какой-то существующий код. Вы видите, что старый код очень скудный, но его также сложно расширять, и на его чтение требуется время. Это хорошая идея, чтобы заменить его современным кодом? Некоторое время назад мне понравился бережливый подход, но сейчас мне …

11
Это плохая практика, чтобы модифицировать код строго для целей тестирования
У меня есть спор с коллегой-программистом о том, является ли хорошей или плохой практикой модифицировать рабочий фрагмент кода только для того, чтобы сделать его тестируемым (например, с помощью модульных тестов). Мое мнение таково, что все в порядке, конечно, в рамках поддержания хороших объектно-ориентированных и программных практик (не «все обнародовать» и …

10
Сколько строк в классе слишком много в Java? [закрыто]
По вашему опыту, какое полезное практическое правило для того, сколько строк кода слишком много для одного класса в Java? Чтобы было ясно, я знаю, что количество строк даже близко не соответствует реальному стандарту, который следует использовать для того, что должно быть в определенном классе, а что нет. Классы должны разрабатываться …

6
Исправление орфографической ошибки в имени метода
Один из методов, которые я обычно использую в нашей кодовой базе, написан с ошибками (и это предшествовало мне). Это действительно раздражает меня не просто потому, что оно введено неправильно, но, что более важно, оно заставляет меня ВСЕГДА неправильно вводить имя при первом наборе (а затем я должен помнить: «О, верно, …

10
Имеет ли смысл писать тесты для унаследованного кода, когда нет времени для полного рефакторинга?
Я обычно стараюсь следовать советам книги Эффективная работа с унаследованным Cod е . Я нарушаю зависимости, перемещаю части кода в @VisibleForTesting public staticметоды и в новые классы, чтобы сделать код (или, по крайней мере, его часть) тестируемым. И я пишу тесты, чтобы убедиться, что я ничего не нарушаю, когда я …

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

2
Написание тестов для кода, цель которого я не понимаю
Я недавно завершил рефакторинг черного ящика. Я не могу проверить это, потому что не могу понять, как это проверить. На высоком уровне у меня есть класс, инициализация которого включает в себя получение значений из некоторого класса B. Если класс B «пустой», он генерирует некоторые разумные значения по умолчанию. Я извлек …

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