Interesting article Brian.
Re interns I’m a big fan of pair programming. One reason I like it relates to the first half of the article - that naming things is hugely important. Naming things and coming up with metaphors can be incredibly hard and having two people work on names together is more likely to produce something that’s more understandable to others.
Re analyzing code for readability, I think that deserves a full article by itself. It’s like you’ve presented the kernel of an idea and I’d like to see the idea developed further.
IntelliJ has the beginnings of what you suggest. If you have the statement int height = someComponent.getWidth(); it will flag this line with a warning that it’s probably not what you intended. They could probably extend this inspection to add a lot more smarts to it.
Thanks again for the article, Nev