3 ms·
"How will we prevent this bug from ever reaching customers again?" I think the cost of this is far higher than it's worth.
by jshen 17y ago
"How will we prevent this bug from ever reaching customers again?"
I think the cost of this is far higher than it's worth.
- j_baker 17y agoAre you a programmer presently? That works on a codebase that's at least in the tens of thousands of lines of code? Tell me what software you write so that I know to never, ever use it.
- nkohari 17y agoI'll play along. Have you ever owned your own business, and had to make the trade off between absolute quality and efficiency?
- rbanffy 17y agoThe one between correct and works-for-the-customer?
- jshen 17y agolines of code is very dependent on the language. I have one rails app that's in the 5k range, excluding tests, and it's been running for over a year with no restarts and no need for bug fixes. I think that says something about the effectiveness of my process. I question the design decisions of any code base with tens of thousands lines of code.
- munctional 17y agoIf your app has been running for over a year, you might want to look into this (before someone else does)... http://groups.google.com/group/rubyonrails-security/msg/7f57cd7794e1d1b4?pli=1 http://groups.google.com/group/rubyonrails-security/msg/7f57...
- jshen 17y agothanks for the pointer. the site wasn't affected by that.
- davidw 17y ago> I question the design decisions of any code base with tens of thousands lines of code. What operating system are you running on?
- jshen 17y agomy servers are either debian or ubuntu, and my laptop is a mac. You do realize that the OS isn't a single monolithic code base. It's a bunch of smaller code bases that work together, which is precisely the point I was making.
- davidw 17y agoWant to take a guess at how many lines of code are in the Linux kernel?
- jshen 17y agothat's the exception, not the rule right? It's also a example of something that I would absolutely write thorough tests for. I'm also curious how modular it is. Does a kernel hacker have to keep the structure of that whole set of code in his/her head? I'm guessing there are a lot of clean seams in it that in practice reduce the actual lok related to a project down to a much smaller number.
- jshen 17y agoThis is from linus' chapter in "open sources" "With the 2.0 kernel linux really grew up a lot. This was the point we added loadable kernel modules. This obviously improved modularity by making an explicit structure for writing modules. Programmers could work on different modules without risk of interference."
- plinkplonk 17y agoMeaningless. You made an explicit statement that you thought all code bases with more than 10 k lines have "questionable design", using a piddly little rails app as an example. When someone pointed out that linux kernel had millions of lines now you are retreating to "but it is modular". Programming languages have had modules since the eighties. If someone points out a 25,000 line module what will you say? Each function has less than 10 k lines? The point is that there are well designed code bases (the design includes modularization) with sizes well above 10 k lines , which directly contradicts your point. I've worked on well designed enterprise systems with a few million lines of code.
- chadaustin 17y agoEvery so often you're right... you certainly should consider the costs of automating the test versus the risk of regressing. But note that once you you have an organization good at writing tests, the incremental cost of writing a test is very, very small. We like the term "10x" around here. Design systems for 10x the customers of today. Write code that will survive for a year. (Otherwise it may have been wasted.) Only fix bugs once so you can grow the engineering team without rehashing old issues.