Le scorciatoie di lingua possono essere spesso utilizzate per rendere il codice più conciso.
Ad esempio, gli operatori a coalescenza nulla e ternaria possono ridurre la quantità di codice, ma probabilmente a discapito della leggibilità:
In C #:
Person newGuy = new Person();
if (boss == null) {
newGuy.Boss = GetDefaultBoss();
} else {
newGuy.Boss = boss;
}
è funzionalmente equivalente a:
Person newGuy = new Person();
newGuy.Boss = boss ?? GetDefaultBoss();
ma ovviamente molto più prolisso.
Dove traccia la linea quando si tratta di concisione o leggibilità?