I would encourage you to check out a movement called literate programming, originally invented in the late 70s by Donald Knuth. It never really took off the way he envisioned it, and the meaning of the idea has been diluted down to systems which can scrape comments from source files nowadays.
Literate programming is about having snippets of code, or entire programs, that you can evaluate, study and modify, surround by text. It feels like a lab journal; I use it a lot when trying to figure out how to do Systems Administration tasks so when I need the script again in 6 months I will actually have it!
Not sure how familiar you are with Emacs, or if you even want to be, but Org Mode in Emacs features a literate programming library called Babel which lets you embed code blocks. The learning curve is very sharp, the community can be very grumpy if you ask a question they feel is obvious, but overall a cool experience. It does not play well with Windows, however. When it started breaking and I was spending more time fixing Emacs than I was studying, I gave it up.
One of these days it's a system I would love to build.
I've heard of literate programming! It's a facinating concept (along with Donald Knuth in general)
It was referenced in an unconference session at Write the Docs and I almost referenced it in this post but it slipped by mind during editing.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.