this post was submitted on 08 Jul 2023
137 points (93.1% liked)

Programmer Humor

19726 readers
59 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 1 year ago (2 children)

Having some experience with both Python and JS/TS, I don't have much preference about ternaries or expressions. Although I always break lines for ternary statements.

const testStuff = condition ? 
  outcome(1) :
  outcome(2);

Having everything on the same line ruins readability for me.

[–] lee 3 points 1 year ago (1 children)

personally I prefer

const testStuff = condition
  ? outcome(1) 
  : outcome(2); 
[–] [email protected] 1 points 1 year ago

Also works fine and is better than inlining it all. I'm just more used to ending the lines with the symbols - instead of starting the next line with them like your example - because it's the same parttern I use for other stuff, like (curly) brackets.

[–] [email protected] 2 points 1 year ago

The if-else expression that Python has is quite different from (and significantly worse than) what people mean with if-else as an expression.

So, this is Python:

volume = 100 if user_is_deaf else 50

These are two examples of if-else as an expression (Rust and Scala):

let volume = if user_is_deaf { 100 } else { 50 };
val volume = if (user_is_deaf) 100 else 50

Crucially, these look essentially equivalent to normal if-else-statements in these languages.