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