1. Code review, collaboration, and knowledge sharing (each hour of code review saves 33 hours of maintenance)

2. TDD (40% — 80% reduction in production bug density)

3. Daily continuous integration (large code merges are a major source of bugs)

4. Minimize developer interruptions (an interrupted task takes twice as long and contains twice as many defects)

5. Linting (catches many typo and undefined variable bugs that static types could catch, as well as a host of stylistic issues that correlate with bug creation, such as accidentally assigning when you meant to compare)

6. Reduce complexity & improve modularity  -- complex code is harder to understand, test, and maintain

-Eric Elliott

  • 3
    What if you're a game developer and no lives are jeopardized by your bugs whatsoever?
  • 6
    @stisch you should code as if your users lives depends on your stability and robustness
  • 1
    I hate TDD so much...
  • 1
    I'm just curious, where do these stats come from?
  • 10
    @stisch you'd be amazed at how many times I have taken my own life due to an unstable game...
  • 2
    @tpalmerstudios I see what you did there.
  • 3
    So much this. I work on programming robots, and breaking $4000 hardware because of stupid bugs that could have been caught in review or testing is unacceptable.
  • 2
    7. Formally verify core algorithms and their implementation
  • 2
    @Jase I don't know...Maybe because I find it not as intuitive. You make cookies and then you try them and I haven't use it so much but how do you test a complex ajax website?
  • 1
    @thureos you should try BDD then... I hate to sound like a hipster, but it's SO MUCH BETTER
  • 2
    @johnny-cache a friend told me about it... I haven't had the chance to try it... I hope to do that soon though...
  • 3
    @thureos well you don't test a complex Ajax website with TDD, it's not what's it's for. You test small parts, function by function.
    TDD only guarantee that every function do what it advertise, if you want to check if the functionalities of your website are OK, look toward functional tests
Add Comment