関数/メソッドの「仕様」には特別な名前があると確信しています。を指す言葉です
- それが取る引数の数
- 引数の順序
- どの引数はオプションです
その名前はありますか?
関数/メソッドの「仕様」には特別な名前があると確信しています。を指す言葉です
その名前はありますか?
回答:
interface
、またはヘッダーファイルのC / C ++関数宣言(文字通り)と同様に、実装のない宣言を意味しますprototype
。
TL; DRおそらく関数シグネチャ(またはメソッドシグネチャ)について話しているでしょう。その一部は型シグネチャです。
しかし、実際には関数の「仕様」と考えるものに依存します。「プログラマーが関数を呼び出すために必要なすべての情報」と解釈します。これには、関数名、パラメーターの型、順序、必要性、おそらく戻り値の型、そしておそらくその関数の名前空間も含まれます。
しかし、これらすべてが必要であるか(または明確に定義されている場合でも)、使用している言語/環境によって異なります。また、定義を「マシンが関数を呼び出すために必要なすべての情報」に変更すると、仕様が異なる可能性があります1。
厳密に言えば、関数(またはメソッド)シグネチャは一貫した用語ではなく、同じ言語内でも2、3です。4、5、6、7 しかし、それは、ほぼすべてのプログラマが理解されるだろうから、それは、ほぼ確実にあなたが探している言葉です。
language-agnostic
、C ++の例は、(A)私と(B)は、多くの場合、人間の専門用語を囲む混乱の説明に関連している
この用語は「契約」だと思います。インターフェイスと、呼び出し元と呼び出し先に期待されることを定義します。ただし、多くの言語が関数またはクラス定義で定義できるものではないパラメーターの許容値なども対象となるため、「契約」という用語は意味よりも幅広い意味を持つ場合があります。私はいくつかのオブジェクト指向およびJava固有のプログラミング本でそれを見てきました。Java固有かどうかはわかりませんが、なぜ必要なのかわかりません。署名は他の一般的に使用される用語ですが、「契約」が好きになりました。