Под дружеским ярлыком скрывается еще один запах спаривания.

Проблемы

  • Связь
  • Неожиданные результаты
  • Побочные эффекты
  • Волновой эффект
  • В языках с необязательными аргументами, но ограниченными базовыми типами, нам нужно установить флаг и добавить случайный IF (еще один запах).

Решения

  1. Сделайте аргументы явными.
  2. Все вызовы функций должны иметь одинаковую арность.
  3. Используйте именованные параметры, если ваш язык их поддерживает.

Образец кода

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

Правильно

Обнаружение

Обнаружение легко, если язык поддерживает необязательные аргументы.

Теги

  • По желанию
  • Лень

Вывод

Будьте откровенны. Предпочитайте удобочитаемость более короткому (и более связанному) вызову функции.

Больше информации



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

Сеймур Крей



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