To me, the two most important parts of code maintainability are
- Comments
- Ability to reproduce the tool chain
I've rarely seen C source that was very well commented. Most C code isn't commented at all. All my program listings include extensive comments and a table of contents, so this stuff is very easy to maintain. C code, of course, *should* be heavily commented, as C is fairly cryptic by design.
I can archive an entire project on a single floppy, including all the tools and a bootable OS (but not the FPGA stuff, which can be huge.) We do archive all the tools to our company library, so don't have to worry about losing the install CD for a monster C++/linker/debugger system.
John