Live data from Hacker News

Literate programming is much more than just commenting code

justinmeiners.github.io

111–112 of 112 posts

Re: Literate programming is much more than just commenting code

#111
post #85
post #68

Earlier quoted context omitted.

I interpret self documenting as writing the what in the code and writing comments about the why . While minimizing the places where you need to explain your code. My role of thumb is that if it's not obvious why that particular line is there and removing it would break functionality, add a comment.

I typically see "self documenting code" refer to code where function and variable names indicate the code without added comments. Think: function square(x) ... Versus function f(a) ... Often includes all functions as named things, with little to no lambda usage, since names are seen as for the programmer, not for the computer.

Pushing for an extreme can be counterproductive. For example completely avoiding lambda may bring the equivalent of constant abuse.

Compare

  list.map(v => v+2)
To

  list.map(add2)
In addition to other problems with functions, you now have a potential for combinatorial explosion doing it this way.

Re: Literate programming is much more than just commenting code

#112
post #111
post #85

Earlier quoted context omitted.

I typically see "self documenting code" refer to code where function and variable names indicate the code without added comments. Think: function square(x) ... Versus function f(a) ... Often includes all functions as named things, with little to no lambda usage, since names are seen as for the programmer, not for the computer.

Pushing for an extreme can be counterproductive. For example completely avoiding lambda may bring the equivalent of constant abuse. Compare list.map(v => v+2) To list.map(add2) In addition to other problems with functions, you now have a potential for combinatorial explosion doing it this way.

Completely agreed. Though, I suspect cases like that are less common. Small adjustments by constants aren't something I do often, at least. (That is, this is a bit of a straw man.)
Post reply on HN