Es geht in erste Linie um Konsistenz und Einfachheit.
Ich persönlich merke dass ich im Quellcode manchmal inkonsistent meine Namen vergebe und möchte dies nun ändern.
Dafür muss man ein gemeinsames Beispiel haben um aktiv daran arbeiten zu können.
Nehmen wir an wir haben eine Klasse mit dem Namen "Wetter".
Nehmen wir an die Datenbank sieht wie folgt aus:
Für diese Klassen möchten wir nun Methoden schreiben die folgendes können sollen (Stichwörter am Ende sind zur Markierung extra so verfasst):
Nun frage ich euch:
1.) Ist es überhaupt sinnvoll solch ein Schema zu haben ?
Denn einzelne Columns(Punkt 4.)) könnten z.B. auch per Row (3.) auslesen.
Somit würde man sich Schreibarbeit sparen, ist dieses "sparen" jedoch gut oder spart man am falschen Ende ?
2.) Wie würdet Ihr diese Methoden nennen ?
Es ist gang und gebe mit getter/setter zu arbeiten.
Ich komme aber leicht durcheinander wenn ich interne Variablen setze und etwas in die Datenbank speicher, da ich schnell inkonsistent benenne.
Hier meine Lösung zur oben genannter Aufgabenstellung:
3.)
Da ich in der Datenbank die Werte mit einem Underscore trenne, kommt alleine schon eine inkonsistenz bei dem Namen 2.)a.) zu stande, oder nicht ?
Sollte daher auch die Datenbank dem Quellcode angepasst werden oder ist der Methodenname einfach nur dämlich?
4.)
3.)a.) und 3.)b.) sind auch irgendwie "komisch" benannt, oder würdet ihr diese getter ähnlich nennen ?
Ich glaube die einfachste Frage ist, wenn Ihr solch einen Quellcode vor euch hättet, wie hättet ihr diesen am liebsten benannt dass ihr euch sofort reinfindet ?
Meine Absicht ist es möglichst "perfekten" Code zu schreiben, im Sinne von Konsistenz und "Durchschaubarkeit".
Wenn nikosch, tr0y oder ein anderer erfahrener PHP´ler mein Script anschaut soll er binnen kürzester Zeit wissen was Sache ist.
Vielen Dank für jeglichen Input.
Vor allem von erfahrenen Usern, die bestimmt desöfteren schon Probleme damit hatten und hier hoffentlich ihr Wissen preis geben.
Ich persönlich merke dass ich im Quellcode manchmal inkonsistent meine Namen vergebe und möchte dies nun ändern.
Dafür muss man ein gemeinsames Beispiel haben um aktiv daran arbeiten zu können.
Nehmen wir an wir haben eine Klasse mit dem Namen "Wetter".
Nehmen wir an die Datenbank sieht wie folgt aus:
PHP-Code:
ID | Stadt | Jetziges_Wetter
1.) Neunen Eintrag anlegen (Insert)
2.) a.) Einzelne Column ändern Jetziges_Wetter (update)
2.) b.) Einzelne Column ändern Stadt (update)
3.) a.) Gesamte Row auswählen an Hand ID (select)
3.) b.) Gesamte Row auswählen an Hand Stadt (select)
4.) a.) Einzelne Column Jetziges_Wetter auslesen an Hand ID (select)
4.) b.) Einzelne Columns Jetziges_Wetter auslesen an Hand der Stadt (select)
5.) Einzelne klasseninterne Variable setzen (z.B. $_var)
6.) Einzelne Klasseninterne Variable auslesen (z.B. $_var)
2.) a.) Einzelne Column ändern Jetziges_Wetter (update)
2.) b.) Einzelne Column ändern Stadt (update)
3.) a.) Gesamte Row auswählen an Hand ID (select)
3.) b.) Gesamte Row auswählen an Hand Stadt (select)
4.) a.) Einzelne Column Jetziges_Wetter auslesen an Hand ID (select)
4.) b.) Einzelne Columns Jetziges_Wetter auslesen an Hand der Stadt (select)
5.) Einzelne klasseninterne Variable setzen (z.B. $_var)
6.) Einzelne Klasseninterne Variable auslesen (z.B. $_var)
1.) Ist es überhaupt sinnvoll solch ein Schema zu haben ?
Denn einzelne Columns(Punkt 4.)) könnten z.B. auch per Row (3.) auslesen.
Somit würde man sich Schreibarbeit sparen, ist dieses "sparen" jedoch gut oder spart man am falschen Ende ?
2.) Wie würdet Ihr diese Methoden nennen ?
Es ist gang und gebe mit getter/setter zu arbeiten.
Ich komme aber leicht durcheinander wenn ich interne Variablen setze und etwas in die Datenbank speicher, da ich schnell inkonsistent benenne.
Hier meine Lösung zur oben genannter Aufgabenstellung:
1.) setRow($Stadt = '', $Jetziges_Wetter = '')
2.) a.) setColumnJetziges_Wetter ($ID)
2.) b.) setColumnStadt ($ID)
3.) a.) getRowById ($ID)
3.) b.) getRowByStadt ($Stadt)
4.) a.) getColumnJetziges_Wetter($ID)
4.) b.) getColumnJetziges_Wetter($Stadt)
5.) setVar ($var)
6.) getVar ($var)
2.) a.) setColumnJetziges_Wetter ($ID)
2.) b.) setColumnStadt ($ID)
3.) a.) getRowById ($ID)
3.) b.) getRowByStadt ($Stadt)
4.) a.) getColumnJetziges_Wetter($ID)
4.) b.) getColumnJetziges_Wetter($Stadt)
5.) setVar ($var)
6.) getVar ($var)
Da ich in der Datenbank die Werte mit einem Underscore trenne, kommt alleine schon eine inkonsistenz bei dem Namen 2.)a.) zu stande, oder nicht ?
Sollte daher auch die Datenbank dem Quellcode angepasst werden oder ist der Methodenname einfach nur dämlich?
4.)
3.)a.) und 3.)b.) sind auch irgendwie "komisch" benannt, oder würdet ihr diese getter ähnlich nennen ?
Ich glaube die einfachste Frage ist, wenn Ihr solch einen Quellcode vor euch hättet, wie hättet ihr diesen am liebsten benannt dass ihr euch sofort reinfindet ?
Meine Absicht ist es möglichst "perfekten" Code zu schreiben, im Sinne von Konsistenz und "Durchschaubarkeit".
Wenn nikosch, tr0y oder ein anderer erfahrener PHP´ler mein Script anschaut soll er binnen kürzester Zeit wissen was Sache ist.
Vielen Dank für jeglichen Input.
Vor allem von erfahrenen Usern, die bestimmt desöfteren schon Probleme damit hatten und hier hoffentlich ihr Wissen preis geben.
Kommentar