Moin Leute,
Weil ich gerade dabei bin, die Namespaces meines Projektes stark umzustrukturieren bin ich wieder beim Problem mit der Groß- und Kleinschreibung der Verzeichnis- und Dateinamen gekommen.
Also mal ganz von vorne erklärt:
Der Source-Code für das Projekt implementiert die Namespaces etwa so:
Da sind dann verschiedene Klassen drin, also z.B.:
Die Namespaces und Klassen beginnen alle mit einem Großbuchstaben, sowie, wenn sie aus zusammengesetzten Wörtern bestehen, ist deren erster Buchstabe auch groß geschrieben. Soweit ich weiß, ist das Konvention. Das dient der Übersichtlichkeit und der Lesbarkeit. Klassen und Namespaces, sowie deren Objekte GROß, der Rest klein.
Eigentlich hätte ich jetzt die Struktur genauso als Verzeichnisstruktur implementert, wobei die Klassen .class.php als Endung bekommen. Einfach konsitent zur Benennung im Code.
Jetzt kommt aber wieder das alte Problem mit Windows bzw. Linux ins Spiel: Windows ist case insensitive, Linux case sensitve ...
Eigentlich ist es aber ja gar kein Problem, die Verzeichnisse genauso zu nennen, wie die Namespace Struktur es hergibt. Aber nur solange man konsitent bleibt.
Meiner Meinung nach ist das gar kein Problem. Weder auf Linux noch auf Windows. Immerhin haben wir ja im Code die Klassen und Namespaces sowieso schon benannt. Und der Code ist case sensitive.
Einer Meiner Entwickler hatte aber dazu auch schon seine Meinung abgegeben: Alle Verzeichnisse werden klein geschrieben.
Ich persönlich finde das Mist! Es hageln deswegen nur Probleme. Warum sollte plötzlich alle Verzeichnisse klein geschrieben werden, nur weil Linux case sensitive ist? Groß- und Kleinschreibung ist doch gar kein Problem. Immerhin ist mein Code doch auch case sensitive. Und wenn die Dateien genauso heißen wie die Klassen, ist es doch auch egal, ob dort Groß- und Kleinschreibung verwendet wird.
Dessen Lösung ist doch VIEL inkonsistenter, oder nicht? Und nur weil Linux case sensitive ist, dem Problem damit aus dem Weg zu gehen, alles klein zu schreiben, ist ABSOLUT keine saubere Lösung und gefällt mir GARNICHT! Das Problem liegt hier in meinen Augen auch nur beim Anwender und nicht bei Linux oder Windows. Wenn er sich an Konventionen hält und sich auch vorher mal über die Verzeichnisstruktur informiert, sollte alles gegessen sein.
Außerdem kommt meine IDE dauernd damit ins schludern. Es erkennt nicht, ob der Name und Namespace gleich ihres Dateinames bzw. Verzeichnisstruktur ist. Die Namespaceunterstützung ist damit in vielen Fällen, vor allem beim Erstellen neuer Klassen und beim Refactoring total nutzlos...
Wie es mit der spl_autoload_register()-Funktion aussieht ist auch so ne Sache. Die macht in der aktuellen Konfiguration mit immer kleingeschriebenen Verzeichnisnamen bestimmt auch Probleme, weil Klassennamen und Dateinamen nicht konsistent sind.
Jetzt wollte ich mal eure Meinung dazu hören.
Gruß
Manu
Weil ich gerade dabei bin, die Namespaces meines Projektes stark umzustrukturieren bin ich wieder beim Problem mit der Groß- und Kleinschreibung der Verzeichnis- und Dateinamen gekommen.
Also mal ganz von vorne erklärt:
Der Source-Code für das Projekt implementiert die Namespaces etwa so:
Code:
\Daemon \Core \GameImplementations \ActionHandlers \Servers \Server \Plugin \API \Adapters \Converters \Handlers \Lib \MySQL \Network \IO
Code:
\Core\Core \Server\Server \Server\Player \Server\PlayerMapper
Eigentlich hätte ich jetzt die Struktur genauso als Verzeichnisstruktur implementert, wobei die Klassen .class.php als Endung bekommen. Einfach konsitent zur Benennung im Code.
Jetzt kommt aber wieder das alte Problem mit Windows bzw. Linux ins Spiel: Windows ist case insensitive, Linux case sensitve ...
Eigentlich ist es aber ja gar kein Problem, die Verzeichnisse genauso zu nennen, wie die Namespace Struktur es hergibt. Aber nur solange man konsitent bleibt.
Meiner Meinung nach ist das gar kein Problem. Weder auf Linux noch auf Windows. Immerhin haben wir ja im Code die Klassen und Namespaces sowieso schon benannt. Und der Code ist case sensitive.
Einer Meiner Entwickler hatte aber dazu auch schon seine Meinung abgegeben: Alle Verzeichnisse werden klein geschrieben.
Ich persönlich finde das Mist! Es hageln deswegen nur Probleme. Warum sollte plötzlich alle Verzeichnisse klein geschrieben werden, nur weil Linux case sensitive ist? Groß- und Kleinschreibung ist doch gar kein Problem. Immerhin ist mein Code doch auch case sensitive. Und wenn die Dateien genauso heißen wie die Klassen, ist es doch auch egal, ob dort Groß- und Kleinschreibung verwendet wird.
Dessen Lösung ist doch VIEL inkonsistenter, oder nicht? Und nur weil Linux case sensitive ist, dem Problem damit aus dem Weg zu gehen, alles klein zu schreiben, ist ABSOLUT keine saubere Lösung und gefällt mir GARNICHT! Das Problem liegt hier in meinen Augen auch nur beim Anwender und nicht bei Linux oder Windows. Wenn er sich an Konventionen hält und sich auch vorher mal über die Verzeichnisstruktur informiert, sollte alles gegessen sein.
Außerdem kommt meine IDE dauernd damit ins schludern. Es erkennt nicht, ob der Name und Namespace gleich ihres Dateinames bzw. Verzeichnisstruktur ist. Die Namespaceunterstützung ist damit in vielen Fällen, vor allem beim Erstellen neuer Klassen und beim Refactoring total nutzlos...
Wie es mit der spl_autoload_register()-Funktion aussieht ist auch so ne Sache. Die macht in der aktuellen Konfiguration mit immer kleingeschriebenen Verzeichnisnamen bestimmt auch Probleme, weil Klassennamen und Dateinamen nicht konsistent sind.
Jetzt wollte ich mal eure Meinung dazu hören.
Gruß
Manu
Kommentar