Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's clever, but I think it misses the point of readability. For me anyway, readability isn't about one person actively developing code. It's about communicable code, working in a shared code base, and having to re-skim a 2,000 line chunk of a 2 million line code base two years after dropping it on the floor in order to update it in a timely and correct fashion.

In the same fashion, I update my design, architecture, and implementation documents concurrently with implementing a prototype if I need to make modifications or add complexity on the fly. They aren't for me, now. They're for the junior engineers I'm going to hand the project over to who need to be able to flesh out parts of a much larger machine.

Finally, whether or not I can read or understand my code, which I generally can, I test it anyway. I test my code not because it is unreadable (it is generally very readable), but because despite my best efforts to minimize complexity, it is generally too complex to fit inside my head, and because whether or not it fits in my head I'm not the only person working on it.



I believe people have strong feelings about what is readable and what is not.

Most people have this subjective definition of "readable" which is basically something between "I can read it" and "people I work with/like can read it".

This definition is difficult to work with for a number of reasons, but if you are trying to convince someone there's value in reading and writing code sufficiently alien, it's at a minimum a massive barrier to progress.

Disclaimer: I can read code like this, and while I've let Aaron try to teach me Tai Chi, I don't use Dyalog or co-dfns.


> For me anyway, readability isn't about one person actively developing code. It's about communicable code,

If the person who wrote it can't pass the 'readability' test above what are the chances that other people, who are less familiar with the code, will?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: