07 May 2004
As you might know from an earlier post I am not a fan of literate programming. I think it is a good tool for preparing documents that clearly present an algorithm or a data structure. But that's it. The code for a big (>10000 lines) program is not read like a book. Well, maybe like a reference book but, certainly, not like a literature work. It doesn't feel right to organize it into chapters, sections, paragraphs. However... When writing a public document (like an article, a book, etc.) it is almost required to read the document several times and scan for errors. Errors can be at various abstraction levels: conceptual, presentation style, phrase semantics, syntax, spelling. If the document is large you probably want to do this after finishing each section; and, in the end, once again for the whole document, this time looking for more abstract error types. What occured to me is that the above can be also said about code review sessions. So, although I think that a program's code should be more flexible than a book's format imposes, I do think that using good review practices helps.