đ Les contrats ont Ă©tĂ© inventĂ©s en 1990 afin de complĂ©ter les interfaces des classes. Ces derniĂšres donnent les signatures des mĂ©thodes exposĂ©es par une classe, mais ne disent rien du comportement que chacune des parties attend de lâautre. Les commentaires sont largment insuffisants, car il faut que de telles spĂ©cifications soient exĂ©cutables.
đ± La premiĂšre idĂ©e Ă©mise par les chercheurs fut dâintĂ©grer les contrats dans les langages de programmation eux-mĂȘmes. Cette idĂ©e nâa pas pris, mais les contrats sont loin dâĂȘtre morts ! Les tests fonctionnels sont les hĂ©ritiers directs de ce morceau dâhistoire du logiciel. Plus Ă©loignĂ©s, certains types de foncteurs (Maybe, Lazy, Either, âŠ) ou les systĂšmes de Tasks/Promises peuvent se rattacher Ă des contrats.
SOURCE
Richard Helm, Ian M. Holland, and Dipayan Gangopadhyay. 1990. Contracts: specifying behavioral compositions in object-oriented systems. SIGPLAN Not. 25, 10 (Oct. 1990), 169â180. DOI:10.1145/97946.97967
Enzo Sandré
đ Lien public DOIs: 10.1145/97945.97967