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?
terminology
language-agnostic
callum
fuente
fuente
Respuestas:
Por lo general, esto se llama una firma de tipo .
fuente
interface
, o una declaración de función C / C ++ en un archivo de encabezado (literalmente llamado aprototype
).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.fuente
language-agnostic
, el C ++ ejemplos son (A) relevante para mí y (B) ilustrativos de la confusión que a menudo rodea la terminología humanaCreo 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".
fuente