This proverb is a corollary to the last post in this series. While getting the program correct and the right results is the first priority that doesn't mean that the results can be tossed out in any old way. A programmer's program, a program written only to be used by the person who wrote it, can get away with output that looks random or is roughly formatted. But a program that is used by non-programmers really has to pay some attention to output.

I was once called in to update a report program that created a report with lots of data. All the data was correct. The problem was that it was all run together. There were no visual breaks between grouping. There were no sub-totals either. As correct as the results were the report was barely usable because of formatting problems.

Sometimes specific information should be highlighted. Are some numbers far above or below average? Are there warning messages that need to be produced when inventory falls below some level? Those things may require something special in the output. What about fonts? Are the sizes right? Did you pick a font type that is easy to read? What about spacing? Do numbers run together when they get large? Are negative numbers formatted in ways the customer expects? There is a lot to think about.

A report or screen that can't be read or that is disorganized or makes important information difficult to find is only marginally useful. If there has been a lot of work involved in getting the program correct you don't want to waste it by creating unusable output.

This is the twenty-third of a series of posts based on the book Programming Proverbs by Henry Ledgard. The index for the series is an earlier post and discussion of the list as a whole is taking place in the comments there. Comments on this "proverb" are of course very welcome here.