Аз съм PHP програмист, но това, което искам да обсъдя, е повлияно от Java.
След като прочетох няколко статии за унгарската нотация и конвенциите за именуване на няколко езика, доказах колко ясни са конвенциите за именуване на Java за интерфейси, имам един въпрос.
Имайки предвид случая с колекциите от обекти, където имаме абстрактен клас, наречен AbstractCollection, и конкретния клас, наречен Lists, как трябва да именувам интерфейс за Списъци?
Въпросът е, че в конвенциите за именуване на Java няма нито префикс, нито суфикс за интерфейси, като ListsInterface или InterfaceLists.
Списъци Е име на интерфейс и, очевидно, поне в PHP, два файла в една и съща директория не могат да имат едно и също име на клас или интерфейс.
Не ВСЕКИ клас се нуждае от интерфейс, знам, но какво ще стане, ако реша да се преместя в екип по програмиране? Другите програмисти може да използват моите класове, но не трябва да отварят файловете на класа, за да видят какви публични методи предлага.
Само като прочетете интерфейса му, всичко е ясно.
Точката на структурата на директорията идва от възможността да се добави поддиректория със същото име на интерфейса и вътре в нея файлът на конкретния клас. напр.:
/
/Collections
/Collections/Lists.php <-- Interface
/Colection/Lists/Lists.php <--- Concrete Class
Сега какво?