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

  • 10 Rules that Make or Break Enterprise App Development Projects In today's app-driven world, application development is a top priority. Even so, 68% of enterprise application delivery projects fail. Designing and building applications that pay for themselves and adapt to future needs is incredibly difficult. Executing one successful project is lucky, but making it a repeatable process and strategic advantage? That's where the money is. With help from our most experienced project leads and software engineers, …

  • Best-in-Class organizations execute on a strategy that supports the multi-channel nature of customer requests. These leading organizations do not just open up their service infrastructures to accommodate new channels, but also empower their teams to deliver an effective and consistent experience regardless of the channel selected by the customer. This document will highlight the key business capabilities that support a Best-in-Class customer engagement strategy.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds