I Am a Puts Debuggerer
tenderlovemaking.com
tenderlovemaking.com
I could spend hours in there feeling productive, and then a few more hours not feeling productive. And after the journey I didn't feel like I knew the code better than before - at least not compared to the time spent.
Now I'm a println debugger and I think more about where I'm putting statements, which helps me understand the code at a higher level.
I even have a trick that aids this technique a ton. I have a snippet for print line statements that adds "// FIXME: (ABC) testing" to all lines, with ABC here being my initials. Then a git pre-commit hook which won't let me commit that code. Also searching the codebase for that string shows all of my breadcrumbs, like individual breakpoints at all the places I care about.
Why mess around typing and backspacing print calls?
Not to mention condition breakpoints, changing values at runtime, don’t even need to touch your code.