There is also objective measure of code complexity, known as cyclomatic complexity. Cyclomatic complexity won't apply to the more aesthetic parts of writing readable code, but it will address the cognitive part.
Cyclomatic complexity is a measure of the number of control flow paths that a piece of code has. Minimizing cyclomatic complexity will make your program more comprehensible. In layman's terms, this essentially equates to minimizing the number of branching statements, breaking large functions into smaller functions and large systems into smaller modules.
There are automated tools for calculating cyclomatic complexity but generally these are only available for enterprise languages or in commercial suites.