Я программист PHP, но то, что я хочу обсудить, зависит от Java.
После прочтения некоторых статей о венгерских соглашениях по обозначениям и именам на нескольких языках я доказал, насколько ясны соглашения об именах в Java для интерфейсов, у меня один вопрос.
Рассматривая случай с коллекциями объектов, когда у нас есть абстрактный класс с именем AbstractCollection и конкретный класс с именем Lists , как мне назвать Interface для Списки
Вопрос в том, что в соглашениях об именах Java нет префикса или суффикса для интерфейсов, таких как ListsInterface или InterfaceLists .
Списки - это имя интерфейса и, очевидно, по крайней мере, в PHP, два файла в одном каталоге не могут иметь одно и то же имя класса или интерфейса.
Не знаю, что КАЖДОМУ классу нужен Интерфейс, но что, если я решу перейти в команду программистов? Другие программисты могут использовать мои классы, но им не следует открывать файлы классов, чтобы увидеть, какие публичные методы они предлагают.
Просто прочитав его интерфейс, все понятно.
Точка структуры каталогов возникла из-за возможности добавить подкаталог с тем же именем интерфейса и внутри него файл конкретного класса. E.g.:
/
/Collections
/Collections/Lists.php <-- Interface
/Colection/Lists/Lists.php <--- Concrete Class
Что теперь?