Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There are more choices than "ship-it-quickly and fix bugs later" and "over-engineer something complicated that ships later".

There are _lots_ of good practices which reduce the (potential) bug count without making things more complicated -- indeed, good practices serve to reduce complexity in design and architecture. Selecting the right data structures and algorithms, server-side validation, making proper use of your language's type system, choosing the correct type of database, writing some unit/integration/system tests, use caching judiciously, I could go on.



> There are more choices than "ship-it-quickly and fix bugs later" and "over-engineer something complicated that ships later".

It is abundantly clear that GP is roughly describing two ends of a spectrum, not enumerating every possible option.


That was to make the point very clear. Twh270 is correct. There's a whole spectrum of robustness. It's a constant fight to push towards the robust end no matter where you are on the spectrum.

The other big one I constantly fight have to fight for is using type annotations in Python. It's a total no brainer and definitely not an extreme end of the spectrum. I'm not advocating formal software verification.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: