Не делайте две или более вещей одновременно.
TL;DR: старайтесь быть как можно более атомарными в своих методах
Проблемы
- Связанный код
- Сложнее тестировать
- Труднее читать
Решения
- Разбейте метод
Рефакторинг
Контекст
Если вы называете метод с помощью «И», вы, вероятно, упускаете возможность метода извлечения и разбиения.
Образец кода
Неправильный
calculatePrimeFactorsRemoveDuplicatesAndPrintThem()
// Three responsibilities
Верно
calculatePrimeFactors();
removeDuplicates();
printNumbers();
// Three diferent methods // We can test them and reuse them
Обнаружение
[X] Полуавтоматический
Некоторые линтеры могут предупредить нас о методах, включающих термин «и».
Теги
- Связь
Заключение
При разработке методов очень важно разыграть какую-нибудь историю с резиновой уткой и сказать себе, все ли мы делаем правильно.
связи
Отказ от ответственности
Code Smells — это всего лишь мое мнение.
Кредиты
Фото автора Скотт Санкер на Unsplash
Изучение искусства программирования, как и большинства других дисциплин, состоит в том, чтобы сначала изучить правила, а затем научиться их нарушать.
Джошуа Блох
Эта статья является частью серии CodeSmell.