Куда в пространствах имён определять трейты, интерфейсы и абстр. классы?

Привет всем.

Допустим, у меня автозагрузка по PSR 4, те пространства имен. Посмотрел стандарт, ничего не нашел.
Допустим, в пространстве имен Vasya\SuperFramework\Logs куча классов логов к различным таблицам и один класс абстрактный и один трейт и интерфейс.

Как лучше? Выделять ли под трейты и абстр. классы свой подпространство вот так:

Vasya\SuperFramework\Logs (тут лежат коннкретные классы логов)
Vasya\SuperFramework\Logs\Traits
Vasya\SuperFramework\Logs\AbstractClasses
Vasya\SuperFramework\Logs\Interfaces
  • Вопрос задан
  • 399 просмотров
Пригласить эксперта
Ответы на вопрос 1
Alex_Wells
@Alex_Wells
PHP/TS/Kotlin developer
Нет, не нужно ничего выделять, это идиотизм. Делить нужно по какой-то логике (logging, например), и внутри можно добавлять "под-категории", если нужно. Если меньше чем 20 файлов то и в этом смысла нет.

Почему? Потому что это упрощает навигацию. Если человек знает, что ищет, то он легко найдет это и без дерева файлов, а вот если не знает, то он может и не иметь представления о том, трейт это, абстрактный класс или интерфейс. Зато если разделить по "механике" - найти нужное будет не сложно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы