I would agree that 0 is by far the most important (also with almost everything else). Given the agreement (and the fact that people comment mostly to object), I will note that I do disagree with #3 and #7 (partially).

Comments are by far overrated. Good code is self-documenting (one of the many things I agree with Martin Fowler). As such, I do agree that spending time on a naming convention is always a worthwhile investment.

Comments on the other hand are a mixed bag. What's useful to comment on? What some code does. Sure, a good description on a function/method does help. But as long as you follow a good amount of practices of your coding flavour (OOP/functional/etc) and you don't overload the functions with responsibilities, your code will be obvious as long as methods / variables are named appropriately (and sure, a comment on what it does won't hurt).

BUT ... the big issue with your own code feeling like gibberish later on isn't the lack of comments. 90% of my situations come from natural evolution. Along the way I simply found a better and cleaner way to do something which results in a decent amount of "what the hell is this convoluted way to do X?" which in practice means that any intervention in the same place again will result in a prompt rewrite.

A comment will tell me what the code is supposed to do, but that doesn't translate in being able to follow the implementation once I've evolved.