Knowing when a beginner project is finished enough to stop polishing and move on

My small command-line project works, has basic tests and solves the problem I built it for. But I keep finding reasons to rewrite it: cleaner abstractions, prettier output, one more option. Three weeks later I've learned plenty but haven't started anything new. For a beginner portfolio project, what's a reasonable definition of done? I'm considering a README, a handful of test cases and one tagged release, then deliberately moving on.

  • programming-help
  • knowing
  • beginner
  • project
40

5 replies · Sort: Best

Best
  1. CS
    charles_5
    4 points

    4 replies

    For a beginner project, done is when it works, has tests for the important paths, and you can explain it without a novel. The README and a t...

    44 replies

    For a beginner project, done is when it works, has tests for the important paths, and you can explain it without a novel. The README and a tagged release are a solid stopping point.

    4
    1. xiao.si
      3 points

      I like the idea of writing down the stop line before you start. If you decide on three features and one release, it's easier to resist adding a fourth just because it sounds neat.

      3

        This is where I get stuck too. I keep treating polishing as if it were part of learning, when really starting the next project teaches a dif...

      1. IT
        tagliafierro-i
        3 points

        One thing I do is freeze the code and make notes in a backlog file instead of changing it. That way the idea does not vanish, but the project still gets to be finished.

        3