• 25 Posts
  • 1.84K Comments
Joined 5 years ago
cake
Cake day: May 31st, 2020

help-circle






  • I agree in general, that a crash is much better than silently failing, but well, to give you some of the nuance I’ve already mostly figured out:

    • In a script or CLI, you may never need to move beyond just crashing.
    • In a GUI application or app, a crash may be good (so long as unsaved data can be recovered), but you likely need to collect additional information for what the program was doing when the crash happened.
    • In a backend service, a crash can be problematic when it isn’t actually necessary, since it can be abused for Denial-of-Service attacks. Still infinitely better than failing silently, but yeah, you gotta invest into logging, monitoring and alerting, so you don’t need to crash to make it visible.
    • In a library, you generally don’t want to trigger a crash, unless an irrecoverable error happens, because you don’t know where it’ll be used.

  • Currently implementing error handling for a library I’m building and the process is basically to just throw all of the information I can find into there. It makes the error handling code quite verbose, but there’s no easy way for me to know whether the underlying errors expose that information already, so this is actually easier to deal with. 🫠



  • However there are things when the Ai is helpful, especially for writing tests in a restrictive language such as Rust.

    For generating the boilerplate surrounding it, sure.
    But the contents of the tests are your specification. They’re the one part of the code, where you should be thinking what needs to happen and they should be readable.

    A colleague at work generated unit tests and it’s the stupidest code I’ve seen in a long while, with all imports repeated in each test case, as well as tons of random assertions also repeated in each test case, like some shotgun-approach to regression testing.
    It makes it impossible to know which parts of the asserted behaviour are actually intended and which parts just got caught in the crossfire.




  • Ephera@lemmy.mltocats@lemmy.worldClose
    link
    fedilink
    English
    arrow-up
    27
    ·
    4 days ago

    Is it maybe a burying instinct, like they have with their poop? The carpet might seem more like grass or lose ground, where it is possible to bury it. You don’t really want the puke rotting away on the stone ground of your lion’s den, do ya?



  • I see the value in reading documentation front-to-back for picking up all the little tidbits of information (or at least knowing where they’re documented), but yeah, ultimately I need to be building something to really process the information.

    Kind of my sweetspot is documentation that makes you build along, but doesn’t overstay its welcome. As in, don’t cram all the details along the way, but rather just dish out important information on rapidfire.
    I will run off building my own thing in the middle of the tutorial, if that isn’t the case, whether I want to or not. As soon as it’s quicker to learn by dicking around with the code, I will do that and then I’ve spoiled future chapters, so likely won’t return.




  • Ephera@lemmy.mltoProgrammer Humor@lemmy.mlCareer Advice
    link
    fedilink
    English
    arrow-up
    4
    ·
    9 days ago

    Last year, money was running out in our project and the guy who had trained me decided he’d take the L and move to another project, so we could continue in the project. And yeah, suddenly I was in the role of the lead developer.

    Like, don’t get me wrong, I would’ve been the one to be moved to another project, if I wasn’t up for the task. It’s not like I was a complete dumbass.
    But it did still feel more like “I guess, we doin’ lead development now” rather than something I had intentionally worked towards.



  • If we leave realism aside for a moment, though, the difference is that:

    • a carry slot limit restricts how many distinct kinds of items you can have, whereas
    • a carry weight limit moreso forces you to leave behind duplicates of items or to e.g. make a choice between heavy armor vs. having auxiliary items.

    It depends on the game what’s more fitting for the overall design, but yeah, ultimately you want to prevent the player from optimizing the fun out of the game.
    Having very heavy armor or dozens of healing potions can be boring, since there’s no risk anymore. But having one of each different kind of item can also kill the fun, because having the perfect solution for every situation is just as boring.