TheDoctor [they/them]

  • 1 Post
  • 47 Comments
Joined 9 months ago
cake
Cake day: March 25th, 2024

help-circle







  • TheDoctor [they/them]@hexbear.nettoProgrammer Humor@lemmy.mlDebugging
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    30 days ago

    I did both of these at once last week.

    Added a breakpoint. Debugger didn’t break.

    Added an echo "here";. Debugger didn’t print.

    Added a throw new Exception('fuck');. Debugger didn’t throw.

    Stepped through. Debugger wouldn’t let me step in.

    It took me almost an hour to realize it wasn’t the debugger’s fault and that a variable I thought was guaranteed to be truthy at that point was actually falsey due to upstream changes in a spreadsheet parser. I felt kind of stupid for not trusting the debugger at that point.




  • In the way that’s common in languages like Java where you’re making a property read-only, yes. But there’s a whole protocol in Python called descriptors where you can override the . on a field. The most common form of these is class methods annotated with the @property annotation, which makes it so the method can be accessed as if it were a property.



  • I helped a friend debug a script last week that was working inconsistently in really weird ways. I looked at the script and it was all event hooks littered with sleep calls. I told him he was basically fuzz testing his own script and then getting surprised when he found race conditions. Shit was wild. Also, sometimes getters in Python are a mistake.