Seeing that Uncle Bob is making a new version of Clean Code I decided to try and find this article about the original.

  • realharo@lemm.ee
    link
    fedilink
    arrow-up
    13
    ·
    edit-2
    4 个月前

    It’s not nitpicking, stuff like this is far more impactful than choosing between 5 lines vs 10 lines long methods, or whether the hasExtraCommissionsif” belongs inside or outside of calculateExtraCommissions. This kind of thing should immediately jump out at you as a red flag when you’re reading code, it’s not something to handwave away as a detail.

    • dandi8@fedia.io
      link
      fedilink
      arrow-up
      1
      arrow-down
      6
      ·
      4 个月前

      I never claimed it’s not important, I’m just saying it’s not relevant here, as there is no context to where this method was put in the code.

      As I said, it might be top-level. You have to mutate state somewhere, because that’s what applications ultimately do. You just don’t want state mutations everywhere, because that makes bad code.

      • BatmanAoD@programming.dev
        link
        fedilink
        arrow-up
        9
        ·
        4 个月前

        The whole book is like this, though, and these are specifically supposed to be examples of “good” code. The rewritten time class toward the end, a fully rewritten Java module, is a nightmare by the time Martin finishes with it. And I’m pretty sure it has a bug, though I couldn’t be bothered to type the whole thing into an editor to test it myself.