Clarify function]

  • Authors:
  • N. Anand

  • Affiliations:
  • Texas Instruments, Inc., VLSI Design Lab, MS 369, 12840 Hillcrest Road, Dallas TX

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1988

Quantified Score

Hi-index 0.04

Visualization

Abstract

The biggest obstacle in understanding large software systems is the sheer quantity of information that has to be explicitly remembered by a programmer. Our ability to understand a system directly determines the ease with which it can be modified, maintained or extended; programmers are hence in need of techniques which, when applied, result in systems that can be understood quickly and effectively. In this paper, some practical techniques for constructing such "highly understandable" systems are presented. The paper starts with an analysis of how we humans understand a system --- it is demonstrated that we do so by identifying the functions of various entities in it. On the basis of this important observation, the argument for naming entities by the function that they perform is developed. Some concrete rules for naming procedures, variables, pointers, etc. are subsequently suggested and the reasons why these rules should obviate the need to remember are explored. We further argue why inability to name according to the given criteria should be interpreted as an indication of poor quality of the system. Thus, we conclude that the way to construct systems that can be understood quickly and effectively is to name entities in the system by the function that they perform.