[Python-ideas] Objectively Quantifying Readability

Antoine Pitrou solipsis at pitrou.net
Tue May 1 05:51:23 EDT 2018

Yes, it seems that this study has many limitations which don't make its
results very interesting for our community.  I think the original point
was that readability *can* be studied rationnally and scientifically,



On Tue, 1 May 2018 09:00:44 +0200
Jacco van Dorp <j.van.dorp at deonet.nl>
> I must say my gut agrees that
> really_long_identifier_names_with_a_full_description don't look
> readable to me. Perhaps it's my exposure to (py)Qt, but I really like
> my classes like ThisName and my methods like thisOne. I also tend to
> keep them to three words max (real code from yesterday:
> getActiveOutputs(), or at most setAllDigitalOutputs()). I also really
> dislike more than 3 or 4 arguments.
> A question for another type of science would be, do I agree with this
> study because it agrees with me ?
> It should be noted that the snippets used were short and small. This
> might cause a bias towards short identifiers - after all, if you only
> got 3 to keep track of it, they're more likely to be distinct enough
> compared to when you have 20. I couldn't give a source, but IIRC
> people can hold up to around 5 to 7 concepts in their head at one time
> - which means that if you got less identifiers than that, you don't
> remember the names, but their concepts.(further reading shows this is
> supported with their strongest negative correlation - # of identifiers
> strongly decreases readability.). Compare it to RAM - it's only big
> enough for 5 to 7 identifiers, and after that you have to switch them
> out to the harddisk. *nobody* wants to code that does this switching,
> and our brains don't like running it either. I think this is one of
> the main reasons list/generator comprehensions increase readability so
> much. You can get rid of 1 or 2 variable names.
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/

More information about the Python-ideas mailing list