Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Objektorientierte Programmierung (https://www.delphipraxis.net/142247-objektorientierte-programmierung.html)

vsilverlord 24. Okt 2009 14:53


Objektorientierte Programmierung
 
Hallo leute,
um meine klassen erstellen und verwalten benutze ich den UMLed UML-Editor, von dem habe ich nämlich auch eine Lizens (von der Schule).
Das Problem ist, dass ich mittlerweile ziemlich viele Klassen erstellt habe, und wenn man mit dem Editor eine neue Klasse erstellt, muss man die zwangsläufig in eine neue Unit reinsetzen, und somit enstehen tausende verschiedener Units, was eigentlich total unnütz ist. Wenn ich jetzt einfach alle Klassen in eine Unit reinpacke, versteht das der Editor nicht mehr, und das ist ja eigentlich nicht Sinn der Sache, wenn ich zb. die Units verändern möchte oder anpassen will, würde ich das nämlich gerne mit dem Editor machen.
so, was nun? Kennt ihr einen besseren Editor? Der Editor versteht nämlich noch mehr Sachen nicht, beispielsweise properties kennt er nicht. Oder habt ihr eine Lösung für mein Problem?

Phoenix 24. Okt 2009 15:04

Re: Objektorientierte Programmierung
 
Eine Klasse gehört in eine Datei.
Mehrere Klassen in eine Unit zu packen is unsauberer Stil und sollte wenn möglich vermieden werden.

Ansonsten halte ich persönlich nicht viel, von UML heraus klassen zu generieren.
Andersrum wird eher ein schuh draus (aus einer Klasse ein Diagramm erzeugen -> zu Dokumentationszwecken).

Der Hintergrund ist einfach: Man muss beim entwickeln sonst zu oft das Tool wechseln. Die Unit-tests designed man ja auch nicht in UML sondern schreibt den Test im Code. Dann kann man die klasse die getestet wird auch unmittelbar danach im Code schreiben. AUsserdem ist man in aller Regel an der tastatur schneller als mit der maus in einem designer.

Luckie 24. Okt 2009 15:06

Re: Objektorientierte Programmierung
 
Zitat:

Zitat von Phoenix
Eine Klasse gehört in eine Datei.
Mehrere Klassen in eine Unit zu packen is unsauberer Stil und sollte wenn möglich vermieden werden.

Das würde ich nicht so pauschal sagen. Klassen die zusammengehören mache ich auch in eine Unit. Es sei denn ich habe das Gefühl, dass mir die Unit zu groß wird.

Phoenix 24. Okt 2009 15:07

Re: Objektorientierte Programmierung
 
Lese mal Clean Code ;-)

Luckie 24. Okt 2009 15:11

Re: Objektorientierte Programmierung
 
Habe ich. Ich glaube, ich habe das hier auch mal vorgestellt. Aber das bedeutet ja nicht, dass man davon abweichen kann, wenn man der Meinung ist, dass es anders besser ist. Ich sehe das Buch so, dass es Ratschläge und Hinweise enthält, wie man besseren Code schreiben kann. Allerdings muss man sich nicht sklavisch daran halten. Man sollte immer noch selber entscheiden, wie man etwas macht. Genauso wie der Styleguide von Borland auch nur ein Ratschlag bzw. Hinweis ist, wie man Code formatieren sollte.

Phoenix 24. Okt 2009 15:14

Re: Objektorientierte Programmierung
 
Das schon, aber die Stelle ist extrem gut Begründet.
Wenn ich wissen will, was es für Änderungen an einer Klasse gegeben hat, dann gucke ich mir die History dieser Klasse (=Datei) in meiner Quellcodeverwaltung an. Sind da nun MEHR als eine Klasse drin, dann erhalte ich mit dieser History jede Menge unnütze Informationen (Änderungen an anderen Klassen, die mich nicht interessieren und nur ablenken).

Ausser natürlich, man benutzt keine Versionierung. Aber das ist ja schon eher gröbste Pflichtverletzung als Entwickler ;-)

vsilverlord 24. Okt 2009 15:21

Re: Objektorientierte Programmierung
 
tut mir leid, ich versteh das nicht mit dem 'eine Datei daraus machen'. Wie funktioniert das? Das mit der Versionierun hört sich gut an. Aber ohne den UML-Editor zu arbeiten, halte ich eigentlich bei dem jetzigen Zweck für nicht für so sinnvoll, da ich total viele verschiedene Objektklassen habe, und die sind alle von einem 'Oberobjekt' vererbt. Wäre es nicht praktisch, die alle in eine Unit reinzupacken? Gibt es noch elegantere Lösungen? Ich bin für alles offen, auch etwas neues auszuprobiern.
Gruß

Phoenix 24. Okt 2009 15:36

Re: Objektorientierte Programmierung
 
Zitat:

Zitat von vsilverlord
Wäre es nicht praktisch, die alle in eine Unit reinzupacken?

Aus oben genannten Gründen eher nein. Eine Klasse sollte in einer Unit stehen. Um das sauber zu haben steht bei mir sogar jede Enum und jeder Record in einer eigenen Unit.

LDericher 24. Okt 2009 15:49

Re: Objektorientierte Programmierung
 
Zitat:

Zitat von Phoenix
Um das sauber zu haben steht bei mir sogar jede Enum und jeder Record in einer eigenen Unit.

Das grenzt ja schon an Psychosen :D
Und... Versionierung... von Hand oder gibts dafür auch ne IDE-automatisierte Möglichkeit? :gruebel:

Gruß LDer

divBy0 24. Okt 2009 15:54

Re: Objektorientierte Programmierung
 
Zitat:

Zitat von Phoenix
Zitat:

Zitat von vsilverlord
Wäre es nicht praktisch, die alle in eine Unit reinzupacken?

Aus oben genannten Gründen eher nein. Eine Klasse sollte in einer Unit stehen. Um das sauber zu haben steht bei mir sogar jede Enum und jeder Record in einer eigenen Unit.

Ich hab' auch ganz gern Records in einer eigenen Unit. Mehrere Klassen packe ich z.B. nur in eine Unit, wenn die Klassen relativ klein sind und das ganze nicht unübersichtlich wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz