This decision is insane, but once it's done I'll feel much better when working on SFML. So yes, in this case I'm ready to do something that I've always been against.
Guess I'd try harder with casuistry! :wink:
By "global trend" I really mean global trend: ie. what most people use. You may not like it, but it is what people prefer on a global scale.
And that was not the reason why I changed, I never do something just because other people do it . But now that it's done, it's a good argument
You should distinguish "what has been being used" from "what is likely going to be used" - the former is the
current situation, and the latter is the
trend. History teaches us that there has never been and will unlikely ever be a unification of choices, and logically the
trend is to diverge from what we have had currently. If the
current situation is that most people have been using the javaCase, then the real
trend is for them to move onto something different i.e.
not javaCase. Thus you didn't really make it to catch up with the trend. :wink:
I just meant that code that uses SFML now looks less verbose and nicer. I don't know what you mean with your "preprocessor macros tricks".
The only way besides using vendor-language-extensions to "allow" a different
C++ syntax is to abuse the C/C++ preprocessor, and I was referring to it. Now I see by "syntax" you meant "look", so never mind.
Yes, that's why I try to use this notation in a "perfect" way. I never mix public variables and public functions in the same class (there's only one exception in the SFML API). However I admit that omitting is/get can lead to ambiguity because in english, a verb and its corresponding noun can be identical. But that's not a big issue to me, once you know what the function does, or if you read the doc / tutorials before coding, everything should be ok.
I forgot one thing: this naming convention (except the omission of the "is" prefix) is taken from the Qt library, which is a huge library used by a huge amount of developers, and I think that it works pretty well for them so far. I'm not inventing anything.
I agree with gsaurus (which would imply that I disagree with you) on this matter. And I never liked javaCase (specifically, camelCase for function naming), no matter whther it is used widely or not, as this convention
UN-emphasizes the first word (usually the verb) that is in most cases the most important sematic element in the whole function name.
As a side note: I always believe the truth why javaCase was invented is because when there were (and perhaps are still) only slow Java(TM) IDEs to use, they were limited to do cAsEsEnSiVe checks (always faster than cAsE-iNsEnSiVe checks) for not-too-slow-auto-code-completion, so by making the first several letters of class member names lower-case, the code-completion could struggle to prove their usefulness to lazy coders who didn't bother to press CapsLock or Shift key. Nowadays IDEs should be capable of making cAsE-iNsEnSiVe checks anyway, so I don't think there is such a "compelling" reason for lazy coders anymore.
Don't tempt me, it was really hard for me to take this decision
I really believe that you are capable of taking
harder decisions. :wink:
Thanks for your detailed feedback.
You are welcome.