throwaway889900 10 days ago

Sometimes a lambda is more readable. "lambda x : x if x else 1" is pretty understandable and doesn't need to be it's own separately defined function.

I should also note that development style also depends on tools, so if your IDE makes inline functions more readable in it's display, it's fine to use concisely defined lambdas.

Readablity is a personal preference thing at some point after all.

3
banannaise 10 days ago

> "lambda x : x if x else 1"

I think what you're looking for is "x or 1"

gopher_space 10 days ago

My cleverest one-liners will block me when I come back to them unless I write a few paragraphs of explanation as well.

ethbr1 10 days ago

>> Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan

https://github.com/dwmkerr/hacker-laws#kernighans-law

johnnyanmac 10 days ago

Ymmv. Know your language and how it treats such functions on the low level. It's probably fine for Javascript, it might be a disaster in C++ (indirectly).