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. Other Discussions
  3. Clever Code
  4. Comment Switching

Comment Switching

Scheduled Pinned Locked Moved Clever Code
debuggingdiscussion
20 Posts 10 Posters 97 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.
  • J Jorgen Sigvardsson

    How about

    public static string MyString =
    #if USE_MY_SPECIAL_DEBUG_VALUE
    @"DEBUG VALUE"
    #else
    ""
    #endif
    ;

    Surely, this must be a lot more maintainable than a very cryptic looking comment that's going to make your successors wonder WTF?

    -- Kein Mitleid Für Die Mehrheit

    R Offline
    R Offline
    Reiss
    wrote on last edited by
    #3

    Look at MSDN for the full list of C# Preprocessor Directives[^]

    J 1 Reply Last reply
    0
    • R Reiss

      Look at MSDN for the full list of C# Preprocessor Directives[^]

      J Offline
      J Offline
      Jorgen Sigvardsson
      wrote on last edited by
      #4

      Yes..?

      -- Kein Mitleid Für Die Mehrheit

      R 1 Reply Last reply
      0
      • J Jorgen Sigvardsson

        How about

        public static string MyString =
        #if USE_MY_SPECIAL_DEBUG_VALUE
        @"DEBUG VALUE"
        #else
        ""
        #endif
        ;

        Surely, this must be a lot more maintainable than a very cryptic looking comment that's going to make your successors wonder WTF?

        -- Kein Mitleid Für Die Mehrheit

        M Offline
        M Offline
        musefan
        wrote on last edited by
        #5

        Firstly, class files are not limited to a single line of comment you know. I have extra comments explaining the need to use the debug value in some instances so successors can work it out fairly easy. Secondly, there is nothing clever or interesting about your code, it is a pretty standard if/else. And yes, I know you can say the same about mine, but I think it is a bit more out of the box thinking which is why I posted it. Of course, this forum is really only for people to mock other people anyway

        My opinions are right, and yours are wrong! (or at least that is my opinion)

        1 Reply Last reply
        0
        • J Jorgen Sigvardsson

          Yes..?

          -- Kein Mitleid Für Die Mehrheit

          R Offline
          R Offline
          Reiss
          wrote on last edited by
          #6

          You have pointed the user at the #if preprocessor (getting my 5), so I thought it might be useful to show the full listing - especially the #define and #undefine preprocessors as theses are commonly used with the #if

          J 1 Reply Last reply
          0
          • M musefan

            I have a static string which I am constantly switch to a known value for debugging. But now I have come up with something that saves me 3 key strokes!!! consider...

            public static string MyString = "";//@"DEBUG VALUE";

            ...I was constantly deleting

            "";//

            and re-adding for each toggle. Now I have changed to this...

            public static string MyString = "";//*/@"DEBUG VALUE";

            ...now I just need to add/remove

            /*

            each time to toggle the value...

            public static string MyString = /*"";//*/@"DEBUG VALUE";

            result! :laugh: ...and I don't want to hear about your #DEBUG comments

            My opinions are right, and yours are wrong! (or at least that is my opinion)

            R Offline
            R Offline
            RobCroll
            wrote on last edited by
            #7

            It would be even cleverer if you used string.Empty instead of "". :)

            "You get that on the big jobs."

            M G 2 Replies Last reply
            0
            • R RobCroll

              It would be even cleverer if you used string.Empty instead of "". :)

              "You get that on the big jobs."

              M Offline
              M Offline
              musefan
              wrote on last edited by
              #8

              way too much typing

              My opinions are right, and yours are wrong! (or at least that is my opinion)

              B F P 3 Replies Last reply
              0
              • M musefan

                I have a static string which I am constantly switch to a known value for debugging. But now I have come up with something that saves me 3 key strokes!!! consider...

                public static string MyString = "";//@"DEBUG VALUE";

                ...I was constantly deleting

                "";//

                and re-adding for each toggle. Now I have changed to this...

                public static string MyString = "";//*/@"DEBUG VALUE";

                ...now I just need to add/remove

                /*

                each time to toggle the value...

                public static string MyString = /*"";//*/@"DEBUG VALUE";

                result! :laugh: ...and I don't want to hear about your #DEBUG comments

                My opinions are right, and yours are wrong! (or at least that is my opinion)

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

                Nah, you debug it with Windbg and set the variable in the module directly, while its running.

                ============================== Nothing to say.

                1 Reply Last reply
                0
                • R Reiss

                  You have pointed the user at the #if preprocessor (getting my 5), so I thought it might be useful to show the full listing - especially the #define and #undefine preprocessors as theses are commonly used with the #if

                  J Offline
                  J Offline
                  Jorgen Sigvardsson
                  wrote on last edited by
                  #10

                  Oh, ok!

                  -- Kein Mitleid Für Die Mehrheit

                  1 Reply Last reply
                  0
                  • M musefan

                    way too much typing

                    My opinions are right, and yours are wrong! (or at least that is my opinion)

                    B Offline
                    B Offline
                    Brady Kelly
                    wrote on last edited by
                    #11

                    Are you using notepad to write code? OK, two key-presses vs. four is a win, but certainly not a lot of typing.

                    1 Reply Last reply
                    0
                    • M musefan

                      way too much typing

                      My opinions are right, and yours are wrong! (or at least that is my opinion)

                      F Offline
                      F Offline
                      fjdiewornncalwe
                      wrote on last edited by
                      #12

                      The proper way is the right way. With intellisense and all the other editor enhancements that make life easier for developers, the "too much typing" excuse doesn't hold water. If you have issues typing, then you need to brush up on that because writing code incorrectly at the outset is just going to make a sustainment developer's job much more difficult.

                      I wasn't, now I am, then I won't be anymore.

                      1 Reply Last reply
                      0
                      • R RobCroll

                        It would be even cleverer if you used string.Empty instead of "". :)

                        "You get that on the big jobs."

                        G Offline
                        G Offline
                        gumi_r msn com
                        wrote on last edited by
                        #13

                        Actually that wouldn't compile I think.

                        string.Empty

                        is readonly so you can't initialize a static variable with it as it could theoretically change during runtime.

                        R 1 Reply Last reply
                        0
                        • G gumi_r msn com

                          Actually that wouldn't compile I think.

                          string.Empty

                          is readonly so you can't initialize a static variable with it as it could theoretically change during runtime.

                          R Offline
                          R Offline
                          RobCroll
                          wrote on last edited by
                          #14

                          You had me worried there for a second. I've done find replace on "" on large projects (millions of lines) and never had any adverse affects, let alone a compile error. public static string MyString = string.Empty; compiles for me.

                          "You get that on the big jobs."

                          G 1 Reply Last reply
                          0
                          • R RobCroll

                            You had me worried there for a second. I've done find replace on "" on large projects (millions of lines) and never had any adverse affects, let alone a compile error. public static string MyString = string.Empty; compiles for me.

                            "You get that on the big jobs."

                            G Offline
                            G Offline
                            gumi_r msn com
                            wrote on last edited by
                            #15

                            Lol sorry, I actually misread and thought it was

                            public const string MyString = string.Empty

                            Sorry about that.

                            R 1 Reply Last reply
                            0
                            • G gumi_r msn com

                              Lol sorry, I actually misread and thought it was

                              public const string MyString = string.Empty

                              Sorry about that.

                              R Offline
                              R Offline
                              RobCroll
                              wrote on last edited by
                              #16

                              Obscure but still worth noting. I guess at the end of the day who would set a const to equal ""?

                              "You get that on the big jobs."

                              L F 2 Replies Last reply
                              0
                              • R RobCroll

                                Obscure but still worth noting. I guess at the end of the day who would set a const to equal ""?

                                "You get that on the big jobs."

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

                                Actually its a constant equal to string.Empty... which ahh is already what you should be using. Kinda like when you see

                                const bool TRUE = true;

                                Note: I have never actually seen this except in code horrors responding jokes.

                                Computers have been intelligent for a long time now. It just so happens that the program writers are about as effective as a room full of monkeys trying to crank out a copy of Hamlet.

                                1 Reply Last reply
                                0
                                • M musefan

                                  way too much typing

                                  My opinions are right, and yours are wrong! (or at least that is my opinion)

                                  P Offline
                                  P Offline
                                  puromtec1
                                  wrote on last edited by
                                  #18

                                  String.Empty runs faster.

                                  1 Reply Last reply
                                  0
                                  • R RobCroll

                                    Obscure but still worth noting. I guess at the end of the day who would set a const to equal ""?

                                    "You get that on the big jobs."

                                    F Offline
                                    F Offline
                                    fjdiewornncalwe
                                    wrote on last edited by
                                    #19

                                    RobCroll wrote:

                                    I guess at the end of the day who would set a const to equal ""?

                                    Have you been in the Q&A recently? :)

                                    I wasn't, now I am, then I won't be anymore.

                                    1 Reply Last reply
                                    0
                                    • J Jorgen Sigvardsson

                                      How about

                                      public static string MyString =
                                      #if USE_MY_SPECIAL_DEBUG_VALUE
                                      @"DEBUG VALUE"
                                      #else
                                      ""
                                      #endif
                                      ;

                                      Surely, this must be a lot more maintainable than a very cryptic looking comment that's going to make your successors wonder WTF?

                                      -- Kein Mitleid Für Die Mehrheit

                                      K Offline
                                      K Offline
                                      Ken Booth
                                      wrote on last edited by
                                      #20

                                      I agree - not only more readable, but the line

                                      #define USE_MY_SPECIAL_DEBUG_VALUE

                                      can be commented or uncommented with one mouse click - no keystrokes required!

                                      -- Regards, Ken I 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