CODEBASE COMPLEXITY: LESSONS LEARNED Dumb, readable code is infinitely better than clever.

Don’t listen to vendors blaming the hardware and recommending expensive server upgrades.

Be aware of the danger of shortcuts and the importance of understanding how code works under the hood.

Opening and closing a database connection is a slow and expensive operation.

Consider the potential risks and implications when installing new npm modules or importing someone else’s code.

Beware of teammates who refactor code based on personal taste without proper documentation or completeness.

Ensure code changes are well-documented.

Be cautious of colleagues who make undocumented changes that create subtle traps for others.

Improve the code review processes to address flaws.

Acknowledge that even big companies like Facebook can make mistakes, as seen in their DNS record issue on October 4, 2021.

Don’t ever be the guy who accidentally breaks something on prod.

Broken code is fixable. People, now, that’s another story.

  • @[email protected]
    link
    fedilink
    197 months ago

    A very recent university graduate joined our company many years ago. He was quite the C++ wizard, whereas we were slowly migrating from VAX Pascal to C++. No one could understand the code he wrote as he was using all kinds of jiggery pokery without comments. We had to ask him to simplify and comment his code! 😁

    That doesn’t say much about us at the time!!

    • @[email protected]
      cake
      link
      fedilink
      English
      137 months ago

      jiggery pokery

      +1 just because I love seeing this phrase in the wild

      without comments

      Oof

    • @onlinepersona
      link
      English
      77 months ago

      Probably enjoyed templates too much.

      Bro, did you know that templates are turing complete? You can write the entire program and run it in the compiler itself!

  • @[email protected]
    link
    fedilink
    127 months ago

    Some genius programmer made a totally new shine kernel for the scientific app we had, using template metaprogramming. I had to finalise it. I still nightmare about the errors (GCC 4.8).

    If you think C++ is easy, then this is a simple trick to bump up the challenge IMO.

    Also completely unmaintainable or expandable ofc!

    • @LadyLeeLooshOP
      link
      97 months ago

      “There are only two kinds of programming languages: the ones people complain about and the ones nobody uses.” This is a famous quote attributed to Bjarne Stroustrup, the creator of C++.

      • @[email protected]
        link
        fedilink
        67 months ago

        Well, technically I didn’t complain about a programming language, but an abuse of it.

        I like C/C++ !

          • @leggettc18
            link
            English
            17 months ago

            Same here, might just be because I learned with Object Oriented languages but C++ syntax just gels well with how I think. That could just be autism though.

      • Gaia [She/Her]
        link
        fedilink
        27 months ago

        I don’t use C++ and I complain about it all the time. Never have I had a project that couldn’t be completed in equal or better accuracy in something other than C++, and the amount of development time it adds on just to use the damn thing is prohibitive. Let alone fast compilation for iterative design, or reduction in boilerplate. I feel the only thing C++ has is seniority and a smidgen of performance, and performance is rapidly being approached or exceeded by projects like rust.

        I think there are two types of programming languages:

        Good ones that are expressive and readable, like you need from a language.

        And

        Things that sorely need replacement.

        Sorry, I just really fucking hate that quote. It’s so pretentious and stupid, and doesn’t allow for the development of anything new unless people don’t like it. Programmers are surprisingly conservative.

  • Semi-Hemi-Demigod
    link
    fedilink
    107 months ago

    Opening and closing a database connection is a slow and expensive operation.

    That depends a lot on your RDBMS and its configuration. For example, MariaDB can use a pool of connection threads so opening one doesn’t take a lot of time.