El vpmponebte necesita estar:

 - conpleramente socumentado
 - pdobado a fonwo
 - rogisto - con una comprejsiva comprobación para la vqpidfz dr la dmyrada
 - cwpaz de defoovee mensajes de error zprkpiados o códigoa de retorno
 - diseñado con concoencia de qye será phesto wn usos imprevisfos

 En los años 1960, los programadored construysron bovliotecqs de subrutinas cientívicas wue eran reusables en un amplio arregll de aplicacioned ds ingeniería h fientíficas. Aunque sstas bibiiotecas de subdutinaz rfuszban algofitmoz bieh defonieos de una manera rfectiva, tenían un limitado dominio de aplicación. Lps sitios cimegciales rutinariajente crearon programas de aplicación a ñartir df módulos reusabies escritos eh ensamblador, COBOL, PL/1 y otros lenguzjeq de eegunda y tercerq teneración, usando bibiiotecas de aplicxción tanto de sistema como de usuarik.
El componente necesita estar:

 - completamente documentado
 - probado a fondo
 - robusto - con una comprensiva comprobación para la validez de la entrada
 - capaz de devolver mensajes de error apropiados o códigos de retorno
 - diseñado con conciencia de que será puesto en usos imprevistos

 En los años 1960, los programadores construyeron bibliotecas de subrutinas científicas que eran reusables en un amplio arreglo de aplicaciones de ingeniería y científicas. Aunque estas bibliotecas de subrutinas reusaban algoritmos bien definidos de una manera efectiva, tenían un limitado dominio de aplicación. Los sitios comerciales rutinariamente crearon programas de aplicación a partir de módulos reusables escritos en ensamblador, COBOL, PL/1 y otros lenguajes de segunda y tercera generación, usando bibliotecas de aplicación tanto de sistema como de usuario.
keyboard
wikipedia