On Sun, Mar 03, 2002 at 08:18:45PM +0100, Bert Lange wrote:
Im Ernst: OOP ist eine Programmiertechnik, die ihre Vor- und Nachteile hat: +steigert die Uebersichtlichkeit
Jein. Ich durfte mal ein Stück Java debuggen, da bestand eine Funktion aus 300 Zeilen, in denen die Datenbank ordentlich durcheinander gebracht wurde...
In den meisten Coding-Style Dokumenten kann man lesen, daß daß man irgendwas falsch macht, wenn eine Funktion/Methode über mehr als 2-3 Bildschirmseiten (a 25 Zeilen) geht. Siehe auch:
Egal welches Paradigma Du anwendest: sich selbst in den Fuss schiessen und dabei noch den ganzen Code verhunzen geht immer.
Programmierst Du das linear (Perl, PHP, Python ohne OOP und Zope, etc.pp) dann musst Du bei jeder neuen Seite das Ganze Teil neu aufsetzen, inklusive Authentifikation, Session-Tracking, etc.pp. Bei Layout-aenderungen gehst Du alle Seiten durch und guckst wo was geaendert werden muss. Das wird schnell sehr aufwaendig, wenn die Datenstrukturen wachsen und der Code kompliziert wird.
Nein, muß ich nicht. Spätestens wenn ich merke, das ich irgendeine Funktionalität zum dritten Mal in einem Projekt programmiere, wird das Ding in eine Funktion ausgelagert. Egal ob Layout, Auth, DB-Init. Aber solange wie sich z.B. das Layout nicht ständig wiederholt, kann ich es so lassen wie es ist.
Bei OO geht es weniger um die Kapselung/Modularisierung von Funktionen, als vielmehr um die Daten. Wenn Du in C eine Struktur benutzt, nimmst Du in C++ eine Klasse. Die macht das gleiche wie die Struktur + Du kannst die spezifischen Funktionen gleich mit reinpacken.
Eric