Публикации по теме 'code-smells'


Код Запах 104 — Утвердить Верно
Утверждения против логических значений усложняют отслеживание ошибок. TL;DR: не утверждайте true, если вы не проверяете логическое значение Проблемы Принцип быстрого отказа Решения 1. Проверьте, можно ли лучше переписать логическое условие 2. Отдайте предпочтение assertEquals Контекст При утверждении логического значения наши тестовые движки не могут нам очень помочь. Они просто говорят нам, что что-то не удалось. Отслеживание ошибок усложняется. Образец кода..

Запах кода: нулевая проверка
Я люблю этот запах кода. Сначала я нахожу решение увлекательным. Во-вторых, индикатор (проверка на нуль) часто НЕ является проблемой, в большей степени, чем в большинстве кодовых запахов. Но в этом и заключается красота запахов кода. Они дают нам указание на то, что что-то МОЖЕТ быть не так, но мы должны проверить это сами и решить, действительно ли что-то нужно исправить. Итак, давайте начнем с рассмотрения примера проблемы: Здесь у нас есть пример кода с сайта электронной..

Code Smell 113 — Именование данных
Используйте имена доменов сущностей для моделирования объектов доменов сущностей. TL;DR: не называйте переменные данными. Проблемы Читабельность Плохое название Решения 1. Используйте ролевые имена. 2. Найдите имена в биекции . Контекст Мы часто используем «данные» в наших переменных. Мы привыкли это делать. Использование такого имени способствует анемичному обращению с объектами. Мы должны подумать об именах, специфичных для домена, и именах, предлагающих..

Код Запах 156 — Неявное Остальное
Мы узнаем, если/иначе, в наш первый день программирования. Тогда мы забываем об остальном TL;DR: будьте откровенны. Даже с Else. Проблемы Читабельность Когнитивная нагрузка Непредвиденные условия Нарушение принципа Fail Fast Решения Напишите явное else Контекст Если мы рано возвращаемся к предложению IF, мы можем опустить часть else. После этого мы Убираем IF и используем полиморфизм. Именно тогда мы пропускаем реальные дела. Образец кода..

Постоянное улучшение с помощью кода подсказки запахов
В последнее время в Co – Star наша кодовая база стала немного громоздкой. Мы увеличиваем его в течение последних двух лет и постоянно накапливаем технический долг. Недавно я узнал об Danger и хотел использовать его с hlint , чтобы помочь автоматизировать некоторые рекомендации по стилю кода, которые мы приняли внутри компании, чтобы помочь нам принять более проактивный подход к исправлению нашей кодовой базы. hlint - замечательный инструмент для выявления всевозможных мелких..

Идеально против достаточно хорошего при кодировании
Некоторое время назад я говорил на забавную тему: комментарии, как запах кода . Я получил изрядное количество дискуссий и встречных точек зрения от читателей по этой теме. Фактически, один фантастический читатель Патрик Майклсен дошел до того, что написал хорошо продуманное опровержение . При разработке кода мы часто обсуждаем идеальные практики. Хотя я могу указать на то, что к идеалу нужно стремиться, даже если вы никогда его не достигнете (например, без комментариев), есть другой..

Код Запах 35 - Состояние как Свойства
Когда объект меняет свое состояние, лучшим решением является изменение атрибута, не так ли? Проблемы Изменчивость Атрибуты загрязняющие Сеттеры Обоняние кода 28 - Сеттеры Первое упражнение, которое делают юные программисты. IDE, обучающие программы и старшие разработчики продолжают учить их этому антипаттерну. medium.com Решения Состояние модели как включение математического множества. Состояние случайное, убери от..