There can be differences of opinion on what is a good-enough program, but the work clearly must be functional for its purpose, and not an embarrassment to its author. Good-enough programming starts, at the minimum, with following all of the company-set standards and procedures, as defined in a programming standards manual or common usage. There is no excuse for sloppy work, misspelled words, few or no comment statements, missing program objective, or abstruse and purposely confusing code.
Good-enough programming means, as Ive pointed out in early chapters, not wasting time and energy concocting processing schemes or experiments to save a few milliseconds or nanoseconds in the running of a job. That kind of code tweaking was justified long ago, when processing cycles were expensive and precious, but its not justified now.
This does not mean that good programmers are not aware of efficient and expected programming techniques, especially as applied to the relatively slow disk file processing. What it does mean is that the computer hardware is not the limiting factor anymore. Taking time and energy to scan through the millions of lines of source code already in your companys production librariescode that runs your companys computerized business processeswill show you not only the requirements of good-enough coding, but probably superior coding.