4 ms·
http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.html http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.htm... This point reminds me of "Portait
by rgoulter 8y ago
http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.html http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.htm...
This point reminds me of "Portait of a Noob".
For people who understand what the codebase is doing, it's more effective to have as much code on screen as possible.
For "noobs", since you don't know what the code does, less code on screen is better.
Additionally, these 'noobs' like more meta-program stuff like type declarations (or unit tests) which don't actually contribute to the program itself, but provide a safety barrier to prevent things from going wrong.
(Whereas, if you know what the code is doing and it goes wrong, you can just fix it).
It's fair to say "a program not covered by unit tests can still be good enough to get the job done" (& to suggest that this is under-appreciated), but not having sufficient test coverage significantly raises the barrier to entry for those not familiar with the code ("noobs") from contributing.
(EDIT: I wrote my comment before parent's edit)
- nightski 8y agoIs that really true though? Comprehensive test coverage will definitely give the new programmers confidence, but is it justified? Are there really that many software projects where lots of tests instills confidence that changes won't break things? At the end of the day, unit tests or not - you have to understand the code you are working in. This means new programmers will not deliver features as fast as those who have been working on the project for a while. They are going to need to learn the code base regardless of whether it has tests or not.
- ramraj07 8y agoThere was a post on HN about Oracle's DB2 code being completely in C and fully unitelligible. Only an insane suite of semi integration tests allows them to maintain it, albeit in the most inefficient way.
- tjalfi 8y agoIs [0] the comment you are referring to? [0] https://news.ycombinator.com/item?id=18442941 https://news.ycombinator.com/item?id=18442941
- Apaec 8y agoI guess this kubernetes piece[0] would be the epitome of n00b code. [0]: https://news.ycombinator.com/item?id=18772873 https://news.ycombinator.com/item?id=18772873