Tôi khá chắc chắn có một tên đặc biệt cho 'spec' của một hàm / phương thức. Đó là một từ để chỉ
- phải mất bao nhiêu đối số
- thứ tự của các đối số
- đối số nào là tùy chọn
Có một cái tên cho điều đó?
Tôi khá chắc chắn có một tên đặc biệt cho 'spec' của một hàm / phương thức. Đó là một từ để chỉ
Có một cái tên cho điều đó?
Câu trả lời:
Thông thường điều này được gọi là một chữ ký loại .
Chữ ký loại bao gồm loại trả về của hàm, số lượng đối số, loại đối số hoặc lỗi mà nó có thể truyền lại.
interface
hoặc khai báo hàm C / C ++ trong tệp tiêu đề (được gọi là a prototype
).
TL; DR Có lẽ bạn đang nói về chữ ký hàm (hoặc chữ ký phương thức), một phần trong đó là chữ ký loại.
Nhưng thực sự phụ thuộc vào những gì bạn coi là một chức năng "spec". Tôi hiểu nó là "tất cả thông tin cần thiết cho một lập trình viên để gọi một hàm". Điều này bao gồm tên hàm, loại tham số, thứ tự và sự cần thiết, có thể là kiểu trả về và thậm chí có thể là không gian tên của hàm đó.
Nhưng liệu tất cả những thứ đó có được yêu cầu (hoặc thậm chí được xác định rõ hay không) tùy thuộc vào ngôn ngữ / môi trường bạn đang sử dụng. Ngoài ra, nếu bạn thay đổi định nghĩa thành "tất cả thông tin cần thiết cho một máy để gọi chức năng", thông số kỹ thuật có thể khác 1 .
Nói một cách chính xác, chữ ký hàm (hoặc phương thức) không phải là một thuật ngữ nhất quán, 2, 3 ngay cả trong cùng một ngôn ngữ. 4, 5, 6, 7 Nhưng gần như chắc chắn đó là từ bạn đang tìm kiếm, bởi vì nó sẽ được hầu hết mọi lập trình viên hiểu.
public
, static
, vvlanguage-agnostic
, các ví dụ C ++ có liên quan đến tôi và (B) minh họa cho sự nhầm lẫn thường bao quanh thuật ngữ của con người
Tôi tin rằng thuật ngữ này là "hợp đồng". Nó xác định giao diện và những gì mong đợi của người gọi và callee; tuy nhiên, nó cũng bao gồm những thứ như giá trị được phép của các tham số không phải là thứ mà nhiều ngôn ngữ cho phép được định nghĩa bởi hàm hoặc định nghĩa lớp, vì vậy thuật ngữ "hợp đồng" có thể có nghĩa rộng hơn nghĩa của bạn. Tôi đã thấy nó trong một số sách lập trình cụ thể và hướng đối tượng Java. Tôi không chắc nó có cụ thể về Java hay không nhưng tôi không hiểu tại sao nó lại cần phải như vậy. Chữ ký là thuật ngữ thường được sử dụng khác nhưng tôi đã thích "hợp đồng".