2014-04-26 10:52:28 -04:00
|
|
|
hook
|
|
|
|
|
2014-04-26 11:54:15 -04:00
|
|
|
n. A software or hardware feature included in order to simplify later
|
|
|
|
additions or changes by a user. For example, a simple program that prints
|
|
|
|
numbers might always print them in base 10, but a more flexible version
|
|
|
|
would let a variable determine what base to use; setting the variable to 5
|
|
|
|
would make the program print numbers in base 5. The variable is a simple
|
|
|
|
hook. An even more flexible program might examine the variable and treat a
|
|
|
|
value of 16 or less as the base to use, but treat any other number as the
|
|
|
|
address of a user-supplied routine for printing a number. This is a hairy
|
|
|
|
but powerful hook; one can then write a routine to print numbers as Roman
|
|
|
|
numerals, say, or as Hebrew characters, and plug it into the program through
|
|
|
|
the hook. Often the difference between a good program and a superb one is
|
|
|
|
that the latter has useful hooks in judiciously chosen places. Both may do
|
|
|
|
the original job about equally well, but the one with the hooks is much more
|
|
|
|
flexible for future expansion of capabilities ( EMACS , for example, is all
|
|
|
|
hooks). The term user exit is synonymous but much more formal and less
|
|
|
|
hackish.
|
|
|
|
|