Я уверен, что за это проголосуют, но я все равно выскажу свое мнение :) 1001 *
Хотя многие из предложенных здесь предложений были хорошими, я думаю, что их нужно немного смягчить. Цель состоит в том, чтобы написать более надежное программное обеспечение, которое можно менять и обслуживать.
Цель не в том, чтобы иметь код, который можно тестировать на единицу. Чтобы сделать код более «тестируемым», нужно приложить немало усилий, несмотря на то, что тестируемый код не является целью. Это звучит очень хорошо, и я уверен, что это дает людям теплые размышления, но правда в том, что все эти методы, рамки, тесты и т. Д. Стоят дорого.
Они стоят времени на обучение, обслуживание, снижение производительности и т. Д. Иногда оно того стоит, иногда - нет, но вам никогда не следует ставить препятствия и заряжаться, чтобы сделать ваш код более "тестируемым".