TheDoctor [they/them]

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

help-circle






  • 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.












  • I often use comments as ways to say, “I know this is cursed, but here’s why the obvious solution won’t work.” Like so:

    /**
     * The column on this table is badly named, but
     * renaming it is going to require an audit of our
     * db instances because we used to create them
     * by hand and there are some inconsistencies
     * that referential integrity breaks. This method
     * just does some basic checks and translates the
     * model’s property to be more understandable.
     * See [#27267] for more info.
     */
    

    Edit: to answer your question more directly, the “why not what” advice is more about the intent of whether to write a comment or not in the first place rather than rephrasing the existing “what” style comments. What code is doing should be clear based on names of variables and functions. Why it’s doing that may be unclear, which is why you would write a comment.