The source code I am working with performs many overlapping functions, such as

  • signal processing
  • data validation
  • logging of intermediate results, as a requirement
  • outputting data for debug purposes (one time or for limited use)
  • differentiating code blocks based on runtime target

There may be other functional types, as well, and custom tags would be useful.

It's very hard to manage this code in an interdisciplinary environment, where, for example, we want to focus on just one functional area (like signal processing).

In the same way that I can show/hide (expand and collapse) blocks of code in functions and conditional blocks, I would like to be able to use mark-up to create blocks that fit any of these function types so that I can show and hide them.

From a functional standpoint, I'd like the mark-up to be in the source file (so that they always are synchronized with the blocks they are marking), but I'd be interested in anything that achieves the same effect by other means.

(I have seen answers to other questions about using bookmarks and other highlighting features. These seem to be non-portable and only useable in an individual editing session.)

Is there any tool or add-on that can do this? Primarily, I'm interested in C/C++ source editing, but anything for other languages would be of interest.

Most of our tools run on Windows machines, but I'd be interested in anything right now. The cost of a tool can be justified as a business expense, so I'm not concerned about that at this time. (I don't want to pay to develop something, though. I'm not at that point yet.)

(Also, can someone help with the tags for this question? I'm new to this group.)

  • ick!! Haven't you heard of modularity? Why on earth are you mixing different functionalities in the same file? (if you are not, the question has no meaning). Refactor – and now. A good directory structure based on functional areas, and goo file naming will help considerably. Ask more on softwareengineering.stackexchange.com but, if I were working on such code, I would be polishing my CV – Mawg Mar 16 '17 at 8:24
  • You miss the point. In line data validation is not something we would refactor for. But it does break up the readability of the code. Also, for the code that is already modularized, marking the functionally different parts still makes sense. Calls to modularized functions (e.g., logging) also break up the readability, even though they are an improvement over inlining the code. – Jim Mar 16 '17 at 16:39
  • As I said, I want to be able two switch the viewing of different functionalities on and off. If I want to address a particular functionality, I don't want to meet with my team of system engineers, hardware engineers, and software engineers, (as well as managers), and force them to deal with unrelated material. I want them to be able to be able to understand the code on there own, from the point of view of their own disciplines, and focus on what is relevant to them at the moment. – Jim Mar 16 '17 at 16:39
  • "for the code that is already modularized, marking the functionally different parts..." - how are there "functionally different parts " in "modularized" code? Nvm, let's you and I agree to disagree :-) and, more importantly, see if we can't come up with a solution. Hmmm, might there be something possible with DoxyGen? Or Ctags? Code folding? – Mawg Mar 16 '17 at 17:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.