Delphi-PRAXiS
Seite 6 von 7   « Erste     456 7      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Die häufigsten Programmierirrtümer (https://www.delphipraxis.net/149587-die-haeufigsten-programmierirrtuemer.html)

Mavarik 25. Mär 2010 14:16

Re: Die häufigsten Programmierirrtümer
 
If then else Einrückung...

Mein Senf dazu...


Delphi-Quellcode:

// 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;
Warum das ganz? ist doch klar! Ich erkenne am if und an der Position des 'then' schon ob es einen else-Teil gibt.

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:

Wolfgang Mix 25. Mär 2010 18:21

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

invalid_operation 25. Mär 2010 18:30

Re: Die häufigsten Programmierirrtümer
 
@Wolfgang Mix: Bitte keine Fehler auflisten. Davon habe ich genug gemacht.

(kein Smiley mit Opera 10.51 reinklickbar)

Wolfgang Mix 25. Mär 2010 18:34

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:

Daniel 25. Mär 2010 18:41

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.

Wolfgang Mix 25. Mär 2010 18:46

Re: Die häufigsten Programmierirrtümer
 
Sorry, du hast Recht,
bleiben wir lieber bei Irrtümern
wie

Delphi-Quellcode:
if eingabe = 7 or 13

Daniel 25. Mär 2010 18:58

Re: Die häufigsten Programmierirrtümer
 
Ich habe dafür noch was aus dem Bereich PHP.

Code:
$data = array();
if ($data == null)
{
  echo 'na holla die waldfee';
}
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.

himitsu 25. Mär 2010 18:58

Re: Die häufigsten Programmierirrtümer
 
Zitat:

Zitat von Wolfgang Mix
- Semikola in zusammengehörenden Anweisungen (z,B. Begin; ... End;

Das Semikolon nach dem End ist richtig.

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.

Wolfgang Mix 25. Mär 2010 19:01

Re: Die häufigsten Programmierirrtümer
 
Du hast Recht, aber optisch nervt das schon

Crazy Ivan 25. Mär 2010 19:29

Re: Die häufigsten Programmierirrtümer
 
Zitat:

Zitat von himitsu
Ebenso werden doppelte Semikola tolleriert.

Von Semikolon zu Semikolon reicht dann quasi eine leere Anweisung.


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.
Seite 6 von 7   « Erste     456 7      

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