TU10 Program Comprehension: A Strategy for the Bewildered     Invited

Frank C. DiIorio
CodeCrafters, Inc.
Abstract: Here is a not uncommon scenario in many workplaces. A neophyte SAS programmer is assigned to maintain, debug, or enhance an application. The atmosphere is sink or swim, the system is complex, the code is sophisticated, the documentation is scant, and the p rogrammer is bewildered. Questions slowly take shape. “What, exactly, am I supposed to do?” “What part(s) of the application need my attention?” “Will a change to program X affect program Y?” And, most critically, “where do I start?” What the poor pro grammer needs is a strategy for comprehending the program, then finding the “sweet spots” in the code as efficiently as possible. This paper presents a generalized approach for programmers, particularly SAS “newbies”, to develop an understanding of ho w applications work. It also shows how to translate this comprehension into effective coding. The paper identifies and discusses the rationale for questions the programmer should ask about: task definition, program-level code, supporting code, system desig n and specification documents, and required domain knowledge. Beginning SAS programmers should come away with a better understanding of how to correctly frame the programming problem and effectively gather the resources needed to obtain a solution. Th ey will also come to believe that the coding of, say, a DATA step is usually simple, but the real art of programming is learning what to code, and why.

Biography:
Frank DiIorio is Director, SAS System Development at Advanced Integrated Manufacturing Solutions Corporation (AIMS), a manufacturing systems integrator. He has over 25 years' experience with Base SAS and products such as SAS/GRAPH, SAS/AF, SAS/GRAPH, SAS/Q C, SAS/Intrnet, and SAS/FSP. He has worked in educational research, financial, pharmaceutical, and manufacturing environments, focusing on program efficiency, report writing, the macro language, and user interface design issues. Much of the knowledge gaine d from these varied work environments has been committed to paper - he has written many papers presented at local, regional, and international SAS user groups. Frank is also the author of two SAS programming texts, which have sold over 25,000 copies ("SAS Applications Programming: A Gentle Introduction" and, co-authored with Kenneth Hardy, "Quick Start to Data Analysis with SAS"). A third book, "The Elements of SAS Programming Style," is being developed and will be available in 2002. Frank is also active in