Wrapper function: Difference between revisions

Content deleted Content added
No edit summary
Citation bot (talk | contribs)
Alter: url. URLs might have been anonymized. | Use this bot. Report bugs. | Suggested by SemperIocundus | #UCB_webform 1471/2500
Line 2:
{{redirect|Wrapper method|wrapper methods in feature selection|Feature selection#Wrapper method}}
 
A '''wrapper function''' is a [[Function (computer programming)|function]] (another word for a ''subroutine'') in a [[Library (computing)|software library]] or a [[computer program]] whose main purpose is to call a second subroutine<ref>{{cite book |title=Using Visual Basic 6 |last=Reselman |first=Bob |author2=Peasley, Richard |author3=Pruchniak, Wayne |year=1998 |publisher=Que |isbn=9780789716330 |page=446 |url=https://books.google.com/books?id=X5ZQAAAAMAAJ&client=firefox-a&pgis=1 }}</ref> or a [[system call]] with little or no additional computation. Wrapper functions are used to make writing computer programs easier by abstracting away the details of a subroutine's underlying implementation.
 
== Purpose ==
Line 16:
 
===Code testing===
Wrapper functions can be used to write [[Debugger|error checking]] routines for pre-existing system functions without increasing the length of a code by a large amount by repeating the same error check for each call to the function.<ref>{{cite book |title=UNIX Network Programming |last=Stevens |first=Richard |author2=Fenner, Bill |author3=Rudoff |author4= Andrew M. |year=2003 |publisher=Addison-Wesley |isbn=9780131411555 |pages=5–6, 29 |url=https://books.google.com/books?id=ptSC4LpwGA0C&client=firefox-a }}</ref> All calls to the original function can be replaces with calls to the wrapper, allowing the programmer to forget about error checking once the wrapper is written.
A test driver is a kind of wrapper function that exercises a code module, typically calling it repeatedly, with different settings or parameters, in order to rigorously pursue each possible path. It is not deliverable code, but is not throwaway code either, being typically retained for use in [[regression testing]].
An interface adaptor is a kind of wrapper function that simplifies, tailors, or amplifies the interface to a code module, with the intent of making it more intelligible or relevant to the user. It may rename parameters, combine parameters, set defaults for parameters, and the like.