I know that constants start with the k prefix, but does anyone have their own constant prefix, so they can easily get completion on their constants, instead of Apple’s?
I use a three letter prefix for my classes because of my company name, let’s pretend it’s OMG. I tried prefixing my constants with omgkConstantName but that isn’t very satisfying. I was also toying with either kk or ok (the o is from the OMG.) Or maybe I should do kOMGConstantName, that seems more Cocoa-ish?
It seems really useful to quickly get to your own constants, the same way you might want to get to your own classes. Does anyone do this? Is it terrible Cocoa style?
Also, is there a good naming convention for static variables you would only use in one class, like keys for a JSON dictionary? Should they have the k? Should they start uppercase, or do they follow normal case conventions?
// Static Variables
static NSString *searchTextKey = @"searchText";
static NSString *searchResultsKey = @"searchResults";
(more)
I try to consistently use
kJAFoo(orkXXFoowhere XX is a project prefix) for my public constants – especially actualconsts which are exported symbols – but generally usekFoofor enums orstatic consts inside an implementation file. Similarly, I usesFoofor static variables andgJAFooin the rare cases where I use exported globals.None of these cases are as important as namespacing classes (and methods in categories on imported classes), though, since most types of conflicts will emerge at compile or link time rather than runtime.