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

39
Являются ли служебные классы, содержащие только статические члены, антипаттерном в C ++?

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

37
Является ли создание подклассов для конкретных случаев плохой практикой?

Рассмотрим следующий дизайн 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 string Name { get { return...

37
Это антипаттерн, чтобы использовать peek () для изменения элемента потока?

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

37
Подклассы только для конструктора: это анти-шаблон?

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

35
Код, который преобразует значение в другое представление, а затем преобразовывает его обратно в исходное состояние, является плохим, но как? [закрыто]

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

35
Какие существуют анти-паттерны именования? [закрыто]

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

33
Является ли создание исключения анти-паттерном здесь?

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

28
Моя компания объединяет филиалы неправильно?

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

28
Как называется следующий (анти) шаблон? Каковы его преимущества и недостатки?

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

28
Есть ли названный анти-паттерн для исторически выросшего программного обеспечения? [закрыто]

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

28
Сколько слишком много интерфейсов в классе? [закрыто]

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

28
Какие шаблоны дизайна являются наихудшими или наиболее узкими? [закрыто]

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

28
Что делать с «Failure Driven Development»?

В нашем магазине мы стремимся быть гибкими. И я бы сказал, что мы делаем большие успехи. Тем не менее, некоторые из нас заметили паттерн, который мы начали называть «Разработка, управляемая отказами». Разработка, основанная на сбоях, в основном может быть описана как гибкий цикл выпуска / итерации,...

27
Альтернативы единому образцу

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

26
Если пустые значения являются злом, что следует использовать, если значение может отсутствовать по значению?

Это одно из правил, которые повторяются снова и снова, и это сбивает меня с толку. Нули - это зло, и их следует избегать всякий раз, когда это возможно . Но, но - из-за моей наивности, позвольте мне закричать - иногда значение МОЖЕТ быть значимо отсутствовать! Пожалуйста, позвольте мне спросить об...

26
Существует ли антипаттерн для описания этого метода кодирования? [закрыто]

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

22
Откуда взялся «выход (-1)»?

Я вижу в много унаследованного программного обеспечения и плохие учебники в Интернете , который рекомендуется использовать exit(-1), return -1или сходного представлять «аварийное завершение». Проблема, по крайней мере, в POSIX, -1никогда не была и не является допустимым кодом состояния. man 3...

21
Почему неправильно комментировать код, а затем постепенно удалять его, чтобы отслеживать, что я уже сделал и что еще предстоит сделать?

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

19
AntiPattern использует классы *** Helper или *** Util, содержащие только статические методы

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

19
Есть ли лучший способ использовать словари C #, чем TryGetValue?

Я часто просматриваю вопросы в Интернете, и многие решения включают словари. Однако всякий раз, когда я пытаюсь реализовать их, я получаю этот ужасный запах в своем коде. Например, каждый раз, когда я хочу использовать значение: int x; if (dict.TryGetValue("key", out x)) { DoSomethingWith(x); } Это...