Re: Die häufigsten Programmierirrtümer
If then else Einrückung...
Mein Senf dazu...
Delphi-Quellcode:
Warum das ganz? ist doch klar! Ich erkenne am if und an der Position des 'then' schon ob es einen else-Teil gibt.// Einzeilige If's if bla then a := 'xyz'; // Wenn es ein else gibt dann immer! if bla then a := 'xyz' else a := 'zyx; // Mehrzeile If's if bla then begin a := 'xyz'; b := 'abc'; end; // Wenn es ein else gibt dann immer! if bla then begin a := 'xyz'; b := 'abc'; end else begin a := 'zyx'; b := 'cba'; end; Und zwar in einem range von 3x2 zeichen (von 'I' aus gerechnet) Besonders interessant: Wenn 'das was' im if then-Tteil steht so lang ist, dass das 'else' nicht mehr auf den Bildschirm passt.. Kommt logischerweise von den alten DOS zeigen 25 Zeilen 80 Zeichen...28 Jahre Programmierung haben auch einige Regeln hervorgebracht... :zwinker: Ach ja bitte keine Diskussion das man dann ne Procedure daraus machen soll... :wall: Und natürlich begin und end immer untereinander um die Zugehörigkeit sofort erkennen zu konnen... ------- Snip --------- mybool := (A=200); Würde ich nie machen... weil ich, wenn noch ein Zuweisung dazu kommen, dann doch wieder if then ele benötige... Mavarik :coder: |
Re: Die häufigsten Programmierirrtümer
... weil hier auch von Fehlern gesprochen wird ...
Als häufigste Anfangerfehler habe ich folgende beobachtet: - Semikolon bei nicht zusammengehörenden Anweisungen als Zeilenabschluss fehlt - Semikola in zusammengehörenden Anweisungen (z,B. Begin; ... End; - End. mehrfach im Programm - Prozeduren und Funktionen unterhalb des Hauptprogramms (Pascal) - Doppelte Bezeichner - Schreibfehler - Fehlende oder falsche Abbruchbedingungen für Schleifen - Anzahl von Begin und End stimmt nicht ... kann fortgestzt werden |
Re: Die häufigsten Programmierirrtümer
@Wolfgang Mix: Bitte keine Fehler auflisten. Davon habe ich genug gemacht.
(kein Smiley mit Opera 10.51 reinklickbar) |
Re: Die häufigsten Programmierirrtümer
Dachte ich eigentlich nur als Hilfe für Anfänger
Für meine eigenen Fehler reicht Daniels Speicher nicht :mrgreen: |
Re: Die häufigsten Programmierirrtümer
Also ich gebe Euch ja Recht, dass das kein schöner Stil sein mag - ein Fehler ist es jedoch nicht, im Hauptprogramm, also der .dpr-Datei, eine Prozedur anzulegen. Und wenn das anständig begründet wird und der Rest des Programms stimmig ist, dann wäre ich u.U. sogar bereit, auch im Hauptprogramm eine kleine - auch nur dort genutzte - Prozedur zu tolerieren.
Ich denke, wir driften jetzt in den sehr schwammigen Bereich der allgemeine Aussagen über guten und schlechten Stil. Bedauerlicherweise hat dieser Bereich eine sehr große Grauzone, die zu diskutieren hier kaum lohnt. |
Re: Die häufigsten Programmierirrtümer
Sorry, du hast Recht,
bleiben wir lieber bei Irrtümern wie
Delphi-Quellcode:
if eingabe = 7 or 13
|
Re: Die häufigsten Programmierirrtümer
Ich habe dafür noch was aus dem Bereich PHP.
Code:
Bedauerlicherweise schreibt PHP 5.x o.g. Zeichenfolge auf den Schirm, da ein leeres Array als Äquivalenz zu null gesehen wird. Man mag es noch so leidenschaftlich PHP vorwerfen, am Ende muss jedoch ich als Entwickler damit klar kommen und darf nicht dem Irrtum unterliegen, ich könnte auf die hier gezeigte Art und Weise zwischen einem nicht initialisierten und einem leeren Array unterscheiden.
$data = array();
if ($data == null) { echo 'na holla die waldfee'; } |
Re: Die häufigsten Programmierirrtümer
Zitat:
Das nach Begin oder Repeat ist nicht falsch, sondern optional. :angel2: Man macht da eigentlich keines hin, aber wenn dort Eines ist, dann ist es nicht verkehrt. Ebenso werden doppelte Semikola tolleriert. |
Re: Die häufigsten Programmierirrtümer
Du hast Recht, aber optisch nervt das schon
|
Re: Die häufigsten Programmierirrtümer
Zitat:
Was auch schön ist:
Delphi-Quellcode:
function GibMirNeStringlist : TStringList;
begin Result := TStringList.Create; try //bla blub finally Result.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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