12. Use meaningful names for methods. The name must specify the exact action of the method and for most cases must start with a verb. (e.g. createPasswordHash)This depends. My classes often have side-effect-free methods that just return a value based on the state of the object. They are just properties the storage of which would be redundant. I never put "get" in front of the names of these methods. For instance, in a math Vector class, I don't have getNorm(), getUnit(), etc., I just have norm() and unit().
I struggle with what to name methods that compute, for instance, a dot product of two vectors. I don't like a.getDotProduct(b), nor a.dot(b) for that matter. The way the implicit parameter ("this") is special-cased in the notation makes everything so ugly. Nowadays I usually just have a class V with static methods that act on double[]s (so I end up with V.dot(a, b), which still sucks but at least isn't so confusing).