I have been troubleshooting this script for weeks and finally found it was trying to divide by zero.
Just ship it with debug flags so your program always generates a stack trace to the user!
Panicking on the error is much better than letting the system work continue on an undefined behaviour (good luck with debugging if you are ignoring all assertions)!
would it help if I returned -2147483648?
Makes me think of devs who debug with print statements instead of a debugger and breakpoints.
IMO there’s a place for both. A print statement will reveal a flaw in the programmer’s thinking regarding the control flow of the program and the state at that time. If a print statement gives something unexpected, you know exactly where to look in the debugger. If it gives you what you expected, it reveals the problem may be elsewhere
Well, Kernighan himself said “The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.”
If it was good enough for him…
/me glances sideways at codebase
Worked on a project last year with one dev who was always super slow when having to debug even the simplest things. Turns out they didn’t know debuggers; just print statements… That person had more then 5 years of exp and was sold as a senior dev. But apparently nobody ever really coached them after uni and they never picked it up themselves :|