4 ms·
Nobody can "rapidly and correctly modify large programs." Yes, that's what most programmers do for a living, and it's just plain hard. Nobody can sit down with
by johndcook 15y ago
Nobody can "rapidly and correctly modify large programs."
Yes, that's what most programmers do for a living, and it's just plain hard. Nobody can sit down with a million-line program and whip out a quick change correctly, unless they're lucky. So you learn how to retrofit the code with unit tests (a la Michael Feather's book Legacy Code), get good at using analysis tools, etc.
- akkartik 15y agoI tend to be slower than most at doing this. All the uncertainty and fragility paralyzes me more than most people, it seems. I think I'm just spoiled because I have more experience with less dysfunctional setups.
- stcredzero 15y agoNobody can "rapidly and correctly modify large programs." Really, it depends on the definitions of: rapidly, correct, large, and the particular modification. I've seen enterprise BS happen, such that the business asks for a new column in a database, which is just attached to a dumb text field that does nothing but save data, which is trivial, and gets done. Then the business points out that the business implications are that the value of something else needs to be this or that in response to this data, and that the original modification is now retroactively determined to be "wrong." Also, there are some tricks that you can use in OO systems, along the same lines of Refactorings. I've done things, like verify that a certain method can only be called in a certain precisely delimited set of conditions, then carefully verify my code in those conditions. This doesn't always work, but it often does.