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
Seite 2 von 3     12 3      
Benutzerbild von himitsu
himitsu

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

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 10: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.
$2B or not $2B

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

n/a Beiträge
 
#12

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 10: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
 
#13

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 11: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
 
#14

AW: Gibt es Hexen?

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

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

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#15

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 11:58
Ob es hier so ist oder nicht, ist irrelevant. Sowas rächt sich gelegentlich.
Es ist irgendwie lustig, wie hier immer wieder Glaubenskriege um die "richtige" Formatierung von programmcode begonnen werden.
Ich persönlich halte die Programmformatierung, die aktuell in Mode ist, und die auch von den Codeformattern unterstützt wird, für extrem unübersichtlich, 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
 
#16

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 12:12
Ob es hier so ist oder nicht, ist irrelevant. Sowas rächt sich gelegentlich.
Es ist irgendwie lustig, wie hier immer wieder Glaubenskriege um die "richtige" Formatierung von programmcode begonnen werden.
Ich persönlich halte die Programmformatierung, die aktuell in Mode ist, und die auch von den Codeformattern unterstützt wird, für extrem unübersichtlich, aber jedem das Seine.
Über Formatierungen kann man sich streiten, weil Geschmackssache, aber wenn aufgrund der (Nicht- oder Falsch-)Formatierung sich Fehler in den Code schleichen oder die aktuelle Zeile vom Debugger mehrdeutig ist
Delphi-Quellcode:
// Ja, wo simma denn?
if ... then begin ... end else begin ... end;
und darum nicht den Fehler finden kann dann gibt es eben was an die Backen.

So einfach ist das dann. Wie jemand den Code formatiert ist mir also herzlich egal. Ich drücke einmal auf STRG-D und schon ist es so, wie ich das will.
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
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 12:13
http://xkcd.com/1513/

Ich verstehe die Diskussion auch nicht. Entweder gibt es Styleguides im Unternehmen. Oder man drückt nach dem Öffnen seinen Hotkey fürs Formatieren und hat den Code so wie man es gewöhnt ist.

Und ob es nun Hexen gibt oder nicht ist auch noch nicht abschließend geklärt.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#18

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 12:40
Es ist irgendwie lustig, wie hier immer wieder Glaubenskriege um die "richtige" Formatierung von programmcode begonnen werden.
Ich persönlich halte die Programmformatierung, die aktuell in Mode ist, und die auch von den Codeformattern unterstützt wird, für extrem unübersichtlich, aber jedem das Seine.
idefix2, mir ist es schnuppe wie du formatierst, das war nicht meine Intention hinter der Bemerkung. Ich wollte damit nur sagen, dass man bei einigen Formatierungen später u. U. nicht weiß wo der Debuger nun gerade ist. Wie du es machst, ist deine Sache. Was übersichtlich ist eine andere.

Bleibt der Debuger in der Zeile stehen, weiß ich nicht ob er gerade bei if then ist oder bei exit . Aber hier kann ich zumindest meine Erfahrung einsetzen:
Delphi-Quellcode:
  if a = b then exit;
  ...
Verwirrender wird aber das
Delphi-Quellcode:
  if a = b
  then exit;
Bleibt er hier in then exit; Zeile stehen, weiß ich wirklich nicht wo er ist.

Denn, im ersten Beispiel wurden zwei Anweisungen in einer Zeile geschrieben.

Im zweiten Beispiel wurde eine Anweisung auf zwei Zeilen verteilt. Also wenn der Debuger weiß in welche Zeile er gerade ist, dass Respekt, ich wüsste dann nicht ob er gerade noch if then ist oder exit .

Aber wie gesagt, ich wollte dich nicht kritisieren. Ich sagte nur u. U. unverständlich sein könnte.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#19

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 12:44
Ich drücke einmal auf STRG-D und schon ist es so, wie ich das will.
Welche Software? Hotkey kenne ich nicht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Gibt es Hexen?

  Alt 15. Mai 2015, 13:09
In der neuen IDE, also 1-2 Versionen nach dir (ich glaub ab D2005 oder 2006)

Oder über Fremdcomponenten. (cnPack oder GExperts ... irgendwo war da auch was drin, aber da standardmäßig unter einem anderen ShortCut, weil sich bei denen im Strg+D was Anders befindet )
$2B or not $2B

Geändert von himitsu (15. Mai 2015 um 13:56 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 05:33 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