Не делайте две или более вещей одновременно.

TL;DR: старайтесь быть как можно более атомарными в своих методах

Проблемы

  • Связанный код
  • Сложнее тестировать
  • Труднее читать

Решения

  1. Разбейте метод

Рефакторинг



Контекст

Если вы называете метод с помощью «И», вы, вероятно, упускаете возможность метода извлечения и разбиения.

Образец кода

Неправильный

calculatePrimeFactorsRemoveDuplicatesAndPrintThem()
// Three responsibilities

Верно

calculatePrimeFactors();
removeDuplicates();
printNumbers();
// Three diferent methods
// We can test them and reuse them

Обнаружение

[X] Полуавтоматический

Некоторые линтеры могут предупредить нас о методах, включающих термин «и».

Теги

  • Связь

Заключение

При разработке методов очень важно разыграть какую-нибудь историю с резиновой уткой и сказать себе, все ли мы делаем правильно.

связи



Отказ от ответственности

Code Smells — это всего лишь мое мнение.

Кредиты

Фото автора Скотт Санкер на Unsplash

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

Джошуа Блох



Эта статья является частью серии CodeSmell.