Вопросы с тегом «anti-patterns»

Анти-паттерн - это обычное поведение или практика, несмотря на то, что они неэффективны или контрпродуктивны.

6
Хорошая или плохая практика маскировать коллекции Java значимыми именами классов?
В последнее время у меня была привычка «маскировать» коллекции Java с понятными для человека именами классов. Несколько простых примеров: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } Или же: // If you saw a ArrayList<ArrayList<?>> being passed around in the …

8
Ведение кода: сохранение плохого паттерна при расширении нового кода для обеспечения согласованности или нет?
Я должен расширить существующий модуль проекта. Мне не нравится, как это было сделано (задействовано много анти-шаблонов, например, скопированный / вставленный код). Я не хочу выполнять полный рефакторинг по многим причинам. Нужно ли мне: создавать новые методы, используя существующее соглашение, даже если я чувствую это неправильно, чтобы избежать путаницы для следующего …

11
Переменные ошибок - это анти-шаблон или хороший дизайн?
Для обработки нескольких возможных ошибок, которые не должны останавливать выполнение, у меня есть errorпеременная, которую клиенты могут проверять и использовать для создания исключений. Это анти-паттерн? Есть ли лучший способ справиться с этим? Для примера этого в действии вы можете увидеть PHP mysqli API. Предположим, что проблемы видимости (средства доступа, открытая …

11
Являются ли так называемые «сквозные проблемы» действительным поводом для нарушения SOLID / DI / IoC?
Мои коллеги любят говорить «ведение журнала / кеширование и т. Д. - сквозная проблема», а затем везде использовать соответствующий синглтон. Все же они любят IoC и DI. Действительно ли это оправданное нарушение принципа SOLI D ?

5
Считается ли это анти-паттерном для чтения из STDIN из библиотеки?
Во время написания библиотеки для большого проекта, над которым я работаю на работе, возникла проблема, которая требовала, чтобы токен был отправлен на адрес электронной почты, а затем возвращен в код, где он может быть использован для дальнейшего использования. Мой коллега говорит, что нужно просто читать из STDIN (используя Python:), code …

9
Являются ли служебные классы, содержащие только статические члены, антипаттерном в C ++?
Вопрос « Куда мне помещать функции, не связанные с классом », вызвал некоторые споры о том, имеет ли смысл в C ++ объединять служебные функции в классе или они просто существуют как свободные функции в пространстве имен. Я пришел из C # фона, где последний вариант не существует, и, таким …

9
Является ли создание подклассов для конкретных случаев плохой практикой?
Рассмотрим следующий дизайн public class Person { public virtual string Name { get; } public Person (string name) { this.Name = name; } } public class Karl : Person { public override string Name { get { return "Karl"; } } } public class John : Person { public override …

11
Подклассы только для конструктора: это анти-шаблон?
У меня была беседа с коллегой, и в итоге у нас возникли противоречивые представления о цели создания подклассов. Моя интуиция заключается в том, что если основная функция подкласса должна выражать ограниченный диапазон возможных значений его родителя, то, вероятно, это не должен быть подкласс. Он высказался за противоположную интуицию: то, что …

3
Это антипаттерн, чтобы использовать peek () для изменения элемента потока?
Предположим, у меня есть поток вещей, и я хочу «обогатить» их серединой потока, я могу использовать peek()это, например: streamOfThings.peek(this::thingMutator).forEach(this::someConsumer); Предположим, что изменение объектов в этой точке в коде является правильным поведением - например, thingMutatorметод может установить в поле «lastProcessed» текущее время. Однако peek()в большинстве случаев означает «смотри, но не трогай». …

10
Какие существуют анти-паттерны именования? [закрыто]
Есть некоторые имена, где, если вы обнаружите, что пытаетесь найти эти имена, вы знаете, что уже что-то напутали. Например: XxxManager Это плохо, потому что класс должен описывать, что класс делает. Если самое конкретное слово, которое вы можете придумать для того, что делает класс, это «управлять», то класс слишком велик. Какие …

6
Код, который преобразует значение в другое представление, а затем преобразовывает его обратно в исходное состояние, является плохим, но как? [закрыто]
Я читал статью о плохих практиках программирования . Это упомянуто - «Код Yo-Yo», который преобразует значение в другое представление, а затем преобразует его обратно в исходное положение (например, преобразование десятичного числа в строку и затем обратно в десятичное, или заполнение строки и затем ее обрезку) Я не понимаю, почему конкретный …

8
Является ли создание исключения анти-паттерном здесь?
Я только что обсудил выбор дизайна после обзора кода. Интересно, каково ваше мнение? Есть этот Preferencesкласс, который является контейнером для пар ключ-значение. Нулевые значения допустимы (это важно). Мы ожидаем, что некоторые значения еще не могут быть сохранены, и мы хотим обрабатывать эти случаи автоматически, инициализируя их предварительно определенным значением по …

7
Моя компания объединяет филиалы неправильно?
Недавно я наткнулся на статью MSDN о ветвлении и слиянии и SCM: Учебник по ветвлению и слиянию - Крис Бирмеле . В статье говорится, что «слияние большого взрыва» - это антипаттерн слияния: Big Bang Merge - отложенная ветвь, сливающаяся до конца разработки и пытающаяся объединить все ветви одновременно. Я понял, …

2
Есть ли названный анти-паттерн для исторически выросшего программного обеспечения? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Существует ли антипаттерн, описывающий исторически сложившуюся программную систему, в которой несколько разработчиков просто добавили …

2
Как называется следующий (анти) шаблон? Каковы его преимущества и недостатки?
За последние несколько месяцев я несколько раз спотыкался о следующей технике / схеме. Тем не менее, я не могу найти конкретное имя, и я не уверен на 100% во всех его преимуществах и недостатках. Шаблон идет следующим образом: В интерфейсе Java набор общих методов определяется как обычно. Однако при использовании …

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