There is more proper-casing than upper-casing. IMHO, proper-casing is better as it's easier to read "SqlException" than it is to read "SQLException" (the "E" looks like part of the acronym), and things like "CLITask" can be avoided.

I discussed this a bit with Benjamin and Guilherme, and they were unsure and said that the whole team needed to reach consensus.

I'm leaving the priority as "Major" because this should probably be fixed sooner rather than later to prevent compatibility breaks.

I find this to be of rather minor importance. You're talking of compatibility breaks, but thats only the case if we intend to start being very nitpicky about the naming in the future. We are currently not, and we wont be, so not much risk of later breakage.

We have a rule of thumb already: Acronyms up to 4 characters all uppercase, otherwise normal camelcase.

Now, it is often a matter of taste what is an acronym and what not and also not all acronyms have a clear casing, prime example mysql.

Being too nit-picky here is just a pain in the ass and we won't reach a common consensus anyway.

Roman S. Borschel
added a comment - 25/Jan/10 1:57 PM I find this to be of rather minor importance. You're talking of compatibility breaks, but thats only the case if we intend to start being very nitpicky about the naming in the future. We are currently not, and we wont be, so not much risk of later breakage.
We have a rule of thumb already: Acronyms up to 4 characters all uppercase, otherwise normal camelcase.
Now, it is often a matter of taste what is an acronym and what not and also not all acronyms have a clear casing, prime example mysql.
Being too nit-picky here is just a pain in the ass and we won't reach a common consensus anyway.

Oh and we better dont start arguing about whats better to read because there is no chance of agreement. If you ask me I find SQLException better than SqlException. So here we go. Lets better not run down this path.

Roman S. Borschel
added a comment - 25/Jan/10 1:58 PM Oh and we better dont start arguing about whats better to read because there is no chance of agreement. If you ask me I find SQLException better than SqlException. So here we go. Lets better not run down this path.

Glen Ainscow
added a comment - 25/Jan/10 2:15 PM No need to get upset, I'm only trying to help.
I just thought that consistency is usually a good idea, either way.
I have to disagree in that an acronym is an acronym, it's not a matter of taste, the letters either stand for something, or they don't.
As for "mysql", only the SQL part is an acronym. So, MySQL or MySql.
Close if you disagree.

I'm not upset. What made you think so? Maybe I should introduce a every now and then.

There's just no point in arguing about readability.

Like I said, we do have a naming standard even if its not adhered everywhere. The standard is also not something we've made up ourselves because we try to avoid that. When we introduced namespaces, we talked about adopting either the Java or .NET naming standards. We opted for the .NET standards. And there its recommended to write acronyms with up to 4 characters all uppercase.

I dont think there are too many violations of that in the code, probably Cli => CLI and some others but most of it looks ok to me.

UPDATE: Maybe we can gather a list here in this ticket of violations? Cli => CLI would be one. MySql => MySQL another. "Id" is rather an abbreviation of Identifier and not an acronym, to me at least.

Roman S. Borschel
added a comment - 25/Jan/10 2:28 PM - edited I'm not upset. What made you think so? Maybe I should introduce a every now and then.
There's just no point in arguing about readability.
Like I said, we do have a naming standard even if its not adhered everywhere. The standard is also not something we've made up ourselves because we try to avoid that. When we introduced namespaces, we talked about adopting either the Java or .NET naming standards. We opted for the .NET standards. And there its recommended to write acronyms with up to 4 characters all uppercase.
I dont think there are too many violations of that in the code, probably Cli => CLI and some others but most of it looks ok to me.
UPDATE: Maybe we can gather a list here in this ticket of violations? Cli => CLI would be one. MySql => MySQL another. "Id" is rather an abbreviation of Identifier and not an acronym, to me at least.

Guilherme Blanco
added a comment - 25/Jan/10 2:29 PM It's not a case of getting anyone upset...
But we should fix it and keep consistency of our codebase.
@romanb We should all talk and reach a common sense.
That's our last chance (last alpha) to get this consistency in.

Glen Ainscow
added a comment - 25/Jan/10 4:02 PM @Roman,
Just a feeling I got.
This issue was more about consistency (indicated in the title) than moving to proper-case naming.
I think it might be up to 3 characters in .NET, HtmlElement, System.Linq, etc. Anyway, not important.
I agree that Id. is an abbreviation.
There are some more violations. If you decide you want to change them, let me know and I'll compile a list.

@Glen: Yes, a list would be great. I find it hard to be 100% consistent sometimes though because my taste conflicts with the rule. For example, I would prefer "Id" over "ID", especially since it comes directly after ORM "Doctrine\ORM\ID\..." would be a bit too much. But I would not like "Orm" or "Dbal" either. But I think in most cases we can clearly fix the inconsistency. Like CLI or MySQL or MSSQL (or should it be MsSQL?).

Thanks for your help!

We should probably create updated coding standards for Doctrine 2 also, since they differ quite some from Doctrine 1 due to the introduction of namespaces and such. I'll create a ticket for that.

Roman S. Borschel
added a comment - 25/Jan/10 5:30 PM @Glen: Yes, a list would be great. I find it hard to be 100% consistent sometimes though because my taste conflicts with the rule. For example, I would prefer "Id" over "ID", especially since it comes directly after ORM "Doctrine\ORM\ID\..." would be a bit too much. But I would not like "Orm" or "Dbal" either. But I think in most cases we can clearly fix the inconsistency. Like CLI or MySQL or MSSQL (or should it be MsSQL?).
Thanks for your help!
We should probably create updated coding standards for Doctrine 2 also, since they differ quite some from Doctrine 1 due to the introduction of namespaces and such. I'll create a ticket for that.

Glen Ainscow
added a comment - 25/Jan/10 6:40 PM I'll do the list for you by tomorrow at the latest, just running out of time ATM.
Id is correct, as mentioned above, so that would be fine. MsSQL is correct (Ms = Microsoft = abbreviation).

there is much to be done yet, however most of it is also public API class names and might cause quite some BC breaks (i.e. DBAL Platforms and Schema Manager, Mapping Driver Names). I am not sure how to proceed here.

Benjamin Eberlei
added a comment - 31/Oct/10 2:36 AM there is much to be done yet, however most of it is also public API class names and might cause quite some BC breaks (i.e. DBAL Platforms and Schema Manager, Mapping Driver Names). I am not sure how to proceed here.