Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



> "lambda x : x if x else 1"

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


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


>> 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


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).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: