Any developer who joins a project in progress has to learn how the parts of the program are laid out. It seems that the learning curve could be made less steep by documenting the program well. Comments are not the only helpful documentation; there are also object models and diagrams of all sorts, detailed specifications, use cases, coding conventions, etc.
The class I TA for at MIT is 6.170: Lab in Software Engineering. We force the students to learn how to write software using these documentation tools, in part to help them come up with better designs, but in part so that they can work more effectively as a team in their final project.
The class I TA for at MIT is 6.170: Lab in Software Engineering. We force the students to learn how to write software using these documentation tools, in part to help them come up with better designs, but in part so that they can work more effectively as a team in their final project.
--Kurt