How to name a variable: numItems or itemCount?
What is the right way to name a variable
int numItems;
vs.
int itemCount;
or constant:
public static final开发者_如何学编程 int MAX_NUM_ITEMS = 64;
vs.
public static final int MAX_ITEM_COUNT = 64;
In "Code Complete," Steve McConnell notes that "Number" is ambiguous. It could be a count, or an index, or some other number.
"But, because using Number so often creates confusion, it's probably best to sidestep the whole issue by using Count to refer to a total number of sales and Index to refer to a specific sale."
item_count or itemCount (there's a religious war brewing there, though)
For Java I would use itemCount
and MAX_ITEM_COUNT
. For Ruby, item_count
and MAX_ITEM_COUNT
. I tend not to use names that can be interpreted wrongly (numItems
may be a shortcut for numerate_items
or number_of_items
), hence my choice. Whatever you decide, use it constantly.
It's a matter of personal preference, just make sure you are consistent throughout your code. If you're working with others check what's been done in existing code.
For the constant I would find MAX_ITEMS
more logical than MAX_NUM_ITEMS
or similar, it just sounds better to me.
It actually depends on you. The two types of naming conventions are camelCase and snake_case
As you can identify from the naming, camel case has one small letter in the initial part of the variable followed by the Capital words
Eg itemCount.
snake case is a continuous word with an underscore ' _ ' in between the words Eg item_count
As far as the naming is concerned, numItems is quite confusing for others to read. But itemCount is a good name for a counter variable
I've been wondering about this question too, and thought it interesting in all these answers that no one said just items
, but I can see that would be a bad name perhaps if it's in a codebase that has objects or arrays, but maybe okay as like a field name in SQL.
But one downside I just realized to going with something like numItems
is that if you have multiple similar fields and use anything with intellisense or autocomplete, there's a risk of accidentally using the wrong field, whereas item_count
begins with the thing you're counting.
精彩评论