Click here to Skip to main content
Click here to Skip to main content

Super-Easy Code Block Toggling

By , 22 Aug 2011
 
If you have two blocks of code that you are testing and need to switch back-and-forth between them, here's a commenting trick that works as a powerful code block toggling mechanism.
 
Say you have a variable called foo of type string and want to change between using initialized values and non-initialized values for quick testing or more likely, because your boss asked you to. Silly boss!
 
//*
string foo = string.Empty;
/*/
string foo = "initialized";
//*/
foo += "bar";
 
Now, to toggle the section that is 'live', simply remove the first slash from the first line comment, as follows:
 
/*
string foo = string.Empty;
/*/
string foo = "initialized";
//*/
foo += "bar";
 
Obviously, for a simple string there are easier ways to do this, but this is sure handy for more complex object setup.
 
There you go! With one keystroke you totally own on switching between two blocks of code.
 
While #ifdef works in some scenarios this technique also works in non-compiled languages such as JavaScript.
 
Cheers!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

TheyCallMeMrJames
Software Developer (Senior)
Canada Canada
Member
For almost 30 years I have been working with computers, learning a myriad of languages and participating in various computing environments.
 
Though I have been mentoring other developers for the last decade, I have recently found a strong interest in writing and am learning to translate the fun of in-person teaching to something I can get into article form.
 
I enjoy following technology trends, new gadgets and trying to guess where innovation will lead us next (I'm kinda holding out for a robot-served utopia, but willing to submit to our future robot leaders).
 
I am a guy who is passionate about my faith, my family and a cure for Juvenile Diabetes (my son lives with this disease).

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 5membernikhil _singh11 Jul '12 - 20:30 
Nice one.Basic but good one.
GeneralAlthough its a nice trick, but its some times confusing and ...memberzenwalker198526 Oct '11 - 3:43 
Although its a nice trick, but its some times confusing and even missed out if your shipping the code. I guess its lot better to use conditional directives!
GeneralReason for my vote of 5 very usefulmemberhs318012 Sep '11 - 5:19 
Reason for my vote of 5
very useful
GeneralNice (I have used a similar trick before)! Beware if there ...memberMrRossi29 Aug '11 - 21:52 
Nice (I have used a similar trick before)!
 
Beware if there are inline comments (e.g. in function parameters):
 
//*
int foo(char bar/*char parameter*/);
/*/
int foo(int bar/*int parameter*/);
//*/
 
does not compile (at least when using C++/CLI in VS 2005)
 
Further, I noticed in the past, that doxygen might be confused.
GeneralReason for my vote of 2 nice, interesting trickmemberSheshadri Iyengar24 Aug '11 - 6:50 
Reason for my vote of 2
nice, interesting trick
GeneralReason for my vote of 5 Something Different...Like it!!memberGPUToaster23 Aug '11 - 23:02 
Reason for my vote of 5
Something Different...Like it!!
GeneralReason for my vote of 5 Good trick!memberJose David Pujo23 Aug '11 - 2:35 
Reason for my vote of 5
Good trick!
GeneralReason for my vote of 5 So simple!memberDave Cross22 Aug '11 - 22:42 
Reason for my vote of 5
So simple!
GeneralReason for my vote of 5 Nice and sneaky.subeditorWalt Fair, Jr.22 Aug '11 - 12:48 
Reason for my vote of 5
Nice and sneaky.
GeneralReason for my vote of 5 Cute and clever! :)memberGordon Brandly22 Aug '11 - 10:34 
Reason for my vote of 5
Cute and clever! Smile | :)

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130523.1 | Last Updated 22 Aug 2011
Article Copyright 2010 by TheyCallMeMrJames
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid