re: Is “Defensive Programming” actually healthy? VIEW POST

re: Being still relatively a beginner, I would have added green as an else if, and then an error message in the else. Why? Because I’m always stumbling...

It’s always better to be explicit. So even if you wanted to have a case for “power off” you should have a specific if statement for that. Falling through hides complexity and makes for code that looks simple but has hidden complexity. So please don’t have anything in the else other than:

  • this never pattern described in the article
  • or if you don’t have the never type (like if you’re not in TypeScript) then you should throw in the else. Like throw new Error(“unexpected scenario”)
Code of Conduct Report abuse