Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. One-garian Notation

One-garian Notation

Scheduled Pinned Locked Moved The Lounge
csharpcomquestion
61 Posts 24 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R RenniePet

    Wow, lots of comments! :) But I'd like to ask if anyone has any opinion regarding my suggesions, which I'm actually quite serious about, despite the humorous tone of my posting? - The names of constants must start with the letter C. - The names of delegates must start with the letter D. - The names of enumerators must start with the letter E. Justifications: - Previous standard for constants was THE_UPPERCASE_SCREAMING style, because constants are different. So I want to still emphasise that constants are different, and adding the C does that. - I often have a delegate declaration that is for a specific method, so it makes sense to use the name of the method with the D added to the front. - The use of enumerators often involves declaring a usage of the enumerator that naturally would have the same name as the enumerator itself, which isn't allowed. So by saying the enumerator name starts with E then the usage can have the same name without the E. Just like with INames for interfaces and TNames for types, these three things are sufficiently different from run-of-the-mill items that I like the idea of giving them special names.

    OriginalGriffO Offline
    OriginalGriffO Offline
    OriginalGriff
    wrote on last edited by
    #15

    RenniePet wrote:

    Previous standard for constants was THE_UPPERCASE_SCREAMING style, because constants are different

    Why? How is a constant different from a property with no setter? From an enum value? (And yes I do know a property could do other things...)

    RenniePet wrote:

    it makes sense to use the name of the method with the D added to the front.

    Again, why? If you have a delegate with only one method, why are you using a delegate? If you can have lots of methods assigned to a delegate, which one would you pick to use for the delegate name?

    RenniePet wrote:

    The use of enumerators often involves declaring a usage of the enumerator that naturally would have the same name as the enumerator itself, which isn't allowed.

    It is in C#!

            DownloaderReporting DownloaderReporting = 0;
            DownloaderReporting = DownloaderReporting.Normal;
    

    I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
    "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

    L N R 3 Replies Last reply
    0
    • N Nagy Vilmos

      OriginalGriff wrote:

      So in Gealic: Pogue mahone!

      Not even close. It's an inoquous phrase - literaly 'your mother' - but causes DEFCON2 offence. A bit like saying to a Cpian that they sound like CSS.


      Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

      OriginalGriffO Offline
      OriginalGriffO Offline
      OriginalGriff
      wrote on last edited by
      #16

      When I saw the Google translation to "The Mother" I guessed it might just be a smidgen offensive... :laugh:

      I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
      "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

      1 Reply Last reply
      0
      • OriginalGriffO OriginalGriff

        RenniePet wrote:

        Previous standard for constants was THE_UPPERCASE_SCREAMING style, because constants are different

        Why? How is a constant different from a property with no setter? From an enum value? (And yes I do know a property could do other things...)

        RenniePet wrote:

        it makes sense to use the name of the method with the D added to the front.

        Again, why? If you have a delegate with only one method, why are you using a delegate? If you can have lots of methods assigned to a delegate, which one would you pick to use for the delegate name?

        RenniePet wrote:

        The use of enumerators often involves declaring a usage of the enumerator that naturally would have the same name as the enumerator itself, which isn't allowed.

        It is in C#!

                DownloaderReporting DownloaderReporting = 0;
                DownloaderReporting = DownloaderReporting.Normal;
        

        I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #17

        OriginalGriff wrote:

        I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in.

        Does that work?

        Join the cool kids - Come fold with us[^]

        OriginalGriffO 1 Reply Last reply
        0
        • L Lost User

          OriginalGriff wrote:

          I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in.

          Does that work?

          Join the cool kids - Come fold with us[^]

          OriginalGriffO Offline
          OriginalGriffO Offline
          OriginalGriff
          wrote on last edited by
          #18

          It depends on how broadly written the court order is... :((

          I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

          "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
          "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

          N 1 Reply Last reply
          0
          • OriginalGriffO OriginalGriff

            RenniePet wrote:

            Previous standard for constants was THE_UPPERCASE_SCREAMING style, because constants are different

            Why? How is a constant different from a property with no setter? From an enum value? (And yes I do know a property could do other things...)

            RenniePet wrote:

            it makes sense to use the name of the method with the D added to the front.

            Again, why? If you have a delegate with only one method, why are you using a delegate? If you can have lots of methods assigned to a delegate, which one would you pick to use for the delegate name?

            RenniePet wrote:

            The use of enumerators often involves declaring a usage of the enumerator that naturally would have the same name as the enumerator itself, which isn't allowed.

            It is in C#!

                    DownloaderReporting DownloaderReporting = 0;
                    DownloaderReporting = DownloaderReporting.Normal;
            

            I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

            N Offline
            N Offline
            Nagy Vilmos
            wrote on last edited by
            #19

            That's just asking for a wet-kipper slap! :) I was going to suggest that itwould be better to camel the variable so:

            DownloaderReporting downloaderReporting = 0;
            downloaderReporting = DownloaderReporting.Normal;

            But then the property's still going to be:

            DownloaderReporting DownloaderReporting { get { return this.downloaderReporting; } }

            Either way, things'll go kaka quicker then you can even punch an MS employee's face.


            Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

            OriginalGriffO 1 Reply Last reply
            0
            • OriginalGriffO OriginalGriff

              RenniePet wrote:

              Previous standard for constants was THE_UPPERCASE_SCREAMING style, because constants are different

              Why? How is a constant different from a property with no setter? From an enum value? (And yes I do know a property could do other things...)

              RenniePet wrote:

              it makes sense to use the name of the method with the D added to the front.

              Again, why? If you have a delegate with only one method, why are you using a delegate? If you can have lots of methods assigned to a delegate, which one would you pick to use for the delegate name?

              RenniePet wrote:

              The use of enumerators often involves declaring a usage of the enumerator that naturally would have the same name as the enumerator itself, which isn't allowed.

              It is in C#!

                      DownloaderReporting DownloaderReporting = 0;
                      DownloaderReporting = DownloaderReporting.Normal;
              

              I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

              R Offline
              R Offline
              RenniePet
              wrote on last edited by
              #20

              Maybe I'm not explaining myself very well ... Here are some examples:

                const string CServiceName = "Merlinia Process Manager";
              
                private delegate void DProcessProcessHasStopped(IntPtr processHandle);
                private DProcessProcessHasStopped \_processProcessHasStopped;
              
                
                private void InitializeCrossThreadInvocation()
                {
                   \_processProcessHasStopped = ProcessProcessHasStopped;
                }
              
                
                private void CT\_ProcessProcessHasStopped(IntPtr processHandle)
                {
                   base.InvokeDelegate(\_processProcessHasStopped, processHandle);
                }
              

              This is part of a pattern in a class that supports cross-thread invocation of methods.

              public enum EProcessStatus
              {
              ProcStopped,
              ProcStarting, // Has been started, but has not reported "up and running"
              ProcRunning,
              ProcStopping // Has been signaled to stop, but not stopped yet
              }

                public EProcessStatus ProcessStatus;
              
              H 1 Reply Last reply
              0
              • OriginalGriffO OriginalGriff

                It depends on how broadly written the court order is... :((

                I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

                N Offline
                N Offline
                Nagy Vilmos
                wrote on last edited by
                #21

                Find a target who travels. The joy of legal juristiction means that somewhere wont enforce the restraining order.


                Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                OriginalGriffO 1 Reply Last reply
                0
                • N Nagy Vilmos

                  Find a target who travels. The joy of legal juristiction means that somewhere wont enforce the restraining order.


                  Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                  OriginalGriffO Offline
                  OriginalGriffO Offline
                  OriginalGriff
                  wrote on last edited by
                  #22

                  I bow to the expert in the field! Respect!

                  I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

                  "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                  "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                  N 1 Reply Last reply
                  0
                  • N Nagy Vilmos

                    That's just asking for a wet-kipper slap! :) I was going to suggest that itwould be better to camel the variable so:

                    DownloaderReporting downloaderReporting = 0;
                    downloaderReporting = DownloaderReporting.Normal;

                    But then the property's still going to be:

                    DownloaderReporting DownloaderReporting { get { return this.downloaderReporting; } }

                    Either way, things'll go kaka quicker then you can even punch an MS employee's face.


                    Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                    OriginalGriffO Offline
                    OriginalGriffO Offline
                    OriginalGriff
                    wrote on last edited by
                    #23

                    Yes, normally I would camelCase it, but it was just an example to show it can be done in C#. Normally I would call it reportingReason or similar as I would consider it too confusing to use the enum name as the name for an instance of that enum - it would be like saying

                    string string = "string";

                    and expecting no-one to laugh at you...

                    I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

                    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                    "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                    H N 2 Replies Last reply
                    0
                    • N Nagy Vilmos

                      OriginalGriff wrote:

                      I never said I was consistent!

                      But you always say that!


                      Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                      S Offline
                      S Offline
                      Software_Developer
                      wrote on last edited by
                      #24

                      Question: what do you call a char *? char * pntrCharArray = "Char Pointer"; CString cstrString;

                      N M 2 Replies Last reply
                      0
                      • OriginalGriffO OriginalGriff

                        Yes, normally I would camelCase it, but it was just an example to show it can be done in C#. Normally I would call it reportingReason or similar as I would consider it too confusing to use the enum name as the name for an instance of that enum - it would be like saying

                        string string = "string";

                        and expecting no-one to laugh at you...

                        I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

                        H Offline
                        H Offline
                        Henry Minute
                        wrote on last edited by
                        #25

                        Ha ha!

                        Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                        OriginalGriffO 1 Reply Last reply
                        0
                        • S Software_Developer

                          Question: what do you call a char *? char * pntrCharArray = "Char Pointer"; CString cstrString;

                          N Offline
                          N Offline
                          Nagy Vilmos
                          wrote on last edited by
                          #26

                          TopCoder23 wrote:

                          what do you call a char *?

                          Earl Grey.


                          Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                          G 1 Reply Last reply
                          0
                          • OriginalGriffO OriginalGriff

                            I bow to the expert in the field! Respect!

                            I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

                            N Offline
                            N Offline
                            Nagy Vilmos
                            wrote on last edited by
                            #27

                            Is it too late to add "... or so I have heard."?


                            Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                            OriginalGriffO 1 Reply Last reply
                            0
                            • OriginalGriffO OriginalGriff

                              Yes, normally I would camelCase it, but it was just an example to show it can be done in C#. Normally I would call it reportingReason or similar as I would consider it too confusing to use the enum name as the name for an instance of that enum - it would be like saying

                              string string = "string";

                              and expecting no-one to laugh at you...

                              I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

                              N Offline
                              N Offline
                              Nagy Vilmos
                              wrote on last edited by
                              #28

                              Spam spam = Spam.WonderfulSpam;


                              Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                              1 Reply Last reply
                              0
                              • N Nagy Vilmos

                                Is it too late to add "... or so I have heard."?


                                Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                                OriginalGriffO Offline
                                OriginalGriffO Offline
                                OriginalGriff
                                wrote on last edited by
                                #29

                                Oh yes! :laugh:

                                I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

                                "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                                "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                                1 Reply Last reply
                                0
                                • R RenniePet

                                  Maybe I'm not explaining myself very well ... Here are some examples:

                                    const string CServiceName = "Merlinia Process Manager";
                                  
                                    private delegate void DProcessProcessHasStopped(IntPtr processHandle);
                                    private DProcessProcessHasStopped \_processProcessHasStopped;
                                  
                                    
                                    private void InitializeCrossThreadInvocation()
                                    {
                                       \_processProcessHasStopped = ProcessProcessHasStopped;
                                    }
                                  
                                    
                                    private void CT\_ProcessProcessHasStopped(IntPtr processHandle)
                                    {
                                       base.InvokeDelegate(\_processProcessHasStopped, processHandle);
                                    }
                                  

                                  This is part of a pattern in a class that supports cross-thread invocation of methods.

                                  public enum EProcessStatus
                                  {
                                  ProcStopped,
                                  ProcStarting, // Has been started, but has not reported "up and running"
                                  ProcRunning,
                                  ProcStopping // Has been signaled to stop, but not stopped yet
                                  }

                                    public EProcessStatus ProcessStatus;
                                  
                                  H Offline
                                  H Offline
                                  Henry Minute
                                  wrote on last edited by
                                  #30

                                  But, but, but .........

                                  public enum EProcessStatus
                                  {
                                  ProcStopped,
                                  ProcStarting, // Has been started, but has not reported "up and running"
                                  ProcRunning,
                                  ProcStopping // Has been signaled to stop, but not stopped yet
                                  }

                                    public EProcessStatus ProcessStatus { get; set; }
                                  

                                  surely?

                                  Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                                  R 1 Reply Last reply
                                  0
                                  • N Nagy Vilmos

                                    TopCoder23 wrote:

                                    what do you call a char *?

                                    Earl Grey.


                                    Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                                    G Offline
                                    G Offline
                                    Garth J Lancaster
                                    wrote on last edited by
                                    #31

                                    har har !!!! I like it ...

                                    N 1 Reply Last reply
                                    0
                                    • H Henry Minute

                                      Ha ha!

                                      Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                                      OriginalGriffO Offline
                                      OriginalGriffO Offline
                                      OriginalGriff
                                      wrote on last edited by
                                      #32

                                      Thank you Nelson!

                                      I have learnt that you can not make someone love you, all you can do is stalk them and hope they panic and give in. Apathy Error: Don't bother striking any key.

                                      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                                      "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                                      1 Reply Last reply
                                      0
                                      • G Garth J Lancaster

                                        har har !!!! I like it ...

                                        N Offline
                                        N Offline
                                        Nagy Vilmos
                                        wrote on last edited by
                                        #33

                                        Milk? Sugar?


                                        Panic, Chaos, Destruction. My work here is done. or "Drink. Get drunk. Fall over." - P O'H

                                        G 1 Reply Last reply
                                        0
                                        • R RenniePet

                                          Beware all those who read the following, they are the irreverent ramblings of a heretic ... Religious beliefs are so tricky. For the true believer no alternatives can be possible. Their minds are closed. I was once a devout believer of Hungarian notation. Charles Simonyi was my guiding light. My strings were all szDecorated, and I was at peace with the world. But, as with all religions, there were those who would not accept the one true way. Hedonistic forces held sway at Microsoft, and .Net naming conventions repudiated Hungarian notation! I was thrown into confusion, and my world disintegrated around me! Had I been led astray? Were my beliefs really so faulty? All those years, for nothing? And then I noticed something incredibly suspect about the preachings of the anti-Hungarian notationalists. Despite their adamant claim that Hungarian notation was evil, they in reality espoused a corrupted form of Hungarian notation themselves! Yes, it is true, the anti-Hungarian notationalists are inconsistent! They call for the abolition of Hungarian notation, while preaching the following doctrine: - The names of interfaces must start with the letter I. - The names of types must start with the letter T. Why was this? How could they ask me to give up one faith for a new one that contradicted itself? And then one day my turmoil was resolved! In a moment of revelation the great nerd in the sky spoke to me: "Do not follow the preaching of others! Create your own religion, be true to yourself, and say to hell with the forces of conformity. It will be a rocky road, and you will be held in contempt, but you will discover an inner peace that not even Hungarian notation gave you." I call my new religion "one-garian notation". It can be considered to be a further development (or corruption, if you will) of the .Net naming conventions, where not just the names of interfaces and types have specific one-character prefixes, but the following as well: - The names of constants must start with the letter C. - The names of delegates must start with the letter D. - The names of enumerators must start with the letter E. That's it. One-garian notation (named because it is based on one-character prefixes) is the same as .Net naming conventions, plus the use of three additional one-character rules, for a total of

                                          G Offline
                                          G Offline
                                          Gary R Wheeler
                                          wrote on last edited by
                                          #34

                                          I've always despised Hungarian notation, because it breaks a basic tenet of object-oriented programming: hide the implementation. Encoding the variable type in the name binds you to a specific implementation. I've never seen a Hungarian-ophile who was sufficiently rigorous about refactoring when they changed the type of a variable to always change the name at the same time. You end up with a variable named iFixedSize and another ulFixedSize, they refer to the same thing, and are declared to be unsigned long's.

                                          Software Zen: delete this;
                                          Fold With Us![^]

                                          modified on Sunday, May 9, 2010 8:45 AM

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups