Saya cukup yakin ada nama khusus untuk 'spek' fungsi / metode. Itu kata yang merujuk
- berapa banyak argumen yang dibutuhkan
- urutan argumen
- argumen mana yang opsional
Apakah ada nama untuk itu?
Saya cukup yakin ada nama khusus untuk 'spek' fungsi / metode. Itu kata yang merujuk
Apakah ada nama untuk itu?
Jawaban:
Biasanya ini disebut tipe tanda tangan .
Tipe tanda tangan termasuk tipe pengembalian fungsi, jumlah argumen, tipe argumen, atau kesalahan yang mungkin ditimbulkannya kembali.
interface
, atau deklarasi fungsi C / C ++ dalam file header (secara harfiah disebut a prototype
).
TL; DR Anda mungkin berbicara tentang tanda tangan fungsi (atau tanda tangan metode), yang sebagian adalah tanda tangan jenis.
Tetapi benar-benar tergantung pada apa yang Anda anggap fungsi "spec". Saya menafsirkannya sebagai "semua informasi yang diperlukan untuk seorang programmer untuk memanggil suatu fungsi". Ini termasuk nama fungsi, tipe parameter, urutan, dan keperluan, mungkin tipe pengembalian, dan mungkin bahkan namespace fungsi itu.
Tetapi apakah semua hal itu diperlukan (atau bahkan didefinisikan dengan baik) tergantung pada bahasa / lingkungan yang Anda gunakan. Juga, jika Anda mengubah definisi menjadi "semua informasi yang diperlukan mesin untuk memanggil suatu fungsi", spesifikasi kemungkinan berbeda 1 .
Sebenarnya, fungsi (atau metode) tanda tangan bukan istilah yang konsisten, 2, 3 bahkan dalam bahasa yang sama. 4, 5, 6, 7 Tapi itu hampir pasti kata yang Anda cari, karena itu akan dipahami oleh hampir semua programmer.
public
, static
, dlllanguage-agnostic
, contoh-contoh C ++ (A) relevan bagi saya dan (B) menggambarkan kebingungan yang begitu sering mengelilingi terminologi manusia
Saya percaya istilahnya adalah "kontrak". Ini mendefinisikan antarmuka dan apa yang diharapkan dari penelepon dan callee; namun juga mencakup hal-hal seperti nilai parameter yang diperbolehkan yang bukan sesuatu yang banyak bahasa izinkan untuk didefinisikan oleh fungsi atau definisi kelas, sehingga istilah "kontrak" mungkin lebih luas artinya daripada yang Anda maksudkan. Saya telah melihatnya di beberapa buku pemrograman berorientasi objek dan Java tertentu. Saya tidak yakin apakah itu khusus Java tetapi saya tidak mengerti mengapa itu perlu. Tanda tangan adalah istilah lain yang umum digunakan tetapi saya mulai menyukai "kontrak".