The world of software development abounds with opportunities to engage coded passages in an attempt to understand the material, or the intent of the writer. Reading competence is necessary for activities where the reader must gain a sufficient understanding of the artifact to accomplish a task. To accomplish the task the individual must first gain a substantial understanding of the existing program through interacting with the code and program documentation, if it exists. Though there may or may not be adequate supporting documentation, the programmer is bound inextricably to the code to determine how the current program performs its tasks. The problems of program understanding to the maintenance programmer are magnified by unstructured or poorly structured legacy code.
Program comprehension is an important activity for other industrial practices too.
There are numerous activities during development where the individual is required to take a foreign artifact and gain enough from reading it to accomplish tasks. Reviews, walk-throughs and inspections require individuals not acquainted with particular artifacts to become sufficiently versed in their operations to identify problems and defects, or to simply conduct an intelligent conversation regarding its operation. The reader attempts to understand the product sufficiently to identify defects. Interestingly, organizations understand the importance of thorough training in the aspects of inspections, but do not provide any guidance looking for defects or program understanding. Aside from the importance of comprehension for industrial practice, improvement in code reading should support learning in computer science and software engineering classes.