DEV Community

Discussion on: Write better code and be a better programmer by NEVER USING ELSE statements

Collapse
 
moopet profile image
Ben Sinclair

That's not a particularly constructive reply.

The point of the article is sound - try not to have branching paths inside a function. Perhaps a better solution in a language that supports it it to use guard clauses that throw exceptions if they don't follow the golden path rather than returning some kind of error state. But that's not always possible depending what you're coding in.

Collapse
 
opwernby profile image
Dan Sutton

No it isn't. This is the sort of thing programmers with a few years' experience think is clever, but it's not: it's just another way of swimming while hog-tied and then saying, "Look what I can do". I mean - come on: do you really think throwing exceptions and returning error states is more readable than using "else"?

Thread Thread
 
moopet profile image
Ben Sinclair

It depends, but oftentimes yes, because an "else" is a sign that your function is doing more than one thing, and a lot of people's programming philosophy revolves around making functions only do one thing.

Thread Thread
 
opwernby profile image
Dan Sutton

I know - again: good for really simplistic stuff, but in the real world, if you make every function do only one thing, you have to have so many of them that your code becomes spaghetti. Besides, avoiding an else in one function simply means you have to move it to another, or use a case instead, which is a bunch of glorified else statements: if the program needs to decide a thing, it's going to need to decide it somewhere.