Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programm richtig kommentieren (https://www.delphipraxis.net/78644-programm-richtig-kommentieren.html)

JasQoo 8. Okt 2006 19:37


Programm richtig kommentieren
 
hallo erstmal,

also ich brauch unbedingt ein einfaches programm, dass richtig kommentiert wurde, da wir morgen eine klassenarbeit schreiben, würde mich sehr freuen,

danke im voraus

mkinzler 8. Okt 2006 19:38

Re: Programm richtig kommentieren
 
Und wie hilft dir dann ein ein x-beliebiges Programm?

JasQoo 8. Okt 2006 19:43

Re: Programm richtig kommentieren
 
Zitat:

Zitat von mkinzler
Und wie hilft dir dann ein ein x-beliebiges Programm?

ich meine ein "einfaches programm", was z.B addieren sowieo subtrahieren kann aber was komplett kommentiert ist

Zacherl 8. Okt 2006 19:47

Re: Programm richtig kommentieren
 
Ich denke, das macht jeder Programmierer anders ...

mkinzler 8. Okt 2006 19:49

Re: Programm richtig kommentieren
 
Du willst es dann benutzen, um eine gute Note zu Schreiben?

JasQoo 8. Okt 2006 19:52

Re: Programm richtig kommentieren
 
Zitat:

Zitat von mkinzler
Du willst es dann benutzen, um eine gute Note zu Schreiben?

ich brauche nur sowas wie ein Beispiel, weil ich selber ein z.B +/- programm schreibe und es dann auch selber kommentieren muss

mkinzler 8. Okt 2006 19:55

Re: Programm richtig kommentieren
 
Wenn du ein Programm selber schreibst, werden die die Kommentar des anderen Programms nicht helfen.

Zacherl 8. Okt 2006 19:58

Re: Programm richtig kommentieren
 
Manche machen es so:
Delphi-Quellcode:
x := x + 1; //x incrementieren
andere so:
Delphi-Quellcode:
//x incrementieren
x := x + 1;
Wie gesagt, das macht eigentlich jeder, wie er will.

Hador 8. Okt 2006 19:59

Re: Programm richtig kommentieren
 
Guck doch einfach mal hier bzw. bei dsdt.info in die Tutorial-Sparte.

Luckie 8. Okt 2006 21:02

Re: Programm richtig kommentieren
 
Also, wen es darum geht ein Programm richtig zu kommentieren, dann wird es schwer, weil jeder Programmierer einen eigenen Stil hat. Sollte es prüfungrelevant sein, dann habt ihr das betsimmt durchgesprochen. Guck also in deine Unterlagen.

Ich kommentiere immer so wenig wie möglich, so viel wie nötig. Und das:
Delphi-Quellcode:
//x incrementieren
x := x + 1;
würde ich nicht kommentieren. Wozu? Was bringt e, Leser der Kommentar an zusätzlichen Informationen? Nichts. Man sollte nicht kommentieren wa sman macht, das sehe ich selber am Code, sondern warum man etwas macht. Aktuelles Beispiel aus meinen String-DLL Artikel:
Delphi-Quellcode:
(******************************************************************************
 *                                                                            *
 *  DLLProg                                                                  *
 *  Demo-Programm Strings und DLLs                                           *
 *                                                                            *
 *  Copyright (c) 2006 Michael Puff [url]http://www.michael-puff.de[/url]              *
 *                                                                            *
 ******************************************************************************)

program DLLProg;

{$APPTYPE CONSOLE}

uses
  windows;

type
  Tfunc1 = function(s: PChar; Buffer: PChar; lenBuffer: Integer): Integer; stdcall;

var
  hLib: THandle;
  s: String;
  func1: Tfunc1;
  len: Integer;
  Buffer: PChar;
begin
  Buffer := nil;
  hLib := LoadLibrary('StringDLL.dll');
  if hLib = 0 then
  begin
    Str(GetLastError, s);
    Writeln(s);
    readln;
    exit;
  end;
  Str(hLib, s);
  Writeln('hlib: ' + s);
  @func1 := GetProcAddress(hLib, 'func1');
  if (not Assigned(func1)) then
  begin
    Str(GetLastError, s);
    Writeln(s);
    readln;
    exit;
  end;
  Str(Integer(@func1), s);
  Writeln('@func1: ' + s);
  // Funktion aufrufen, um Größe des Buffers zu ermitteln
  len := func1('bar', nil, 0);
  Str(len, s);
  Writeln('len: ' + s);
  try
    // Speicher anfordern
    GetMem(Buffer, len + 1);
    // Funktion mit Buffer aufrufen
    len := func1('bar', Buffer, len + 1);
    Str(len, s);
    writeln(String(Buffer)+ ' [' + s + ']');
  finally
    // Speicher wieder freigeben
    FreeMem(Buffer);
  end;
  readln;
end.
48, 55
Der ertse Teil bis zeile 47 ist gänzlich unkommentiert, weil man da sieht, was passiert: DLL laden (LoadLibrary) Funktionsadresse holen (GetProcaddress) mit Fehlerbehandlung. Interessant ist der Funktionsaufruf in Zeile 49. Der Kommentar in Zeile 48 sagt warum ich dort diese Funktion aufrufe. Aus der Dokumentation würde hervorgehen, dass der Funktion im zweiten Parameter ein Buffer übergeben wird, in dem das Ergebnis landet. Und im Kommentar erkläre ich warum ich die Funktion erstmal mit nil aufrufe. Damit wird dann auch der Rest des Codes klar.
Die Kommentar in Zeile 55 und 60 sind eigentlich auch überflüssig, weil man an den Funktionen sieht, was da passiert. Sind aber dort drinne, weil sich der Code an jemanden richtet, der diese Vorgehensweise nicht kannte und somit sollte dort deutlich werden was da passiert. Diese Kommentare sind also quasi nur eine Hervorhebung. Der Kommentar in Zeile 60 ist dann wieder im Zuammenhang mit den Kommentar in Zeile 48 zu sehen. Mit diesen zwei Kommentaren wird deutlich, was in diesem Block passiert und wichtiger, warum es so passiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr.
Seite 1 von 3  1 23      

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