Рефакторинг статических классов

Использование статических классов со статическими методами внутри обладает серией недостатков. Одним из недостатков является появление в коде скрытых зависимостей, так как нельзя понять по интерфейсу либо конструктору некоторого класса зависит ли он от статики или нет. Статические классы нельзя использовать полиморфно. Также подобные классы часто выполняют роль таких себе Helper’ов, Manager’ов, Doer’ов, которым свойственно отвечать за все на свете и разрастаться до немыслимых размеров. Со всеми перечисленными минусами еще можно сосуществовать некоторое время. Однако когда дело доходит до необходимости написания юнит-тестов, от использования статики приходится отказаться в пользу других решений. Рассмотрим их.

Продолжить чтение «Рефакторинг статических классов»

Борьба с побочными эффектами

Простыми словами, побочный эффект или side effect это когда изменение некоторого свойства в одном месте программы непредсказуемо влияет на поведение другой ее части (или многих частей). Побочные эффекты являются ничем иным как багами, исследование которых может потребовать глубокого дебага, продолжительностью от нескольких минут до нескольких часов.
Продолжить чтение «Борьба с побочными эффектами»