On Sun, Feb 3, 2013 at 9:24 PM, Tracy Harms <[email protected]> wrote: > My experience has been that my openness to long chains of modifiers has > increased as I get better at reading J. Also, I find value in the > widespread idea that seven, plus or minus two, is a count of things that > people can keep in mind simultaneously. I don't think it's worth proposing > specific standards for what counts as "a thing" for such tallying, but do > think it's worth noticing as a rough guide.
For me, there's a tension between "seeing the code" and "naming the code". Sometimes I can think of names for every intermediate result. But expressing those names means that most of the screen is occupied by names and copulas and the J itself becomes hard to see. I think that this makes it hard to read. At the other extreme, sometimes I have trouble thinking of descriptive names, and sometimes my lines become longer than I am comfortable with (I do not like it when email software wraps my lines of code). Meanwhile, I feel that to properly understand the code I need to think about the data that the code will be manipulating. This starts with having good example cases, and sometimes I try to walk some readers through the process of evaluation for sample cases. These walk-throughs tend to be quite a bit longer than the code, take time to write, and can become irrelevant if the code needs to change. So I need some amount of audience involvement to write them in the first place. When reading other people's code, I have to choose between "seeing it" and "trying it out". If I do not try it out and inspect the data my understanding of it will often be inadequate. Sometimes an inadequate understanding is still "good enough" and sometimes not. Sometimes I do not understand the surrounding context well enough to understand what I am reading (seeing numbers does not equate to knowing enough about the situation to distinguish between relevant and irrelevant numbers). I do tend to get impatient when I feel that the code is doing too much. For me, such code is harder to understand than code that gets to the point. This feeds into my decisions about whether I want to try it out. Note also that I am not always right. -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
