| ▲ | thayne 2 hours ago | |
No amount of good names will tell you why something was done a certain way, or just as importantly why it wasn't done a certain way. A name and signature is often not sufficient to describe what a function does, including any assumptions it makes about the inputs or guarantees it makes about the outputs. That isn't to say that it isn't necessary to have good names, but that isn't enough. You need good comments too. And if you say that all of that information should be in your names, you end up with very unwieldy names, that will bitrot even worse than comments, because instead of updating a single comment, you now have to update every usage of the variable or function. | ||