Let's see, I've worked where source control was not allowed (yay management). So #1 and #2 were necessary for communication. Also been in situations where non-programmers make small changes to certain pieces of code. Yes, that means you have to explain loops. (#3) I have never seen an example like #4 in the wild and other people have already argued against #5.