I may not necessarily have the same criteria for good software as dragonchild, but no, it shouldn't depend on the person who comes in. I think that's (part of) dragonchild's point.
Anyone should be able to come in, make a change to some small part of the program, and be reasonably certain that everything else continues to work as before, with this modification. I do think this ideal is a wee bit lofty for any set of requirements that approach moderate complexity, but I think I see where he's coming from.
| [reply] |
If you don't shoot for the moon, you'll never catch a star. No-one made it to the top aiming for the middle.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
| [reply] |
Absolutely. One of the hallmarks of the master programmer is that s/he programs with the intended maintenance programmer's level in mind. For example, the code I write for my CPAN modules is very different from the code I write when doing maintenance on a contract. In the first case, the only people I expect to even read it are programmers of my skill level, so I can use more advanced constructs (soft references and closures) and my code can be more compact. I also make extensive use of direct access into @_, where I would never do that in application code.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
| [reply] |