Вопросы с тегом «code-smell»

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

4
Самый чистый способ написания логически процедурного программного обеспечения на языке ОО
Я инженер-электрик, и я не знаю, что, черт возьми, я делаю. Пожалуйста, сохраните будущие сопровождающие моего кода. Недавно я работал над рядом небольших программ (на C #), функциональность которых логически «процедурна». Например, одна из них - это программа, которая собирает информацию из разных баз данных, использует эту информацию для создания …

8
Включение и выключение функций пользовательского интерфейса (или других) на основе дат - запах кода?
У нас есть ужасная система, написанная на ASP.NET 2.0, к которой нам нужно добавить некоторые функциональные возможности. Проблема заключается в том, что определенный продукт имеет функции пользовательского интерфейса, которые должны быть включены для бизнеса, инициированного после определенной даты (а другие отключены), в то время как страница должна выглядеть одинаково для …

5
Написание тестируемого кода против предотвращения спекулятивной общности
Этим утром я читал несколько постов в блоге и наткнулся на это : Если единственным классом, который когда-либо реализует интерфейс Customer, является CustomerImpl, у вас нет полиморфизма и заменяемости, потому что на практике нет ничего, что можно заменить во время выполнения. Это поддельная общность. Это имеет смысл для меня, поскольку …

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

4
это способ называть функцию плохой практикой?
У меня есть следующий код: public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } Я думаю, что таким образом я снимаю ответственность за знание …

4
Переработка функции, возвращающей целочисленный код, который представляет множество различных состояний
Я унаследовал некоторый ужасный код, который я включил короткий пример ниже. Есть ли название для этого конкретного анти-паттерна? Какие рекомендации по рефакторингу это? // 0=Need to log in / present username and password // 2=Already logged in // 3=Inactive User found // 4=Valid User found-establish their session // 5=Valid User …

3
Чистый код и гибридные объекты и зависть к функциям
Так что я недавно сделал несколько серьезных рефакторингов в своем коде. Одной из основных вещей, которые я пытался сделать, было разделение моих классов на объекты данных и рабочие объекты. Это было вдохновлено, среди прочего, этим разделом Чистого кода : Гибриды Эта путаница иногда приводит к неудачным гибридным структурам данных, которые …

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

1
Если у вас есть логика, которую нужно разделить между двумя контроллерами, где вы ее храните?
У меня есть набор одноцелевых функций, которые мне нужны в двух отдельных контроллерах. Сейчас у меня просто дублированный код, и я хочу от него избавиться. Этот код является частью контроллера и не принадлежит моему уровню обслуживания. Где бы вы это положили?
10 mvc  code-smell 

2
Модульное тестирование: «Это запах кода, если вы проводите рефакторинг, а соавторов нет»?
Я читаю «Искусство модульного тестирования» Роя Ошерова. Я нахожусь в разделе 7.2 Написание поддерживаемых тестов, где у автора есть эта заметка о запахе кода: ПРИМЕЧАНИЕ. Когда вы реорганизуете внутреннее состояние, чтобы оно было видимым для внешнего теста, можно ли это считать запахом кода (признаком того, что что-то может быть не …

2
Является ли это запахом кода, если объект много знает своего владельца?
В нашем приложении Delphi 2007 мы используем множество следующих конструкций FdmBasic:=TdmBasicData(FindOwnerClass(AOwner,TdmBasicData)); FindOwnerClass перемещает иерархию Owner текущего компонента вверх, чтобы найти определенный класс (в примере TdmBasicData). Полученный объект сохраняется в переменной Field FdmBasic. Мы используем это прежде всего для передачи модулей данных. Пример: при создании отчета результирующие данные сжимаются и сохраняются …

4
Почему не рекомендуется иметь свойство set-only?
Сегодня на работе один из моих коллег просмотрел мой код и предложил удалить свойство «только для набора» и использовать вместо него метод. Поскольку мы оба были заняты другими делами, он сказал мне взглянуть на Property Designраздел из книги «Руководство по разработке структуры». В книге писатель просто сказал, чтобы избежать: Свойства …

12
Оператор объединения свойств для C #
Нулевой оператор в c # позволяет сократить код if (_mywidget == null) return new Widget(); else return _mywidget; Вниз до: return _mywidget ?? new Widget(); Я продолжаю находить, что полезным оператором, который я хотел бы иметь в C #, был бы тот, который позволял бы вам возвращать свойство объекта или …
9 c#  code-smell  null 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.