Поскольку ваша среда IDE предоставляет вам функцию « Перейти к », и у вас есть некоторый контроль над пространством имен в своих классах, то приведенные ниже преимущества наличия нескольких классов в одном файле для меня вполне того стоят.
Родительские - дочерние классы
Во многих случаях я считаю весьма полезным иметь унаследованные классы в своем файле базового класса.
Тогда довольно легко увидеть, какие свойства и методы наследует ваш дочерний класс, а файл обеспечивает более быстрый обзор общей функциональности.
Public: Small - Helper - DTO Classes
Когда вам нужно несколько простых и небольших классов для определенной функциональности, я считаю излишним иметь файл со всеми ссылками и включать только класс 4-8 Liner ...
Навигация по коду также упрощается, просто прокручивая один файл вместо переключения между 10 файлами ... Также легче провести рефакторинг, когда вам нужно отредактировать только одну ссылку вместо 10 ...
В целом нарушение железного правила «1 класс на файл» дает некоторую дополнительную свободу в организации кода.
Что произойдет дальше, на самом деле зависит от вашей IDE, языка, навыков командного общения и организационных навыков.
Но если вы хотите эту свободу, зачем жертвовать ею ради железного правила?