Ich habe einen Kollegen, der auf diese Weise ternäre Operatoren verwendet (in JavaScript):Zuordnung innerhalb eines ternären Operators, ein Anti-Pattern?
var genderLabel = '';
isMale? genderLabel = 'Man' : genderLabel = 'Woman';
In C#, würde ich das nur tun.
Mein Kollege sagt, es ist eine Javascript-Kodierung Konvention ... ist das wahr? Ich bin kein Javascript-Experte und ich mag diese Sprache nicht ... Wenn ich Code überprüfe, konzentriere ich mich auf meine linke Seite, um einer variablen Initialisierung oder Zuweisung zu folgen, diese Art von Stil zwingt mich, die ganze Zeile zu lesen.
Ich unterhalte auch einen Java-Code von einem Ex-Mitarbeiter, er verwendet ternäre Operatoren auf die gleiche Weise. Ist das ein Anti-Muster? Ich denke, es sollte die gleiche Art und Weise durch den Compiler nicht zugelassen werden, in einer if-Anweisung nicht zulässig ist:
if(x = 2)
{
...
}
Dies wird nicht in C# kompiliert.
Das habe ich noch nie zuvor gesehen. Es ist nicht nur ein großes No-No, da es viel mehr Platz für Wiederholungen benötigt, es ist überladen und semantisch komisch. – Li357