• wise_pancake@lemmy.ca
    link
    fedilink
    arrow-up
    27
    ·
    3 months ago

    Hey boss, I’m logging this ticket as tech debt. We need to take this on to hit our marketing deadline, and as soon as the project is over we need two scrum cycles to resolve it.

    Two years later…

    This ticket has been open forever, can we just delete it since nobody is ever going to clean this up? It’s messing up our velocity metric.

  • kautau@lemmy.world
    link
    fedilink
    arrow-up
    19
    arrow-down
    1
    ·
    3 months ago

    As long as “cleaner than you found it” also includes “better documented.” I’ve worked with people who think that “the code should speak for itself” to the point that they will make biased decisions with no explanation or documentation and then if you ask them about it after their response is “look at the PR for how that decision was made.” I’m not going to git blame and find your PR to find an outcome from an argument between two people that after scrolling just says “sometimes the API returns a JSON string here instead of nested JSON so we have this conditional” when that could be a comment

    • pastermil@sh.itjust.works
      link
      fedilink
      arrow-up
      9
      ·
      3 months ago

      Not to mention that sometimes, the code that’s supposed to “speak for itself” doesn’t do the things that they think it would do.

      • kautau@lemmy.world
        link
        fedilink
        arrow-up
        7
        ·
        3 months ago

        Right. Given the option I will always choose to work with a decent programmer who can communicate well and documents their code, over a very strong programmer that doesn’t think they should waste time with documentation

    • tyo_ukko@sopuli.xyzOP
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      3 months ago

      In particular business logic that’s not obvious should be documented in comments.

      // Typically 1 = 1, but on March accounting wants that 1 = 2. This function makes that mapping.

  • Rook
    link
    fedilink
    arrow-up
    18
    ·
    edit-2
    3 months ago
    // 8 attempts have been made to clean up this code.
    // A total of 47 hours have been wasted here. 
    // Update the counters after your attempt.
    
    • tyo_ukko@sopuli.xyzOP
      link
      fedilink
      arrow-up
      15
      ·
      edit-2
      3 months ago

      Few of the good ones I’ve spotted:

      (complicated business logic in messy code) // TODO: check

      (…) // TODO: think about better naming

      (…) // TODO: This is obviously shit and needs to be changed.

      (…) // TODO: THIS IS NOT USED ANYWHERE CONSIDER REMOVING ALTOGETHER (comment made 3 years ago)

    • tyo_ukko@sopuli.xyzOP
      link
      fedilink
      arrow-up
      3
      ·
      3 months ago

      Hi colleague! So I found a comment in the code from 3 years ago by you saying you should “improve this”. Is it planned for the next sprint?

        • tyo_ukko@sopuli.xyzOP
          link
          fedilink
          arrow-up
          4
          ·
          3 months ago

          Just remember to mark all the things you’d like to make better but can’t be arsed to at the moment with numerous TODOs.