In Ruby and some other languages, type
is a reserved keyword. I often find myself a bit tripped up by this because I often want to assign “types” in one way or the other. type_of
or perhaps category
are others.
I want to expand my vocabulary. Thanks.
Top comments (26)
Makes you want to program in PL/I, doesn't it? In PL/I the "keywordiness" is determined by the position of the word. That leads to fun things like
Most of the time if I'm doing document/table design for a data structure, I'll end up using something like
itemType
, but after looking at this post and thinking on it a bit, some other seemingly good options would seem to be:purpose
label
and perhaps,
mold
.purpose
I like in that it conveys the meaning of the thing, eg. "this thing is meant to be an array", where as label is a bit shorter to type, but could be confused for another more useful property on a data item.mold
is nice because it is shorter to type, but a bit more ambiguous in terms of what it could be referencing./my2cents
Personally want to see
flavor
in our database, but that's just me 🙃kind has a very specific meaning too - while not a reserved keyword anywhere as far as I know, it could potentially be confusing when used to mean something else. I lean towards
group
or_grp
as a suffix.Haha, this reminds me of an educational app that I once written in which the teacher was meant to organize "classes". I was torn between Java-ish "clazz" spelling and less domain-ish "lesson" (I went for the "lesson").
Anyway, for issues like that Thesaurus is my best friend. I don't think there's a one-size-fits-all synonym for
type
, because different synonyms fit best in different contexts.Personally, I always look for a synonym rather than prefixing like
post_type
orwidget_type
, because I hate the way it reads in the code later e.g.widget.widget_type
, grr!I don't think there's any other word that can be used as an alternative to
type
which also gives the correct impression to the person reading it that you are exactly referring to a type of something...type
is the best term I know. I go even further and name integer fields with a reference to another table (forgeign keys) like*_type_id
.For example.
addresses.address_type_id
orcustomers.customer_privacy_type_id
.Not an answer, but where are you seeing
type
as being reserved in Ruby? It's discouraged in Rails as it's used by default for STI, but if you want to go against the grain you can even override that.Like others I tend to agree that more context is needed to come up with the right word. To me
type
just means "type of class." If we're talking about something else then other words are useful, but generically.. oof.. tough to say.typ
That one works great in Swedish.
TIL!
"kind" seems like a nice alternative but I must say that I end up either using a prefix like "orderType" or finding a way to not specify a type at all.
That might be an interesting second question: if you have to give something a type, what are differentiators? For instance a product might have a type: "paid" | "free" but you could also look at whether there is a price on it.
And in the other direction: when you add a type that implies a lot of difference, maybe you need separate entities.