AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Gibt es Hexen?

Ein Thema von idefix2 · begonnen am 14. Mai 2015 · letzter Beitrag vom 15. Mai 2015
Antwort Antwort
Dejan Vu
(Gast)

n/a Beiträge
 
#1

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 06:12
@Dejan Vu
Wenn das erste if einen else Zweig hat und das zweite nicht, geht es ohne begin ... end gar nicht.
Klar geht das
Delphi-Quellcode:
if foo then
  if bar then
    doBar()
  else
else
  doFoo();
Nicht, damit das hier zu einem Glaubenskrieg für/wider überflüssiger Umschließung mit begin/end führt. Was für den Einzelnen besser lesbar ist, steht auf einem anderen Blatt. Nur ein 'begin/end' für eine Zeile einzuführen halte ich und ca. 50% der Entwickler für überflüssig und die anderen 50% nicht. Beide haben ihre Gründe. Man gewöhnt sich an beide Lesarten.

Geändert von Dejan Vu (15. Mai 2015 um 06:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#2

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 09:26
Klar geht das
Delphi-Quellcode:
if foo then
  if bar then
    doBar()
  else
else
  doFoo();
Jupp, es geht alles, oder man dreht es um

Delphi-Quellcode:
if not foo then
  doFoo()
else
  if bar then
    doBar();

if not foo then
  doFoo()
else if bar then
  doBar();

uvm.
Nicht, daß sonst noch jemand auf eine andere Idee kommt.
Delphi-Quellcode:
if foo then
else
  doFoo();
OK, zumindestens ist der Code nicht falsch.


PS: Ich hatte vor dem ersten Öffnen an HEXen gedacht.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Mai 2015 um 09:42 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 09:28
@Dejan Vu

Wenn du dich auf das obere Beispiel beziehst:
Delphi-Quellcode:
  if ... then
  begin
    if ... then
      exit;
  end;
es entspricht dem Beispiel aus #1 von idefix2. Nur die Schreibweise, bzw. Verteilung auf einzelnen Zeilen ist anders. Ob man es also wie oben oder so wie hier schreibt
Delphi-Quellcode:
  if ... then
    if ... then
      exit;
ist schnuppe. Die Lesbarkeit die ich meinte kommt nicht von vielen begin-end-Blöcken, da hast du mich anscheinend missverstanden, sondern von eigenen Zeilen für eine Anweisung.

Wobei man wiederum hier aufpassen sollte:
Delphi-Quellcode:
if ... then
  if ... then
    exit
  else
    nixda;
wenn man das meint:
Delphi-Quellcode:
if ... then
  if ... then
    exit;
else
  nixda;
Wobei das Delphi nicht schlucken wird, da es das nicht versteht.
Delphi-Quellcode:
if ... then
begin
  if ... then
    exit;
end
else
  nixda;
Das wird klappen. Aber aus gründen der Lesbarkeit mache ich auch das:
Delphi-Quellcode:
if ... then
begin
  if ... then
    exit
  else
    nixda;
end;
nicht weil es besser ist, aber so erkenne ich 0,2 Sekunden schneller wie das Programm gedacht ist. Aber jedem das Seine.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 10:19
Bei diesen Konstrukten ist es immer hilfreich den Code-Formatter einzusetzen (ist bei mir quasi schon ein Reflex) inkl. dem CnPack damit einem "falsche" Konstrukte sofort ins Auge springen.

Denn die scheren sich einen Dreck um das was man gemeint hat, sondern zeigen das, was man geschrieben hat.

IdR benutze ich aber auch ein zusätzlichen begin end um die Zusammengehörigkeit der Code-Blöcke eindeutig festzulegen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 10:40
Auch immer nett:

Delphi-Quellcode:
if .. then
  if .. then
    ..
else
  .. ;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz