CodeSOD: As The World Ternaries |
Ah, the ternary operator. At their worst theyre a way to obfuscate your code. At their best, theyre a lovely short-hand.
For example, you might use the ternary operator to validate the inputs of a function or handle a flag.
Adam Spofford found this creative use of the ternary operator in a game hes developing for:
this.worldUuid = builder.worldId == null ? null : builder.worldId;
this.position = builder.position == null ? null : builder.position;
this.rotation = builder.rotation == null ? null : builder.rotation;
this.scale = builder.scale == null ? null : builder.scale;
this.worldUuid = builder.worldId;
this.position = builder.position;
this.rotation = builder.rotation;
this.scale = builder.scale;
Curious about how this specific block came to be, Adam poked through the Git history. For starters, the previous version of the code was the last four lines- the sane lines. According to git blame, the project lead added the four ternary lines, with a git comment that simply read: Constructing world details. That explains everything.
| Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |