Making Sense of Complexity in Coding

I often find new programming paradigms hard to learn. Therefore, supportive tools easing out the learning curve are always welcome.

Recently I have been adapting JUCE C++ framework for my sound and interaction design needs. In order to use JUCE librariers, some understanding of C++ is required as well as skills to interpret JUCE API documentation.

To me this has been chicken or egg problem. That is, reading the API makes no sense when not knowing structure of the language and naming conventions well enough. On the other hand, reading the API is no good if understanding of the programming principles is not there yet. Often I have find myself getting lost in a code jungle and not seeing the big picture of the larger program.

My solution to cope with complexity is using Doxygen tool in parallel with programming IDE. According to Doxygen authors the software allows generating API documentation from source code. In practice, my workflow includes maintaining API documentation while programming new features. A simplified example of this is depicted in Figure 1.

doxy-workflow
Figure 1. Visual Studio Project Layout and Doxygen API documentation generated from source.

This workflow supports my two initial goals: 1) learning C++ language and 2) learning to read and interpret the JUCE API. Not to mention that in this manner projects are documented constantly.

Also, I find the Doxygen tools really helpful when studying open source projects which tend to be poorly documented or not having documentation at all. For example, studying documentation and code at the same time has helped me adapting coding strategies behind the software.

Cheers : )

Speak Your Mind

*

  • RSS
  • LinkedIn
  • Twitter
  • GitHub
  • Academia.edu
  • ResearchGate