Increasing the Readability and Comprehensibility of Programs

Abstract

Source code must be readable and understandable in order to be debugged, used, and maintained efficiently and effectively. Creating programs that are easily read and understood is important, but not as simple as one might think. This thesis surveys the ways in which programming style, programming language design and program presentation influence a person's ability to read and understand program text. It is concerned with solving small scale problems associated with individual functions or files and not with problems that pertain exclusively to large software systems. The programming style chapter examines the changes a programmer may make to source code without modifying the content or meaning of the code. Two of tha main sections cover code reformatting and identifier naming conventions. The chapter on language design discusses the selection of basic tokens (symbols and keywords) and the structure of language statements. This chapter also categorizes the subtle errors that occur when the meanings of a code segment when read and when executed are not the same. The program presentation chapter presents methods for enhancing completed source code making it easier to read and its true meaning easier to discern. Restructuring/transforming the code, graphic design principles, and introducing supplemental information are some of the main sections. Knuth's literate programming paradigm is examined in this chapter as well. One of the underlying themes of the thesis is that an automated proofreader program could greatly aid programmers to create readable, understandable programs.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1990
Accession Number
ADA231805

Entities

People

  • Thomas M. Schorsch

Organizations

  • Air Force Institute of Technology

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Air Force
  • Basic Programming Language
  • C Programming Language
  • Coding
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • High Level Languages
  • Language
  • Linguistics
  • Lisp Programming Language
  • Operating Systems
  • Procedural Programming Language
  • Programming Languages

Fields of Study

  • Computer science

Readers

  • Computer Science.
  • Educational Psychology
  • Library and Information Science