This pattern is repeated throughout the library. Using if-else here would be painful, but it'd be manageable. At least one wouldn't have to deal with the code like you described. Why people would write code of that sort (except for codegolf) is beyond me.
Striving to become a master Go/Cloud developer; Father ๐จโ๐งโ๐ฆ; ๐ค/((Full Stack Web|Unity3D) + Developer)/g; Science supporter ๐ฉโ๐ฌ; https://coder.today
Why people would write code of that sort (except for codegolf) is beyond me.
The most common reason I saw (is not specific to this problem) was when a dev had to add some new logic, instead of refactoring the ternary expression into an if, switch or separate to functions, or objects or whatever added the new complexity in place.
The reasons why that happened were various, excuses like "I was in a hurry", "I didn't had the time to understand the code" and so on were common.
Fear of refactoring is a common problem in projects without tests and/or devs without the desire to write good code, or just insane release schedule, you know, common problems.
// WHY NOT THIS?startOfLine(enable=true){this._prefixes=(enable&&'^')||''returnthis.add()}// OR EVEN THIS?endOfLine(enable=true){return(this._suffixes=(enable&&'$')||'',this.add.bind(this))()// ^ look mom, no space after `return` ^// |// note the artisanal external position of call parens |}
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I agree. I've seen it used in some perfectly legitimate ways such as in JSVerbalExpressions.
This pattern is repeated throughout the library. Using
if-else
here would be painful, but it'd be manageable. At least one wouldn't have to deal with the code like you described. Why people would write code of that sort (except for codegolf) is beyond me.The most common reason I saw (is not specific to this problem) was when a dev had to add some new logic, instead of refactoring the ternary expression into an
if
,switch
or separate to functions, or objects or whatever added the new complexity in place.The reasons why that happened were various, excuses like "I was in a hurry", "I didn't had the time to understand the code" and so on were common.
Fear of refactoring is a common problem in projects without tests and/or devs without the desire to write good code, or just insane release schedule, you know, common problems.