User Efficiency
Making other people’s lives easier is a lot more work than making stuff easy for you.
Instead of making users enter data line by line, pop users into their favorite editor.
Better yet, use a GUI like the Perl /
TkorWxmodules, where users can control the order of events.Put up something for users to read while you continue doing work.
Use autoloading so that the program appears to run faster.
Give the option of helpful messages at every prompt.
Give a helpful usage message if users don’t give correct input.
Include extended examples in the documentation, and complete example programs in the distribution.
Display the default action at every prompt, and maybe a few alternatives.
Choose defaults for beginners. Allow experts to change the defaults.
Use single-character input where it makes sense.
Pattern the interaction after other things the user is familiar with.
Make error messages clear about what needs fixing. Include all pertinent information such as filename and error code, like this:
open(FILE, $file) || die "$0: Can’t open $file for reading: $!\n";
Use
fork && exitto detach from the terminal when the rest of the script is just batch processing.Allow arguments to come from either the command line or standard input.
Use configuration files with a simple text format. There are many modules for this already on CPAN.
Don’t put arbitrary limitations into your program.
Prefer variable-length fields over fixed-length fields.
Use text-oriented network protocols.
Tell everyone else to ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access