dds' approach fits the real world not too badly: an employed programmer is unlikely to have exactly the same assignment as their smarter colleague in the next cubicle, and so they have to understand the advice/code of their colleague before they can apply it.