Project Idea: Learning to Read Code

... with the help of Fibel.

Idea

Imagine a webapp at which you can throw nearly every github or bitbucket repo URL, and it will render the code found in the repo with the help of docco, shocco or any other tool with a similar feature set.

Added Bonus:

  • Allow the creation of "tours" through code, so a user can show off certain features or solutions, in order to aid in the understanding of the code or specific programming constructs.
  • Allow the annotation of the code trough the webapp, and the code is reflected back to a forked edition of the original repo (which might serve as a basis for a documentation enhancing pull-request).

Why?

I've been thinking a lot about what makes a good programmer and how to get there. For quite some time already. Which is not very surprising, when you consider, that my job as a teamlead consists (not only, of course) of evaluating potential candidates and further developing the current team members.

Software Craftmanship is what comes to mind. But also concepts like Code Katas, Code Retreats (I will attend the Code Retreat Berlin in July, but more on that in another post) etc etc.

The one thing however, that I thought about how to solve best, was "reading good code" as a means of getting a feel how to solve problems "the right way" and the idioms and "culture" of a programming language. And as a thread on convore lately indicates, I'm not the only one thinking about this.
And as I'm looking for a sensible project to implement I thought that this would be a good direction for a project.

We'll see where I take this idea in the upcoming weeks. I nevertheless added it to my projects list and dubbed it Fibel (which is the common name for the first reading book children get in german elementary schools).