Readability is defined as reading ease, especially as it results from a writing style. Extensive research has shown that easy-reading text improves comprehension, retention, reading speed, and reading persistence.
Ease-of-reading is the result of the interaction between the text and the reader. In the reader, those features affecting readability are 1. prior knowledge, 2. reading skill, 3. interest, and 4. motivation. In the text, those features are 1. content, 2. style, 3. design, and 4. structure. The design can include the medium, layout, illustrations, reading and navigation aids, typeface, and color. Correct use of type size, line spacing, column width, text-color-background contrast and white space make text easy to read. (See Typography#Readability and legibility for more details.)
Among language experts, readability is a score produced by a readability formula, which is usually calibrated against a more labor-intensive readability survey. The formulas are widely used to match texts with the reading level of the audience.
Extensive research has shown that the popular readability formulas are not 100% accurate, but they give a "good rough estimate" of the reading skill required to read a text. The readability formulas have greatly benefited millions of readers throughout the world in many languages. If there is any problem with the formulas, it is that they are not used enough .
Publishers not only use readability formulas to assess the reading level of a text. They also use word-frequency lists. The frequency of a word is a good indication of its ease-of-use. Text leveling, a subjective evaluation of a text based on training and experience, is another important adjunct of using a formula.
Since the 1930s, national literacy surveys have shown that the average adult in the U.S. reads at the 8th-grade level. Many students read "below grade level". For example, many high-school graduates read at the 8th-grade level, and college graduates at the 10th-grade level. With practice, readers with little formal education can often become advanced readers. (DuBay 2006, National Assessment of Adult Literacy).
Nearly all of today's blockbuster writers write at the 7th-grade level, including John Grisham, Stephen King, J. K. Rowling, and Dan Brown. Experts today recommend writing legal and health information at the 7th-grade level. Laws often require writing medical and safety information at the 5th-grade level. Learning to write for a class of readers other than one's own is very difficult. It takes method, training, and lots of practice. As Jacques Barzun wrote, "Simple English is no person's native tongue."
Writers, editors, and publishers also often make intuitive assessments of readability based on experience, insight into their target audience, and knowledge of a number of rules of thumb, which are often derived from assessing a number of readability survey results.
Re-readability is the propensity to read something again after a period of time - appears to be a criterion dependent upon the reader. However, some authors, such as Robert A. Heinlein, appear more able to produce re-readable works, as is apparent from the rate of re-printing.
In alphabetical order:
There are many computer programs for measuring the readability of text. Some are available on the World Wide Web, and some of these are specifically designed to measure the readability of Web pages.
Readability is important because programmers spend the majority of their time reading, trying to understand and modifying existing source code, rather than writing new source code. Unreadable code often leads to bugs, inefficiencies, and duplicated code. A study found that a few simple readability transformations made code shorter and drastically reduced the time to understand it.
Following a consistent programming style often helps readability. However, readability is more than just programming style. Many factors, having little or nothing to do with the ability of the computer to efficiently compile and execute the code, contribute to readability. Some of these factors include: