wir waren ja gestern auf dem Treffen in Bakcknang.
Dort war Dokumentation und Programmgestaltung auch ein großes Thema.
Ich habe mir natürlich auch ein paar Gedanken dazu gemacht.
Zum Thrma Programmgestaltung möchte ich hier nicht näher drauf eingehen.
Ich gebe Euch nur einen Link und jeder muss sehen was er daraus macht.
https://chriswigit.github.io/dev-guidelines/
Zum Thema Dokumentation werde ich in Zukunft folgender Massen vorgehen.
Am Anfang vom Programm (so nach Unit) habe ich folgenden Text eingefügt.
{
Hersteller:
LinSoft Jürgen linder (juelin) dg5uap@darc.de
Lizens:
Opensource entsprechend
Hardware:
keine zusätzliche Hardware
Software:
Folgende Files
ProgDiag.exe muß im Soucepfad vorhanden sein
wie Compelieren:
Lazarus IDE mit FPC
Printer4Lazarus muss im Objektinspektor als neue
Anforderung hinzugefügt sein
wie Ausführen:
Ausführen ProgDiag.exe (Icon)
Benötigte Packages
LCL, LCLBase
}
Wo die Procedure und Funktion deklariert werden (hinter type) mache ich
zu JEDEM Eintrag einen kleinen Kommentar mit //
function Blankdazu(Pos, Lan: integer; var Htextstring: string): string; // Blanks im Htextstring einfügen und in Result zurück geben
// Lan = Ausgabelänge von Result
// Pos 1 = vor dem Text
// Pos 2 = hinter dem Text
procedure AnzeigeLoe; // Löschen alle Ein- und Ausgabefelder der Bildschirmanzeige
procedure LadenVariable; // Laden Tabelle varname ins Stringgrid
Beri den globalen Variablen (hinter Var) mache ich bei JEDER Variable
einen kleinen Kommentar mit //
drucker: string; // Druckername
druckn: integer; // Druckernummer für Tabelle
px: integer; // X aktuell in Pixel
py: integer; // Y aktuell in Pixel
vpx: integer; // X-Differenz in Pixel
vpy: integer; // Y-Differenz in Pixel
format: TPrinterOrientation; // Druckerformat
seite: integer; // Seitenanzahl Drucker
zeile: integer; // Zeilenanzahl Drucker
Im Teil wo die Proceduren mit Inhalt (Befehlen) gefült werden mache ich bei JEDER
Procedure oder Function folgende Überschrift.
Code: Alles auswählen
{
-------------------------------------------------------------------------------------
Funktion: Blannkdazu
Ändert die Länge eines Strings und gibt den String
zurück.
Wenn die Länge des Eingabestrings HTextstring
kleiner des Wertes in Eingabevariable Lan ist
wird mit Blanks aufgefüllt.
Und zwar wenn Eingabevariable Pos = 1 ist
vor dem Inhalt von Eingabestring Htextstring ansosten
hinter dem Inhalt von Eingabestring Htextstring.
Wenn die Länge des Eingabestrings HTextstring
gleich des Wertes in Eingabevariable Lan ist
passiert nichts.
Wenn die Länge des Eingabestrings HTextstring
größer des Wertes in Eingabevariable Lan ist
wird der Eingabestring Htextstring verkürzt
zurück gegeben.
Und zwar wenn Eingabevariable Pos = 1 ist
dann wird vorne abgeschnitten ansonsten hinten.
-------------------------------------------------------------------------------------
Eingabevariablen
Pos Typ integer
gibt die Richtung an. Werte (1 oder 1)
Lan Typ integer
gibt die maximale Länge des Ausgabestrings
an.
Ausgabevariablen
Rückgabewert mit Result Typ string
gibt den bearbeiten String Htextstring
zurück.
-------------------------------------------------------------------------------------
}
function TForm1.Blankdazu(Pos, Lan: integer; var Htextstring: string): string;
var laenge: integer;
var stelle: integer;
var ausgabe: string;
begin
laenge:=Length(Htextstring);
ausgabe:=Htextstring;
if laenge < Lan then
begin
while laenge < Lan do
begin
if Pos = 1 then
begin
ausgabe:=' '+ausgabe;
end else begin
ausgabe:=ausgabe+' ';
end;
laenge:=Length(ausgabe);
end;
end else begin
if laenge > Lan then
begin
if Pos = 1 then
begin
stelle:=laenge-Lan+1;
ausgabe:=Copy(Htextstring,stelle,Lan);
end else begin
ausgabe:=Copy(Htextstring,1,Lan);
end;
end;
end;
Result:=ausgabe;
end;
Macht Euch selber Gedanken zu diesem Thema.
Ich weiß, es ist lästig und mach erst einmal unötigen Audwand.
Aber Ihr müsst immer daran denken:
Ihr schreibt jetzt ein Programm (möglichst groß mehrere tausend Zeilen)
und schaut dann nach 10 Jahren mal wider in das Programm.
Wenn keine gute Dokumetation da ist werdet Ihr nicht wissen was da ab geht.
Alles Gute und weiterhin viel Spaß mit Lazarus wünscht
Jürgen