Добавллю, что часто путают документацию и комментарии внутри кода (возможно из-за того, что оформляется как коментарии).
Дак вот документация, особенно для API, предназначенного для стороннних пользователей твоего кода просто жизненно необходима, так как даёт возможность быстрее разобраться в том, как использовать API.
То, о чём вы пишите мне знакомо, и соглашусь, что ломать архитектуру ради тестов как-то странно. И здесь мне кажется лишь проявляется ошибка в использовании TDD, то есть когда тесты пишутся на существующий код.
Ответил ниже. Но в данном опусе мне кажется не столь принципиально, на чем показывать аналогию, вся суть, на мой взгляд, выражена в последнем предложении. Но если бы я написал только его, это было бы очевидно.
В статье под дженериками (generic) подразумеваются не те дженерики, которые параметризованые типы, а обобщенные абстракции.
В остальном, как выше уже писали необходим баланс, эта статья, на мой взгляд, как раз об отсутствии баланса — о забивании гвоздей микроскопом.
Дак вот документация, особенно для API, предназначенного для стороннних пользователей твоего кода просто жизненно необходима, так как даёт возможность быстрее разобраться в том, как использовать API.
В остальном, как выше уже писали необходим баланс, эта статья, на мой взгляд, как раз об отсутствии баланса — о забивании гвоздей микроскопом.