This leads to the long names that senior programmers make fun of.
Hum… The notation that I've seen people making fun of is one where the long names encode the exact same information that C types can handle for you and nothing else. But YMMV.
Anyway, I don't think any naming convention can save you after somebody goes over your entire codebase converting things without care for the semantics. If you are lucky, it's one of the lazy people that do that, and you will "only" have to revise tens of thousands of lines to fix it. If you are unlucky, the same person will helpfully adjust the names for you too.
Yes, any programmer who doesn't care will do damage, but when I see durationInMilliseconds, I think more about what the int means than when I see merely "duration". I don't know how to help the people who read that and ignore it.
Hum… The notation that I've seen people making fun of is one where the long names encode the exact same information that C types can handle for you and nothing else. But YMMV.
Anyway, I don't think any naming convention can save you after somebody goes over your entire codebase converting things without care for the semantics. If you are lucky, it's one of the lazy people that do that, and you will "only" have to revise tens of thousands of lines to fix it. If you are unlucky, the same person will helpfully adjust the names for you too.
Yes, any programmer who doesn't care will do damage, but when I see durationInMilliseconds, I think more about what the int means than when I see merely "duration". I don't know how to help the people who read that and ignore it.
The story of the 125 mph knuckleball might help.