Suggestion for a mixed camelCase & PascalCase notation
Nick Sabalausky
SeeWebsiteToContactMe at semitwist.com
Sat Jun 1 13:18:48 PDT 2013
On Sat, 01 Jun 2013 21:58:27 +0200
"D-Sturbed" <someone at somewhere.fr> wrote:
> Hello, I know that everybody will hate that, as most of the
> people coming to D are also coming from the C world, but, anyway
> I suggest this data naming convention:
>
> class cMyClass
> struct sMyStruct
> template tMyTmp
> parameter aParam ( + exception: someParams to denote arrays)
> local lVolatileStuff (local: ESP/RSP stuffs)
> interface iContextualMethods
> pointer pMyClass
> field fMyField
> enum eMyEnum (as type only: private eMyEnum fMyEnum)
> delegate dMyPrototype
>
> stream Str (aStr,lStr,...)
> void* Ptr (aPtr,lPtr,...)
> data Dt (aDt,lDt,...)
>
> camelcase with technical identifier as first letter.
> a-f-l being mandatory to avoid name conflicts in the
> implementation,
> as in a method you'll usually have parameters, fields and local
> data.
>
> advantages:
> - code completion: you can target what you want, usefull when you
> are not an expert of an API/SDK: you basically know its an enum,
> you don't remember the name, you type "e", you scroll a bit, you
> have it.
> - D compliance: this respects the camelcase convention with a
> little touch of the pascal naming conv.
> - it avoid confusion in the implementation: you can have a
> aStuff(param) temporarly copied to a lStuff(local data) in order
> to set a fStuff(protected/private field)...
>
> disadvantages/problems:
> - template classes: leads to some declarations such as
> cTemplatizedClass!int, while we would expect tSomething before a
> "!". "ct" (standing for ClassTemplate) can be used in this case.
> - the small case "l" is know for leading to some confusion with
> "1" with some particular fonts.
>
> Give me your mind `bout this
> D-Sturbed.
That's basically a variation of hungarian notation, which has been
mostly disappearing for good reasons: While it's hugely useful under
weak-typing, weak-typing has (outside of asm) been going away (also
for good reasons). Under strong typing (and under modern editors - let
alone fancy IDEs) hungarian notation (and its variations) provides
little to no benefit and creates programmer overhead.
More information about the Digitalmars-d
mailing list