Let me disagree, even if the original code was not the worst
example I could have brought up.
I was staring at the code for a long time before
I understood what it does (originally, there was inconsistent indentation, global variables with meaningless names, almost no whitespace). I had to run it to see whether the
numeric constants were correct and what the behaviour was for
Here I have to agree. I was not satisfied with my solution, that
was why I asked here. To run an exhaustive test, you can modify the list to
Reserve enough time, though.
q(), 0 .. 1e12
Business justification: I am the maintainer of the code. If the
code changes only when fixing bugs, it will stay in the nineties
and become unmaintainable. Without refactoring, the code becomes
dead, and accumulates risk: at one point in the future, a bug or
feature request will appear that will not be possible.
Working with always enough assigned tickets to prevent any
creativity leads to exhaustion. It will make me leave your company,
which means «business cost»: you invested in the hiring
process and in training me. Moreover, trust (both to expert opinions and business decisions) makes the working environment better.