Autor Beitrag
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 03.07.03 12:34 
Hi,

ich muß mich nochmals zu Wort melden. Wegen der Kommentare. In einem Programm mußte ich 1 :!: Zeile ändern, nur eine einzige!.

Um das irgendwann noch nachvollziehen zu können, habe ich eine halbe Din A 4 Seite Kommentar an der Stelle in den Quelltext geschrieben.

Tja, so kanns auch gehen. :mrgreen:

_________________
Gruß
Hansa
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 03.07.03 13:32 
mir ist gerade ihn den sin gekommen, einfach mal meine tsokubahn klasse hier zu posten, weil ich denke, so änlich sollte es schon aussehen. oder ?:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
  TSokubahn = class
    GLXImageList:TGLXImageList;
    GLXFont1: TGLXFont;
    Map:array of array of TMap; // Enthält alle Karten angaben
    Tasten:array[0..6of Byte; // Aktive Tasten
    Keys:array[0..256of Boolean; // Enhält die gedrückten Tasten
    Undos:array of TUndo; // Für eine Rückgänig funktion
    UndoIndex:Integer; // der indx von Undo

    IniFile:String// Konfiguierungs Datei
    StartPositionen:String// hier stehen die verschienden start positionen drin(vom Player)
    ZielIndex:Integer;
    Player:TPlayer; // für den Spieler


    // fürs Dialog
    DialogText:String// für das Dialog
    strCaption:String// z.b. Hinweis.... fürs dialog
    strText:String// der Inhalt im Dialog(text im dialog)
    DrawDialog:Boolean; // wenn True dann wir das dialog gezeichnet, anderfalnst nicht
    DialogTyp:Integer; // 0 für OK dialog und 1 für JA oder NEIN dialog
    DialogKey:Integer; // für JA bzw. NEIN
  private

    IS_FPS:Boolean; // wurde FPS anzeige aktivert oder nicht ?
    GameSound:TSound;
    // Karten Größen
    MapX:Integer;
    MapY:Integer;
    MapS:Integer;
    procedure ClearMap; // löscht die Map
    procedure SetPlayerPos(NewX, NewY:Integer); // Verändert die Player Postion
    procedure MoveKiste(NewX, NewY,OldX, OldY,DirX, dirY:Integer); // verschiebt eine Kiste
    procedure LoadKey; // lädt die Tasten definantion aus einer Extrenen Datei
    procedure KeyCheck; // prüft die Tasten
    procedure SetUndoPos; // macht einen Befehl rückgänig

    procedure DrawText(Str : string; x,y,s,i:Integer; color,color1:TColor); // Zeichen den angeben Text
    procedure setMapSize(aMapX, aMapY,aMapS: Integer); // Veränder die mapgröße

    function KisteOnZiel:Integer; // Gibt den Count der Geschaften Kisten zurück
    function GetObjektCount(Typ:Integer):Integer; // gibt die anzahl der in TYP angebene Objekt Count zurück
    function PlayerRandomPos(Pos1:String):TPoint; // ermiettelt eine Zufalls Start Postiioen
    function ShowMyDialog(aCaption, aDialogText:String; aDialogTyp:Integer):Integer;

  public
    GLXDraw:TGLXDraw;
    FPS:Integer; // enthält die FPS anzahl
    constructor create(GXLDraw:TGLXDraw;GLXDraw2:TGLXDraw); // erstellt ein "Neues Spiel"
    procedure CreateRandomMap; // Erstellt eine Zufalls Karte
    procedure DrawGame; // Zeichnet das Spiel
    procedure LoadFileMap(pFileName,PlayerName:String); // Lädt die Karte aus einer datei
    procedure InputKey(Key:Word; off:Boolean); // Übermittelt der Klasse die gedrückten Tasten
end;

_________________
MFG
Michael Springwald, "kann kein englisch...."
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Do 03.07.03 14:10 
Hi,

@Mimi: Nich falsch verstehen, aber solche kommentare sind in meinen Augen der Horror... *grinst fies*
Ich finde da sind so dermaßen viele überflüssige Kommentare drin... ai ai ai.... *g*

Ausserdem finde ich bei der Art immer nervig, das wenn ich in ner Zeile was schreibe und an's Ende will um z.B. nen vergessenes Semikolon zu machen.. dann drücke ich auf "Ende".. und schwupp bin ich am ende des kommentars und darf erstmal mühevoll mit den Pfeiltaste an die richtige stelle springen... ;)

Au'revoir,
Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.07.03 14:13 
Da ist wirklich viel Überflüssiges drin.
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 03.07.03 15:05 
@Aya
das mit dem semikolen mache ich anders:
einfach strg + pfeiltasten:) und fertig.

gut ich gebe zu das da viel sinloses drin ist, aber dafür sollte es auch ein anfänger verstehen oder ?
aber ich schreibe die kometrae nur in den classen definiationen hin im qullcode wird du selten auf kometrae stoßen.)

_________________
MFG
Michael Springwald, "kann kein englisch...."
Popov Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Do 03.07.03 16:51 
Aya hat folgendes geschrieben:
... und an's Ende will um z.B. nen vergessenes Semikolon zu machen...


Um ehrlich zu sein, kann ich mich nicht mehr drann erinnern wann ich das letzte mal ein Semikolon vergessen habe. Es passiert eher, daß ich in einem Basic Programm Semikolons setzte. Aber in einem Pascal Programm passiert mir das inzwischen nicht mehr. Inzwischen ist das ein Instinkt.

Zu dem Beispiel von mimi - also ich finde nicht, daß es zuviele Kommentare sind. Zugegeben, es ist ein sehr gut dokumentierter Code und ich schätze, daß es auch Bereiche gibt die nicht so gut dokummentiert sind, aber seien wir doch mal ehrlich - in diesem Code blickt jeder sofort durch. Auch der, der nicht weißt wozu das Programm gut ist, weißt sofort wozu die Prozeduren und Variablen sind. Ein gut gewählter Name kann nie so gut sein wie ein Satz, der den Sinn beschreibt.

_________________
Popov
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 03.07.03 17:46 
dann erkläre mal wozu die procedruen und funktionen gut sind:)
wie gesagt, ich mache das nur in den deklationen von den Proc und Funktionen.....
ich vergesse ehrer und Klammer auf bzw. zu das ist mein eingetliches problem. das ich nie weiß wo die klammer zu hin muss

_________________
MFG
Michael Springwald, "kann kein englisch...."
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Do 03.07.03 17:48 
Popov hat folgendes geschrieben:
Ein gut gewählter Name kann nie so gut sein wie ein Satz, der den Sinn beschreibt.

und was is an:
ausblenden Delphi-Quelltext
1:
procedure Map; //Lädt die Landkarte					


besser als an:
ausblenden Delphi-Quelltext
1:
procedure LandkarteLaden;					


??? ;)

Au'revoir,
Aya~

PS: Das is aber doch wohl übertrieben:
ausblenden Delphi-Quelltext
1:
procedure LandkarteLaden; //Lädt die Landkarte					

_________________
Aya
I aim for my endless dreams and I know they will come true!
Popov Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Do 03.07.03 23:01 
mimi hat folgendes geschrieben:
dann erkläre mal wozu die procedruen und funktionen gut sind:)


Ich verstehe den Sinn der Frage nicht, bzw. wieso die Frage von dir kommt.


@Aya

Was besser ist,

procedure Map; //Lädt die Landkarte

oder

procedure LandkarteLaden;

werde ich nicht beantworten. Ich hab hier die Frage nicht gestellt um zu diskutieren ob man es machen muß. In meiner Firma muß ich, zumindest bei einigen Projekten, alle Programme aufs genauste dokumentieren. Ich kann alle Prozeduren, Funktionen und Variablen in einem extra Dokument auflisten und genau beschreiben oder ich mach das direkt im Code. Ich mach das zwar auch nicht immer, aber wenn's im Pflichtenheft steht, dann mach ich es mir am einfachsten. Und ein Kommentarkopf ist einfacher als ein extra Dokument. Aber um ehrlich zu sein, so mache ich Kopfbeschreibungen auch in privaten Programmen. Zwar nicht bei allen, aber zumindes bei den wichtigen.

Nur habe keine feste und standarisierte Form eines Prozedurkopfes. Bei jedem Projekt hab ich es bis jetzt anders gemacht. Deshalb war meine Frage weniger als Diskusionsfrage gedacht, als Erfahrungsaustausch. Da ich dachte, daß mehr Programmierer ihre Prozeduren dokumentieren, wollte ich nachfrage wie die es machen.


Aber um auf dich zurückzukommen, Aya.

Aya hat folgendes geschrieben:
Ich meine jetzt in der OH nachschauen was der Befehl macht ...


Aya hat folgendes geschrieben:
... hab in der OH nachgeguckt ...


Du guckst in der OH-Dokumentation nach was die Funktion macht? Willst du etwa behaupten, daß die Prozeduren und Funktionen von Delphi nicht selbsterklärende Namen haben? :twisted: (ich weiß, das war jetzt fies) :twisted:

_________________
Popov