Documentation would be nice, documented lines would be great, a good programming style (including well chosen variable and function names) would be super, but you cannot really ask for this; quite a lot of production code lacks one or more of these points, quite a lot of open source projects lack one or more of these points.
Imho OP has a confusion on this matter. Open source doesn't mean teaching/learning code.
Yes, it would be nice to have that, but I don't think that it's Bitcoin Dev team's "job" to do that. It could be an idea for a side project/website though...
the dictionary definition of open source is that the code is not locked away in some vault that only available to authorised people.
BUT
the concept and context of bitcoins openness is that anyone should be able to get involved. which can actually be hindered by the ettiquete some devs have. especially if its required that their code should be peer reviewed.
this is how bugs happen. by not clearly laying out the code. people gloss over the code and just think. 'this guy looks like he knows what he is doing lets just let the code fly' and not actually reading line by line and running scenarios.
its already happened a couple times even after being so called 'peer reviewed'