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

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

267
#Regions - это антипаттерн или запах кода?

C # позволяет использовать ключевые слова #region/, #endregionчтобы сделать области кода разборными в редакторе. Всякий раз, когда я делаю это, я делаю это, чтобы скрыть большие куски кода, которые, вероятно, могут быть преобразованы в другие классы или методы. Например, я видел методы, которые...

88
Оценка короткого замыкания, это плохая практика?

Что-то, что я знал некоторое время, но никогда не рассматривал, это то, что в большинстве языков можно отдавать приоритет операторам в операторе if на основе их порядка. Я часто использую это как способ предотвращения исключений нулевой ссылки, например: if (smartphone != null &&...

75
Как тренировать себя, чтобы не писать «умный» код? [закрыто]

Знаете ли вы это чувство, когда вам просто нужно показать этот новый трюк с Expressions или обобщить три разные процедуры? Это не должно быть в масштабе Архитектуры Астронавта и на самом деле может быть полезным, но я не могу не заметить, что кто-то другой реализовал бы тот же класс или пакет более...

53
Что такое код «зависти к особенностям» и почему он считается запахом кода?

Этот вопрос о SO говорит о том, чтобы исправить то, что OP считал кодом зависти к функциям . Другой пример, где я видел, как цитируется эта изящная фраза, - недавно полученный ответ здесь, в programmers.SE. Несмотря на то, что я добавил комментарий к этому ответу с просьбой предоставить информацию,...

52
Если ваш код модульного теста «пахнет», это действительно имеет значение?

Обычно я просто собираю свои модульные тесты, используя копирование и вставку, и другие виды плохой практики. Модульные тесты обычно выглядят довольно некрасиво, они полны «запаха кода», но действительно ли это имеет значение? Я всегда говорю себе, пока «реальный» код «хорош», и это все, что имеет...

47
Являются ли переменные флага абсолютным злом? [закрыто]

Являются ли переменные флага злыми? Являются ли перечисленные ниже переменные глубоко аморальными, и стоит ли их использовать? «Булевы или целочисленные переменные, которым вы присваиваете значение в определенных местах, а затем внизу, вы проверяете, затем в другом, что-то делаете или нет, как,...

43
Есть ли причина использовать классы «старых данных»?

В унаследованном коде я иногда вижу классы, которые являются ничем иным, как обертками для данных. что-то типа: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } Мое понимание ОО состоит в том, что классы являются структурами для данных и методами работы с...

37
Есть ли запахи в архитектуре?

В Интернете существует множество ресурсов, которые ссылаются на запахи кода. Однако я никогда не видел информации об архитектурных запахах . Это определено где-нибудь, и есть ли список? Были ли проведены какие-либо формальные исследования дефектов архитектуры и их влияния на скорость проекта,...

36
В какой точке / диапазоне файл кода слишком велик?

Я нахожу много файлов по 2-3 тыс. Строк, и на самом деле не кажется, что они должны быть такими большими. Что является хорошим критерием, чтобы объективно называть файл исходного кода «слишком большим»? Существует ли такая вещь, как максимальное количество строк, которое должен иметь файл исходного...

31
Хорошо ли иметь запах кода, если он допускает более простое решение другой проблемы? [закрыто]

Группа друзей и я работали над проектом в последнее время, и мы хотели изобрести хороший ООП-способ представления сценария, специфичного для нашего продукта. По сути, мы работаем над пули-адом в стиле Тохоу , и мы хотели создать систему, в которой мы могли бы легко представить любое возможное...

31
Считается ли Pythonic иметь несколько классов, определенных в одном файле?

Работая с python впервые, я обнаружил, что в итоге я пишу несколько классов в одном файле, в отличие от других языков, таких как Java, которые используют один файл на класс. Обычно эти классы состоят из 1 абстрактного базового класса с 1-2 конкретными реализациями, использование которых...

30
Несколько классов в одном файле .cs - хорошо или плохо? [закрыто]

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

27
Является ли владение кодом запахом кода?

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

23
Мой коллега создал таблицу SQL на 96 столбцов

Здесь мы в 2010 году, инженеры-программисты с 4 или 5 годами или опытом, все еще разрабатывающие таблицы с 96 колоннами фракционирования. Я сказал ему, что это будет кошмар. Я показал ему, что мы должны использовать ординалы для взаимодействия MySQL с C #. Я объяснил, что таблицы с большим...

20
Являются ли методы init () запахом кода?

Есть ли цель объявить init()метод для типа? Я не спрашиваю, стоит ли нам отдавать предпочтение init()конструктору или как избежать объявленияinit() . Я спрашиваю, есть ли какое- либо обоснование для объявления init()метода (видя, насколько он распространен) или это запах кода, и его следует...

19
Должны ли абстракции снижать читабельность кода?

Хороший разработчик, с которым я работаю, недавно рассказал мне о некоторых трудностях, с которыми он столкнулся при реализации функции в некотором коде, который мы унаследовали; он сказал, что проблема была в том, что за кодом было трудно следовать. Исходя из этого, я посмотрел вглубь продукта и...

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

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

19
Является ли слишком много утверждений кода запахом?

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

18
Почему классы данных считаются запахом кода?

В этой статье утверждается, что класс данных - это «запах кода». Причина: Это нормально, когда недавно созданный класс содержит только несколько открытых полей (и, возможно, даже несколько получателей / установщиков). Но истинная сила объектов в том, что они могут содержать типы поведения или...

17
Передача объекта в метод, который изменяет объект, является ли это обычным (анти) шаблоном?

Я читаю об общих запахах кода в книге Рефакторинга Мартина Фаулера . В этом контексте мне было интересно узнать о паттерне, который я вижу в кодовой базе, и можно ли объективно рассматривать его как анти-паттерн. Это шаблон, в котором объект передается в качестве аргумента одному или нескольким...