Einzelnen Beitrag anzeigen

Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#1

AW: [Erledigt ]Logik-Problem mit and/or-Verknüpfung

  Alt 13. Aug 2012, 07:52
Find Ich garnicht so klugscheißerisch... hört sich einfach nach Erfahrung an.

Hilfsvariablen oder "Krückenvariablen" heißen eigentlich ungünstig, weil sie Pflicht-Leseverbesserungs-Variablen heißen sollten und man davon soviele erstellen sollte, wie es für ein besseres Verständnis des Codes förderlich ist.

Angenommen du berechnest in einer Funktion:

Delphi-Quellcode:

Border := 10 * Parameter;
Result := Border + Width;

// Könntest du das auch ohne Border und in 1 Zeile abwickeln

Result := (10 * Parameter) + Width
Wenn du jenes allerdings in komplexeren Methoden ohne weitere Bezeichner machst, wird der Code wieder ein Stückchen unübersichtlicher -> schwerer zu warten.

Ich würde Klammern immer setzen, weil sie der Gleichnung verschiedene menschliche Interpretationsmöglichkeiten aberkennen, denn eigentlich ist das Problem, dass du scheinbar nicht genau weißt was passiert wenn sie nicht da sind:

Dazu gibts einen kleinen Bereich in der Referenz:
http://docwiki.embarcadero.com/RADSt....29_Operatoren

Zitat:
Das Kurzschlussverfahren geht streng von links nach rechts vor und wird beendet, sobald das Ergebnis des gesamten Ausdrucks feststeht

Delphi-Quellcode:

If (IsLeapYear()) and (month in [January, February]) Then
Nach unserem Styleguide würde die Bedingung zwanghaft nochmals eingeklammert werden aber das ist was hausinternes.
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!

Geändert von Jonas Shinaniganz (13. Aug 2012 um 08:41 Uhr)
  Mit Zitat antworten Zitat