Custom Comment-Out Macro

I think that sometimes commenting source code can be cause of great mess if we don't write WHY we are commenting it and, for istance, whether it is a temporary action or it is supposed to be definitive. This is particularly true when you work in team and you dare to hope to understand what is happening around you (no hopes! ;-) ).

For this reason it can be useful to insert comments like this

// Commented by Ilic On 31/7/00   CString Message;
// Commented by Ilic On 31/7/00   Message.Format(_T("Useless message"));
or this
// Moved to AnotherLibray	MyClass *Ptr;
// Moved to AnotherLibray	Ptr->SolveAllMyProblems();
This is possible with the included Macro. Comment is divided in three parts:
  1. the CommentType (//, ', # and so on), which was already beautifully mastered by Adam Solesby.
  2. The Comment itself, i.e. the sentence you want to be written near your commented code.
  3. The comment delimiter, which separates your sentence from the code. It is set by default as a vTab, but you can change it to whatever you want,obtaining e.g.
    // Moved to AnotherLibray --> MyClass *Ptr;
    // Moved to AnotherLibray --> Ptr->SolveAllMyProblems();
    
The ChangeCustomComment() macro allows you to change the sentence you want to put in next comment, whereas InsertCustomComment() is simply the extension of Adam Solesby's macro. You can change your comments as many times as you want, and you should always be able to Uncomment code, no matter whether the sentence in the comment you want to delete is the same of the "active" one or not. On the countrary you shouldn't change the comment delimiter once you have chosen one, or the macro want be able to recognize comments anymore (nobody's perfect...)

Downloads

Download source - 3 Kb


Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • On-demand Event Event Date: September 10, 2014 Modern mobile applications connect systems-of-engagement (mobile apps) with systems-of-record (traditional IT) to deliver new and innovative business value. But the lifecycle for development of mobile apps is also new and different. Emerging trends in mobile development call for faster delivery of incremental features, coupled with feedback from the users of the app "in the wild." This loop of continuous delivery and continuous feedback is how the best mobile …

  • On-demand Event Event Date: September 17, 2014 Another day, another end-of-support deadline. You've heard enough about the hazards of not migrating to Windows Server 2008 or 2012. What you may not know is that there's plenty in it for you and your business, like increased automation and performance, time-saving technical features, and a lower total cost of ownership. Check out this webcast and join Rich Holmes, Pomeroy's practice director of virtualization, as he discusses the future state of your servers, …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds