Entwickler-Ecke
Off Topic - Programmier-Stil????????????
Marekventur - Do 31.07.03 19:46
Titel: Programmier-Stil????????????
Hallo!
Kann mir irgendeiner hier im Forum sagen, was man unter sauberen Programmierstil versteht und vor allem, wie es z.B. mit GROß/klein-schreibung aussieht, wann Leerzeichen kommen und welche Komps ich auf keinen Fall benutzen sollte....
Ich will ja ein guter Programmierer sein :wink:
THX[/i]
Andreas L. - Do 31.07.03 20:36
Ich würde sagen: Jeder sollte den Stil nehmen den er selbst für gut hält.
Viele werden das wieder anders sehen, aber is ja meine Meinung....
BungeeBug - Do 31.07.03 23:11
Hi,
unser Info DAU hat immer gesagt
SCHLÜSSELWÖRTER groß , den Rest klein.
Was zusammen gehört wird untereinander geschrieben und immer die Blöcke schön einrücken! ... joa dann wären da noch die Kommentare ... über jede eigene Funktion kommt ein Header wo drinsteht was die Funktion macht wer sie wann geschreiben hat und was man sonst wissen muss ... als weiteres ist es immer besser wenn man immer und überall wo auch nur die kleinste Unklarheit aukommen kann nen Kommentar (kurz und bündig) abzugeben!
So das wars auch schon ...
maximus - Fr 01.08.03 00:49
BungeeBug hat folgendes geschrieben: |
Hi,
unser Info DAU hat immer gesagt
SCHLÜSSELWÖRTER groß , den Rest klein.
... |
SCHLÜSSELWÖRTER gross sieht IMHO scheissen aus...immer schön alles klein 8)
derDoc - Fr 01.08.03 08:22
Der Programmierstil ist jedem Programmierer selbst überlassen. Wenn du deinen Text lesen kannst und weißt was was ist, dann ist alles in Ordnung mit deinem Stil.
Du soltest aber bedenken, dass falls du einen Quelltext herausgibst, dieser eine angenehm lesbare Form haben sollte.
Und wenn wir schon bei Informatik-Lehrern sind, kann ich mich noch gut an eine Informatik-Lehrerin erinnern, die meinte, ihre Notation sei unfehlbar und total toll und nicht zu vergessen, alle sollten das so machen wie sie:
variablen immer klein, KONSTANTEN immer groß, bei binde_namen einen Unterstrich und nicht zu vergessen: aussagekräftige Bezeichnungen, also kein i, j, k als Zählervariablen.
kat1 - Fr 01.08.03 08:38
Kannst ja auch mal hier rein schauen:
http://www.grundlagen.delphi-source.de/styleguide/
aber letzten Endes würde ich das alles nur als Richtlinie betrachten, Deinen eigenen Stil unbedingt danach zu verbiegen, dürfte Dir wahrscheinlich auch wenig bringen.
lemming - Fr 01.08.03 10:08
Jeden Block immer schön mit zwei Leerzeilen einrücken, Variablennamen so vergeben das man gleich erkennen kann um was es sich handelt. z.B.
Delphi-Quelltext
1: 2: 3: 4: 5:
| var iCount: Integer; sLine: String; bFlag: Boolean; fPrice: double; |
Und halt Kommentera en mass. Da hast du schon die halbe Miete. Was zwar nicht mit Programmierstil zu tun hat, aber mit dem "Ein besserer Programmierer sein" ist das hier:
http://www.flipcode.com/tutorials/tut_betterprogrammer.shtml
Hat mir sehr geholfen. Habe die Idee mit dem Devbook auch adaptiert und schreibe mir alle Fortschritte und Ideen in ein kleines Prjekt. Habe das auch in meiner Firma eingeführt. Jeder Programmierer hier läuft nun mit einem kleinen Devbook rum. Sehr praktisch.
maximus - Fr 01.08.03 10:21
IMAO gehört zum guten programmier-stil nicht nur die schreibweise, sondern auch aufbau des codes - sprich modularisierung/struktur/OOP/etc.
oder wie seht ihr das?
Klabautermann - Fr 01.08.03 10:52
Hallo,
maximus hat folgendes geschrieben: |
SCHLÜSSELWÖRTER gross sieht IMHO scheissen aus...immer schön alles klein 8) |
das hat nichts mir aussehen zu tun. Diese Regel stammt aus einer Zeit, als die Editoren noch kein Syntaxhighlighting machten. So das jedes zeichen immer gleich aussahr. da war diese Regel die einzige möglichkeit Schlüsselwörter hervorzuheben. Und diejenigen die eben schon in dieser Zeit Programmiert haben, machen es auch jetzt noch völlig automatisch (ich sehe an mir, dass es gar nciht so einfach ist, sich das abzugewöhnen). Heutzutage müsste das wahrscheinlich heißen: "Schlüsselwörter in Standart-Textfarbe und Fett", und währe halt ein hinweis auf die "ideale" Konfiguration des Syntax-Highlighters.
Ich habe übrigens auf dem MAC eine weile mit Think Pascal gearbeitet, die haben schon sehr fürh Syntax Highlighting gemacht (lange vor Borland) und die haben damal Schlüsselwörter nciht nur Fett sondern auch automatisch groß gemacht, es war also mal absolut üblich.
maximus hat folgendes geschrieben: |
IMAO gehört zum guten programmier-stil nicht nur die schreibweise, sondern auch aufbau des codes - sprich modularisierung/struktur/OOP/etc. |
Auf jeden Fall.
Gruß
Klabautermann
PS: Think-Pascal hat auch automatisch den Quelltext Eingerückt, warum macht Delphi das heute noch nicht?
DeCodeGuru - Fr 01.08.03 10:59
@Maximus: sicherlich gehört das dazu, wobei da muss ich sagen, dass das jeder selber handhaben sollte. Ich - zum Beipiel - haue immer alle Funktionen, die thematisch zueinander passen, in eine Unit, die dann einen entsprechenden Namen erhält. Ist ganz praktisch, denn dann weiß ich immer, wo ich was finde.
Nochmal zum "Aufbau des Codes":
Schlüsselwörter schreibe ich komplett klein, Konstanten groß, Variablen klein. Ich verwende gerne Unterstriche in Konstantennamen, in Variablen dafür nie. Öhm, jeder Codeblock, der zusammengehört (case-Verzweigungen usw.), wird mit einem Tab (bei mir 2 Zeichen = zweimal Leertaste) eingerückt. Keywords und "dazugehörige Befehle" nie auf gleicher Höhe (also nie direkt untereinander). Achja, und was ich auch nicht mache: :twisted: Ich haue das "begin" einer if-then-Abfrage nicht hinter das "then". Datt sieht nämlich *mist*e aus und ich frage mich bei Codes hier im Forum regelmäßig, wo das "begin abgeblieben" ist. :twisted:
Joah, so viel zu mir.
O'rallY - Fr 01.08.03 11:53
Ich bin auch ein eingeschworener Kleinschreiber, allerdings schreibe ich gerne die Anfangsbuchstaben einzelner Wörter ind Variablen groß (z.B.: MyFile). Allerdings achte ich penibel auf Einrückungen, da sonst die Übersichtlichkeit völlig flöten geht. Mit Kommentarten hab ich irgendwie gar nix am Hut, müsst ich mir aber echt mal angewöhnen! Und was ich wie DeCodeGuru gar nicht leiden kann, ist es entweder nach einem then direkt eine Anweisung zu schreiben oder gar begin :mrgreen:. Außerdem kommt bei mir nach jedem end ein Simikolon.
Mein Code sieht in etwa so aus:
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:
| program HelloWorld;
uses Dialogs; var MyString: string; MyInteger: integer;
begin
procedure SayHelloWorld; begin if MyInteger = 2 then ShowMessage('Hallo Welt!');
if MyString = "Miesepeter" then begin MyInteger := 456; ShowMessage('Hello World!'); end; end;
end. |
Wenn ich hier mal wieder Code schreibe, fällt mir auf, das ich schon seit ein paar Wochen nicht mehr code (und nur noch ins Off-Topic poste *g*) :?
maximus - Fr 01.08.03 17:31
Klabautermann hat folgendes geschrieben: |
Hallo,
maximus hat folgendes geschrieben: | SCHLÜSSELWÖRTER gross sieht IMHO scheissen aus...immer schön alles klein 8) |
das hat nichts mir aussehen zu tun. Diese Regel stammt aus einer Zeit, als die Editoren noch kein Syntaxhighlighting machten. So das jedes zeichen immer gleich aussahr. da war diese Regel die einzige möglichkeit Schlüsselwörter hervorzuheben. Und diejenigen die eben schon in dieser Zeit Programmiert haben, machen es auch jetzt noch völlig automatisch (ich sehe an mir, dass es gar nciht so einfach ist, sich das abzugewöhnen)... |
Ja zu jener zeit habe ich auch schon programmiert...habe es mir damals aber auch schon abgewöhnt gehabt, deshalb mach ich es heute auch nicht automatisch :wink:
Aya - Fr 01.08.03 19:48
Hi,
bei mir sähe das beispiel von O'rallY so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| program HelloWorld;
uses Dialogs;
var MyString: String; MyInteger: Integer; procedure SayHelloWorld; begin if MyInteger=2 then ShowMessage('Hallo Welt!'); if MyString='Miesepeter' then begin MyInteger:=456; ShowMessage('Hello World!'); end; end;
end. |
Also fast genauso, bis auf ein paar kleinigkeiten.. und natürlich würde es in echt komplett ohne Kommentare sein ;)
Au'revoir,
Aya~
tommie-lie - Fr 01.08.03 20:07
Dann will ich mich auch mal einreihen...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| program HelloWorld;
uses Dialogs;
var MyString: String; MyInteger: Integer; procedure SayHelloWorld; begin if MyInteger = 2 then ShowMessage('Hallo Welt!'); if MyString = 'Miesepeter' then begin MyInteger := 456; ShowMessage('Hello World!'); end; end;
end. |
Klabautermann hat folgendes geschrieben: |
Diese Regel stammt aus einer Zeit, als die Editoren noch kein Syntaxhighlighting machten. So das jedes zeichen immer gleich aussahr. da war diese Regel die einzige möglichkeit Schlüsselwörter hervorzuheben. Und diejenigen die eben schon in dieser Zeit Programmiert haben, machen es auch jetzt noch völlig automatisch (ich sehe an mir, dass es gar nciht so einfach ist, sich das abzugewöhnen). Heutzutage müsste das wahrscheinlich heißen: "Schlüsselwörter in Standart-Textfarbe und Fett", und währe halt ein hinweis auf die "ideale" Konfiguration des Syntax-Highlighters.
Ich habe übrigens auf dem MAC eine weile mit Think Pascal gearbeitet, die haben schon sehr fürh Syntax Highlighting gemacht (lange vor Borland) und die haben damal Schlüsselwörter nciht nur Fett sondern auch automatisch groß gemacht, es war also mal absolut üblich. |
Das kann ich von Kirschbaums Power Basic (ehemals Borland Turbo Basic) bestätigen.
Blauer Hintergrund, gelbe Schrift, kein Highlighting. Wer da Schlüsselwörter nicht großgeschrieben hat, war verloren. Bei Delphi sieht es IMHo hässlich aus, daher habe ich mich recht schnell umgewähnt (und weil ich vor delphi sowieso schon lange kein Basic mehr angefasst habe :mrgreen:)
Und bei Basic scheint das ja heute immer noch der Fall zu sein, wenn ich mir irgendwelche Beispielcodes für VB anschaue.
maximus - Fr 01.08.03 22:52
Dann formatieren ich den code auch...
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:
| program HelloWorld;
uses Dialogs;
var myString: string; myInteger: integer; procedure sayHelloWorld; begin if myInteger = 2 then showMessage('Hallo Welt 2!') else showMessage('Hallo Welt not 2!'); if myString = 'wugguWuggu' then begin myInteger := 456; showMessage('Hello Wuggu!'); end;
case myInteger of miNone: nothing; miRun: begin something; something; end; else showMessage('hello else'); end; end;
end. |
:wink:
Delete - Fr 01.08.03 23:04
Meiner Version:
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:
| program Project2;
{$APPTYPE CONSOLE}
uses Dialogs;
var myString: string; myInteger: integer; procedure sayHelloWorld; begin if myInteger = 2 then showMessage('Hallo Welt 2!') else showMessage('Hallo Welt not 2!'); if myString = 'wugguWuggu' then begin myInteger := 456; showMessage('Hello Wuggu!'); end;
case myInteger of miNone: nothing; miRun: begin something; something; end; else showMessage('hello else'); end; end;
end. |
BungeeBug - Fr 01.08.03 23:13
och Luckie ... wenn du jetzt noch die Schlüsselwörter groß schreiben würdest ... dann ... naja sagen wa wär ich "zufrieden ruhig und glücklich" ! <- wer weis aus welchem lied?
MfG BungeeBug
maximus - Fr 01.08.03 23:13
Zitat: |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| case myInteger of miNone: nothing; miRun: begin something; something; end; ... | |
Delete - Fr 01.08.03 23:15
BungeeBug hat folgendes geschrieben: |
och Luckie ... wenn du jetzt noch die Schlüsselwörter groß schreiben würdest ... dann ... naja sagen wa wär ich "zufrieden ruhig und glücklich" ! <- wer weis aus welchem lied?
MfG BungeeBug |
Nein. Schlüsselwörter werden/sollen laut Borland Styleguide nicht großgeschrieben werden. Das ist alleine Konstanten vorbehalten.
Aya - Fr 01.08.03 23:17
Zitat: |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| case myInteger of miNone: nothing; miRun: begin something; something; end; else: ... end; | |
Bei mir ist alles nach dem : bei einem Case immer bündig.. egal ob davor dann mal viele leerzeichen sind oder nicht ;)
DeCodeGuru - Sa 02.08.03 15:26
@ Luckie: Also irgendwie schreibe ich meinen Code genauso wie du. Nur minimale Abweichungen. :)
Delete - Sa 02.08.03 15:34
Ich versuche mich an den StyleGuide zu halten. Das ist alles.
AndyB - Sa 02.08.03 19:15
@Luckie: Dein Code kommt ja schon sehr sehr nahe an den Style Guide heran bis auf die Sache mit den beginnenden kleingeschriebenen Buchstaben bei Bezeichnern.
Unter BCB würde dein showMessage Aufruf zu einer Fehlermeldung führen, da Borland in der VCL ShowMessage benutzt (wie auch bei allen anderen Funktionen und Methoden).
Delete - Sa 02.08.03 20:30
Ähm, Moment. Das liegt nicht an BCB sondern an der Sprache C/C++. Und normaler weise behalte ich die schreibweise auch bei, besonders bei WinAPI Aufrufen. Der Code-Formatierer kann das aber nicht erkennen, deswegen ist es durchgerutscht.
AndyB - Sa 02.08.03 23:03
Luckie hat folgendes geschrieben: |
Und normaler weise behalte ich die schreibweise auch bei, besonders bei WinAPI Aufrufen. Der Code-Formatierer kann das aber nicht erkennen, deswegen ist es durchgerutscht. |
Ach, auch ein [Ctrl][Leertaste] Nutzer.
Delete - So 03.08.03 00:21
Ein was Benutzer?
AndyB - So 03.08.03 00:45
Noch nie [Ctrl]+[Leertaste] im Quellcode Editor von Delphi gedrückt?
Das geht so:
showme[Ctrl+Leertaste][Return]=ShowMessage(|)
Delete - So 03.08.03 00:48
Wieder was gelernt. :wink:
Ich kannte bisher nur Strg+Alöt+Leertaste um die Parameter zum aufpoppne zu zwingen.
hansano - Di 05.08.03 01:20
und was haltet ihr von der hungarian notation?
AndyB - Di 05.08.03 10:44
Von Microsoft eingeführt und von Linux Programmierern verachtet.
Sie hat in Delphi Programmen auch wenig zu suchen, da der Compiler einen warnt und nicht wie der C/C++ Compiler arbeitet, der die fehlerhafte Zuweisung einfach übersetzt.
Delete - Di 05.08.03 10:55
AndyB hat folgendes geschrieben: |
Sie hat in Delphi Programmen auch wenig zu suchen, da der Compiler einen warnt und nicht wie der C/C++ Compiler arbeitet, der die fehlerhafte Zuweisung einfach übersetzt. |
Es geht ja nicht nur darum, sondern auch um die Lesbarkeit. Wen ich dwResult lese, dann weiß ich dass es zu einem Datenverlust kommen kann, wenn ich ein Integer zuweise und muß nicht erst auf die Compiler Warnung beim Comnpilieren warten.
blackbirdXXX - Di 05.08.03 12:03
Ich schreibe das so; :D
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Memo1Change(Sender: TObject); begin if Edit1.Text = 'Demo' then begin Button1.Enabled := false; demomode := true; id := id * ( 25 - hdfile ); end else begin end end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!