Increasingly so, the more experienced I get…

  • limer@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    2 days ago

    All good points!

    Also, I’ve learned from others that how you crash depends on the environment, if running in dev, be different than if the thing is used by the public or in production.

    • In a script, dump too much data if dev, in production keep it terse but have relevant info and a link to the docs.
    • In a gui, webpage or app make the crash screen in dev be a thing of beauty that has the full stack trace, database info , and more. But in production only generate a polite message that is vague, with an error code. Push that error to a logging service with the code. And if this is not used by the public but by a company that paid for it, have a feedback button or live chat button, in the error message, to talk with tech support.
    • Backend services and libraries: if in dev mode crashes should be loud and definitely break things, while in production log silently and keep working.
    • And for any type of program: always back up data, and always use transactions to not have the database or files be in an incomplete state if an exception happens.

    formatting edit