AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Klassen verwalten, wie macht ihr das? Was ist sinnvoll?
Thema durchsuchen
Ansicht
Themen-Optionen

Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

Ein Thema von BAMatze · begonnen am 25. Mai 2009 · letzter Beitrag vom 23. Jun 2009
Antwort Antwort
Seite 1 von 3  1 23      
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#1

Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:15
Hallo an alle DPler,

Hab hier mal eine Frage an die etwas versierteren Programmierer. Und zwar habe ich ein paar hilfreiche Klassen geschrieben (keine Komponenten), die mir ein paar Funktionen zur Verfügung stellen, die ich ab und zu brauche (Ein kurzes Beispiel ist z.B. eine Klasse, die eine Datei auf vorhandensein prüft und wenn vorhanden das Handle zurück gibt).
Wie verwaltet ihr solche Quellcode, die an sich nicht in Komponenten umgewandelt werden aber trotzdem sinnvoll sind? Bisher kopiere ich meistens den Quellcode in die Pas-Datei, was nicht sinnvoll ist. Sicherlich wären unabhängige Pas-Dateien sinvoller, aber wie stellt man die so zusammen, dass man auch in einem Jahr noch weiß, was wo drin ist, welche Funktionen da drin stecken, ... .

Würe mich über Anregungen in der Organisation sehr freuen,

Vielen Dank
BAMatze
2. Account Sero
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:22
Zitat von BAMatze:
...aber wie stellt man die so zusammen, dass man auch in einem Jahr noch weiß, was wo drin ist, welche Funktionen da drin stecken, ... .

Indem ich den Quelldateien vernünftige - alle Unklarheiten beseitigende und genau die Funktionalitäten beschreibende - Namen vergebe.

...und wenn ich in einem Monat bemerke, daß der Name doch nicht ganz vernünftig war, ändere ich es wieder.


Edit: Jede Klasse in eine Datei ist für mich Pflicht.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#3

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:26
Bastel dir eine CodeLibrary in der du alle nötigen Funktionen ablegst und dann bei Bedarf rauskopierst

Prinzipiell ist nichts gegen Klassen einzuwenden, allerdings zweckentfremdest du das Klassenprinzip hier ein bisschen. Schließlich fällt ja in deinem Falle die Benutzung von Membervariablen (Variablen in der Klasse) komplett weg. Wenn du später mal hoch effizient programmieren willst (Echtzeitanwendungen/Spieleentwickung), dann solltest du auf übermäßigen Klassengebrauch/Verarbung so gut es geht verzichten, da Sprünge zwischen Klassen immer Overhead produzieren (z.B. durch Parameterübergaben durch den Stack etc). Deswegen -> Codelib
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:27
Zitat von BAMatze:
Bisher kopiere ich meistens den Quellcode in die Pas-Datei, was nicht sinnvoll ist. Sicherlich wären unabhängige Pas-Dateien sinvoller, aber wie stellt man die so zusammen, dass man auch in einem Jahr noch weiß, was wo drin ist, welche Funktionen da drin stecken, ... .
Ich selbst verwende für meine eigenen, immer wieder verwendeten Codeschnipsel (z.B. Konvertierung des Datums in das Format YYY-MM-DD, Auslesen der Versions-Nummer, Prüfung ob ein Datenträger im Wechsellaufwerk vorhanden ist) eine einzige PAS-Datei, die ich dann in die Projekte einbinde.
Welche Funktionen da drinnen sind, habe ich weitgehend im Kopf. Aber es ist vielleicht auch nicht verkehrt, sich eine Dokumentation zu schreiben, in der man seine Klassen und Funktionssammlungen nach Themengebieten ordnet. So etwas hatte ich vor 2 Jahren mal angefangen, aber leider nicht gepflegt (zu wenig Zeit .

Gruß
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.649 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:32
Ich verwende recht intensiv Quelltexte oder ganze Projekte (z.B. eins zur Verwaltung von Einstellungen) in anderen Projekten wieder. Dafür nutze ich NTFS Junctions, so dass ich Bibliotheksordner oder Projektordner direkt in die jeweiligen Projekte eingeblendet habe. Wenn ich dann etwas an der Bibliothek verbessere, kommt das auch allen Projekten zugute.

Zudem kann ich das Projekt inkl. Quelltext direkt so ausliefern ohne die Pfade ändern zu müssen, denn für das Projekt liegen die Units ja in einem Unterordner des Projekts und werden bei der automatischen Paketerstellung auch mit erfasst. Die Pfade stimmen dann direkt. Insofern nehmen NTFS Junctions an der Stelle sehr viel Arbeit ab, man muss dafür aber eine klare Struktur in den Projekten haben.

Voraussetzung ist natürlich eine gute Dokumentation, so dass man weiß was wo verwendet wird und welche Auswirkungen eine Änderung dementsprechend auf andere Projekte haben kann.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:35
Zitat von MisterNiceGuy:
Wenn du später mal hoch effizient programmieren willst (Echtzeitanwendungen/Spieleentwickung), dann solltest du auf übermäßigen Klassengebrauch/Verarbung so gut es geht verzichten, da Sprünge zwischen Klassen immer Overhead produzieren (z.B. durch Parameterübergaben durch den Stack etc).
Ersteres ist für Delphi unerheblich, da Windows kein Echtzeitbetriebssystem ist und zweiteres wage ich zu bezweifeln, da der produzierte Overhead auf heutigen Systemen nicht weiter ins Gewicht fallen dürfte.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#7

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:44
Lege solche Klassen in ein Package. Auch wenn es keine Komponenten enthält. Einerseits kann ich dieses Package dann auch in Packages für Komponenten verwenden und andererseits habe ich diese Klassen nicht immer im jeweiligen Projekt mitzuverwalten. Für die Packages habe ich dann noch einzelne Verzeichnisse. Nur DCU und BPL Dateien kommen dann in gemeinsame Packageausgabeverzeichnisse.

Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#8

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:44
Zitat von jaenicke:
Voraussetzung ist natürlich eine gute Dokumentation, so dass man weiß was wo verwendet wird und welche Auswirkungen eine Änderung dementsprechend auf andere Projekte haben kann.
Hier empfehle ich Bei Google suchenPasdoc. Du dokumentierst Deine Funktionen und alle Parameter etc. direkt im Source und generierst die Doku (z.B. als HTML-Datei) automatisch. Finde ich klasse.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:44
Zitat von jaenicke:
Insofern nehmen NTFS Junctions an der Stelle sehr viel Arbeit ab, man muss dafür aber eine klare Struktur in den Projekten haben.
@jaenicke: Also das hört sich ziemlich gut schonmal an, kannte ich so noch nicht. Wie verwaltest du deine einzelnen Quellcode dann ansich? Hast du sie einzeln in Pas-Dateien gelagert?

@all: auch wenn die Frage vieleicht etwas komisch klingt, aber da ich mich noch nicht so damit beschäfftigt habe, außer vorhandene zu verwenden, würde hier eine DLL oder so Sinn machen? Die scheinen ja so ähnlich zu funktionieren, wie die Header-Dateien in C/C++ und da ich dort mal Info-Unterricht drin hatte, weiß ich unser Lehrer hat für sich eigene Header-Dateien geschrieben, wo viele Funktionen drin lagen, die er häufig verwendet hat.

BAMatze
2. Account Sero
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Klassen verwalten, wie macht ihr das? Was ist sinnvoll?

  Alt 25. Mai 2009, 11:50
Es geht um reine Prozeduren und Funktionen, die du künstlich in Klassen integrierst?

Wenn ja, dann schlage ich dir mal Klassenfunktionen vor.
Alle Funktionen und Prozeduren, die einen bestimmten Zweck verfolgen fasst du damit in
einen Namensraum zusammen.

Delphi-Quellcode:
type
  TStringManipulator = class
  public
    class function Manipulate(AString: String): string;
   ...
Du brauchst dann auch nicht die Klassen zu instanzieren und rufts die Funktionen über den Namensraum auf.

Delphi-Quellcode:
  ...
  newString := TStringManipulator.Manipulate(myString);
  ...

Ich benutze gerne solche Zusammenfassungen über Klassen mit reinen Klassenfunktionen.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr.
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