Testing a codebase gets asymptotically harder as you add more.

  • Testing a codebase gets asymptotically harder as you add more.
    • When you get 80% coverage you feel well covered but you might only have 20% covered.
    • Tests are the formalization of a complex domain, so they have the characteristic logarithmic-benefit-for-exponential-cost curve.
    • There are infinite ways to write programs that pass your tests but are wrong in most other cases.
      • They often look weird.
      • But LLMs will write weird code you'd never have written.