Estoy bastante seguro de que hay un nombre especial para la 'especificación' de una función / método. Es una palabra que se refiere a
- cuantos argumentos toma
- el orden de los argumentos
- qué argumentos son opcionales
¿Hay un nombre para eso?
Estoy bastante seguro de que hay un nombre especial para la 'especificación' de una función / método. Es una palabra que se refiere a
¿Hay un nombre para eso?
Respuestas:
Por lo general, esto se llama una firma de tipo .
Una firma de tipo incluye el tipo de retorno de la función, el número de argumentos, los tipos de argumentos o los errores que puede transmitir.
interface, o una declaración de función C / C ++ en un archivo de encabezado (literalmente llamado a prototype).
TL; DR Probablemente estés hablando de una firma de función (o firma de método), parte de la cual es una firma de tipo.
Pero realmente depende de lo que consideres una función "spec". Lo interpreto como "toda la información requerida para que un programador llame a una función". Esto incluye el nombre de la función, el tipo de parámetro, el orden y la necesidad, probablemente el tipo de retorno, y probablemente incluso el espacio de nombres de esa función.
Pero si todas esas cosas son necesarias (o incluso bien definidas) depende del idioma / entorno que esté utilizando. Además, si cambia la definición a "toda la información requerida para que una máquina llame a una función", la especificación probablemente sea diferente 1 .
Estrictamente hablando, una firma de función (o método) no es un término consistente, 2, 3 incluso dentro del mismo idioma. 4, 5, 6, 7 Pero es casi seguro que es la palabra que está buscando, porque casi cualquier programador la entenderá.
public, static, etc.language-agnostic, el C ++ ejemplos son (A) relevante para mí y (B) ilustrativos de la confusión que a menudo rodea la terminología humana
Creo que el término es "contrato". Define la interfaz y lo que se espera de la persona que llama y de la persona que llama; sin embargo, también cubre cosas como los valores permitidos de los parámetros, que no es algo que muchos lenguajes permitan definir mediante la definición de función o clase, por lo que el término "contrato" podría tener un significado más amplio de lo que usted quiso decir. Lo he visto en varios libros de programación orientados a objetos y específicos de Java. No estoy seguro de si es específico de Java, pero no veo por qué debería ser así. Firma es el otro término comúnmente utilizado, pero me llegó a gustar "contrato".