Like if I’m using print statements to test my code. Is it okay to leave stuff like that in there when “publishing” the app/program?

Edit: So I meant logging. Not “tests”. Using console.log to see if the code is flowing properly. I’ll study up on debugging. Also, based on what I managed to grasp from your very helpful comments, it is not okay to do, but the severity of how much of an issue it is depends on the context? Either that or it’s completely avoidable in the first place if I just use “automated testing” or “loggers”.

  • heavydust@sh.itjust.works
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    edit-2
    6 days ago

    It’s never OK in my experience.

    If its debug logs, call the logger instead of print, like Log.debug() or something. If its part of a test, it shouldn’t be in the code itself. And it’s not a feature either as you said. Neither logs nor test or feature: remove it.

    It may also bite you in the ass one day if the output is stored or tested or filtered and someone wonders who added that unspecified stuff. We never print anything raw like that at my job, and if I saw this I would wonder who is printing random crap and I would remove that because its “useless for the application.”

    • Septimaeus@infosec.pub
      link
      fedilink
      arrow-up
      3
      ·
      6 days ago

      I think “never OK” is overly proscriptive — we use the term best practice because there are less preferable solutions that are nonetheless viable — but your advice to use a proper logger is sound. Many developers don’t think to use them and they offer many benefits in terms of maintainability.

      • heavydust@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        6 days ago

        Its not a best practice IMHO. Its never OK because of the 3 alternatives that exist, and because its forbidden in some regulated jobs.

        • Septimaeus@infosec.pub
          link
          fedilink
          arrow-up
          1
          ·
          6 days ago

          Certainly not best practice. The reason I referred to the term is that “best” implies a spectrum of acceptability, where the “never OK” end of the spectrum includes stuff like storing user credentials in plaintext.

          But also, if anything but best practice was truly never OK, there are many smaller programs that wouldn’t see the light of day, and there definitely wouldn’t be any junior developers.