ฉันค่อนข้างแน่ใจว่ามีชื่อพิเศษสำหรับ 'ข้อมูลจำเพาะ' ของฟังก์ชัน / วิธี มันเป็นคำที่หมายถึง
- ต้องใช้อาร์กิวเมนต์กี่ครั้ง
- ลำดับของการขัดแย้ง
- อาร์กิวเมนต์ใดเป็นตัวเลือก
มีชื่อไหม?
ฉันค่อนข้างแน่ใจว่ามีชื่อพิเศษสำหรับ 'ข้อมูลจำเพาะ' ของฟังก์ชัน / วิธี มันเป็นคำที่หมายถึง
มีชื่อไหม?
คำตอบ:
ประเภทลายเซ็นรวมถึงประเภทกลับของฟังก์ชั่นจำนวนข้อโต้แย้งประเภทของข้อโต้แย้งหรือข้อผิดพลาดมันอาจส่งกลับ
interface
หรือการประกาศฟังก์ชั่น C / C ++ ในไฟล์ส่วนหัว (เรียกว่า a prototype
)
TL; DR คุณอาจกำลังพูดถึงลายเซ็นของฟังก์ชั่น (หรือลายเซ็นเมธอด) ส่วนหนึ่งเป็นลายเซ็นประเภท
แต่จริงๆแล้วขึ้นอยู่กับสิ่งที่คุณพิจารณาฟังก์ชั่น "spec" ฉันตีความว่าเป็น "ข้อมูลทั้งหมดที่จำเป็นสำหรับโปรแกรมเมอร์ที่จะเรียกใช้ฟังก์ชัน" ซึ่งรวมถึงชื่อฟังก์ชันประเภทพารามิเตอร์คำสั่งซื้อและความจำเป็นอาจเป็นประเภทส่งคืนและอาจถึงแม้จะเป็น namespace ของฟังก์ชัน
แต่สิ่งที่จำเป็นทั้งหมดนั้น (หรือกำหนดได้ดี) นั้นขึ้นอยู่กับภาษา / สภาพแวดล้อมที่คุณใช้ นอกจากนี้ถ้าคุณเปลี่ยนคำจำกัดความที่ "ข้อมูลทั้งหมดที่จำเป็นสำหรับเครื่องที่จะเรียกฟังก์ชั่น" สเปคมีโอกาสที่แตกต่างกัน1
การพูดอย่างเคร่งครัดลายเซ็นของฟังก์ชั่น (หรือวิธีการ) ไม่ใช่คำที่สอดคล้องกัน2, 3แม้จะอยู่ในภาษาเดียวกัน 4, 5, 6, 7 แต่มันก็เกือบจะเป็นคำที่คุณมองหาเพราะโปรแกรมเมอร์เกือบทุกคนจะเข้าใจ
language-agnostic
ตัวอย่าง C ++ นั้นเป็น (A) ที่เกี่ยวข้องกับฉันและ (B) เป็นตัวอย่างของความสับสนที่มักจะล้อมรอบคำศัพท์ของมนุษย์
ฉันเชื่อว่าคำว่า "สัญญา" มันกำหนดอินเทอร์เฟซและสิ่งที่คาดว่าจะเรียกและ callee; อย่างไรก็ตามมันยังครอบคลุมสิ่งต่าง ๆ เช่นค่าพารามิเตอร์ที่อนุญาตซึ่งไม่ใช่สิ่งที่หลายภาษาอนุญาตให้กำหนดโดยฟังก์ชันหรือคำจำกัดความของคลาสดังนั้นคำว่า "สัญญา" อาจกว้างกว่าความหมายที่คุณหมายถึง ฉันเคยเห็นมันในหนังสือเชิงวัตถุและ Java programming programming เฉพาะหลาย ๆ ตัว ฉันไม่แน่ใจว่าเฉพาะ Java หรือไม่ แต่ฉันไม่เห็นว่าทำไมต้องเป็น ลายเซ็นเป็นคำที่ใช้กันทั่วไปอื่น ๆ แต่ฉันก็ชอบ "สัญญา"