Da Sie nach einer Best Practice fragen, werde ich auf etwas hinweisen, wo Sie es besser machen könnten und dann erzähle ich Ihnen, warum ich den ternären Operator mag.
Lassen Sie mich anders formulieren sind Sie Code-Schnipsel: „Was bedeutet‚Berechnung‘repräsentieren“
if (calculatedValueAfterStep1 < 1) {
calculatedValueAfterStep2 = 0;
} else {
calculatedValueAfterStep2 = calculatedValueAfterStep1;
}
Wenn Sie Ihren Code lesen und jemand fragt, Dann können Sie diese Frage nicht beantworten, ohne nach der Zeilennummer zu fragen. Die Bedeutung von "Berechnung" ändert sich im Verlauf des Programmcodes. Wenn Sie nicht erklären können, was eine Variable bedeutet, können Sie ihr keinen guten Namen geben. Deshalb mag ich meine Version besser. Es gibt eine klare Definition, welche Bedeutung die Variablen "calculatedValueAfterStep1" und "CalculatedValueAfterStep2" haben. Ja, die Namen sind schlecht. Ändern Sie sie entsprechend in Ihre Domain.
Jetzt, wenn Sie den Code betrachten, werden Sie feststellen, dass "CalculatedValueAfterStep2" nicht deklariert ist. Also lass uns den Code ändern:
int calculatedValueAfterStep2 = -1;
if (calculatedValueAfterStep1 < 1) {
calculatedValueAfterStep2 = 0;
} else {
calculatedValueAfterStep2 = calculatedValueAfterStep1;
}
Jetzt wird es hässlich. Die gleiche Person, die die frühere Frage stellt, wird nun fragen: "Warum wird 'berechneterWertAfterStep2' mit '-1' initialisiert?". Also hier kommt der ternäre Operator:
int calculatedValueAfterStep2 = (calculatedValueAfterStep1 < 1) ? 0 : calculatedValueAfterStep2;
schön!
* "Ist es eine gute Praxis ..." * ruft zur Stellungnahme auf. Meinungsbasierte Fragen sind für SO unpassend. –
Und: Nein, es ist keine gute Übung. ;-) –
Schlägt Ihnen dieser ternäre Ausdruck, den Sie vorschlagen, kürzer vor? – Eran