Ich bin mir ziemlich sicher, dass es einen speziellen Namen für die 'Spezifikation' einer Funktion / Methode gibt. Es ist ein Wort, das sich bezieht
- wie viele Argumente es braucht
- die Reihenfolge der Argumente
- Welche Argumente sind optional
Gibt es einen Namen dafür?
terminology
language-agnostic
Callum
quelle
quelle
Antworten:
In der Regel wird dies als Typensignatur bezeichnet .
quelle
interface
oder einer C / C ++ - Funktionsdeklaration in einer Headerdatei (wörtlich a genanntprototype
).TL; DR Sie sprechen wahrscheinlich von einer Funktionssignatur (oder Methodensignatur), von der ein Teil eine Typensignatur ist.
Aber es kommt wirklich darauf an, was man als Funktion "spec" ansieht. Ich interpretiere es als "alle Informationen, die ein Programmierer benötigt, um eine Funktion aufzurufen". Dazu gehören der Funktionsname, der Parametertyp, die Reihenfolge und die Notwendigkeit, möglicherweise der Rückgabetyp und möglicherweise sogar der Namespace dieser Funktion.
Ob all diese Dinge erforderlich (oder genau definiert) sind, hängt jedoch von der Sprache / Umgebung ab, die Sie verwenden. Wenn Sie die Definition in "Alle Informationen, die ein Computer zum Aufrufen einer Funktion benötigt" ändern , ist die Spezifikation wahrscheinlich anders 1 .
Genau genommen ist eine Funktions- (oder Methoden-) Signatur kein konsistenter Begriff, 2, 3, auch nicht in derselben Sprache. 4, 5, 6, 7 Aber es ist mit ziemlicher Sicherheit das gesuchte Wort, denn es wird von fast jedem Programmierer verstanden.
public
,static
usw.quelle
language-agnostic
die C ++ - Beispiele für mich (A) relevant und (B) illustrativ für die Verwirrung sind, die so oft die menschliche Terminologie umgibtIch glaube, der Begriff ist "Vertrag". Es definiert die Schnittstelle und was von Anrufern und Angerufenen erwartet wird. Es werden jedoch auch Dinge wie zulässige Werte von Parametern behandelt, die nicht in vielen Sprachen durch die Funktions- oder Klassendefinition definiert werden können. Der Begriff "Vertrag" hat also möglicherweise eine breitere Bedeutung als das, was Sie gemeint haben. Ich habe es in mehreren objektorientierten und Java-spezifischen Programmierbüchern gesehen. Ich bin nicht sicher, ob es Java-spezifisch ist, aber ich verstehe nicht, warum es sein muss. Signatur ist der andere häufig verwendete Begriff, aber ich mochte "Vertrag".
quelle