

Ask HN: How to learn to give clear, descriptive names to class, methods etc - jackbean

Its one thing I wish I did better when writing code. The names are either obscure or turn into sentences before I can fully express what they try to do.<p>There probably isn't a surefire way to get better at this and something that must be worked on and cultivated. But any advise pointing the way is appreciated.
======
cammil
Much of the problem of naming things is that the name you give them now, is
unlikely to be the most appropriate name in the future. For example, your code
may change, you may make other similar classes that would be more appropriate
with that name, etc.

The strategy I use is to iterate naming, just as I would any other aspect of
code. You are unlikely to want to do this as often, but if you find your
current names are no longer working for you, it might be time for a change.

~~~
CyberFonic
For me names evolve over time, when I come up with a better name, I just do a
global replace (sed is your friend). Other than that, I follow the nouns for
things (objects) and verbs for actions (methods). If the name starts looking
like a sentence, then I stop and rethink the design. Like to keep things as
simple as possible.

------
hcho
"There are only two hard things in Computer Science: cache invalidation and
naming things." Tim Bray

My personal approach is to copy shamelessly. Whenever I come accross a very
readable piece of code, I add it to my bookmarks. When I am stuck with naming
something I go through my bookmarks and somethin inspiring always comes up.

------
drothlis
Read "Code Complete".

