Я впевнений, що існує спеціальна назва для "специфікації" функції / методу. Це слово, на яке посилається
- скільки аргументів потрібно
- порядок аргументів
- які аргументи необов’язкові
Чи є для цього ім’я?
Я впевнений, що існує спеціальна назва для "специфікації" функції / методу. Це слово, на яке посилається
Чи є для цього ім’я?
Відповіді:
Зазвичай це називається підписом типу .
Підпис типу включає тип повернення функції, кількість аргументів, типи аргументів або помилки, які вона може повернути назад.
interface
у файлі заголовка (або в C / C ++) у заголовку (буквально називається а prototype
).
TL; DR Ви, мабуть, говорите про а підпис функції (або підпис методу), частиною якої є підпис типу.
Але насправді залежить від того, що ви вважаєте функцією "специфікацією". Я трактую це як "всю інформацію, необхідну програмісту для виклику функції". Сюди входить ім'я функції, тип параметра, порядок та необхідність, можливо, тип повернення та, можливо, навіть простір імен цієї функції.
Але від того, чи потрібні всі ці речі (або навіть чітко визначені), залежить від мови / середовища, яким ви користуєтесь. Крім того, якщо ви зміните визначення на "всю інформацію, необхідну машині для виклику функції", специфікація, ймовірно, різна 1 .
Строго кажучи, функція (або метод) підпису не є послідовним терміном 2, 3 навіть у межах однієї мови. 4, 5, 6, 7 Але це майже певне слово, яке ви шукаєте, тому що його зрозуміє практично будь-який програміст.
public
, static
і т.д.language-agnostic
, приклади C ++ є для мене (A) відповідними та (B) ілюстрацією того плутанини, яка так часто оточує людську термінологію,
Я вважаю, що термін - «контракт». Він визначає інтерфейс і те, що очікується від абонента та абонента; однак він також охоплює такі речі, як дозволені значення параметрів, які не є чимось, що багато мов дозволяють визначати за допомогою функції чи визначення класу, тому термін "контракт" може мати ширше значення, ніж те, що ви мали на увазі. Я бачив це в декількох об'єктно-орієнтованих та специфічних для програмування Java книгах. Я не впевнений, що це специфічно для Java, але я не розумію, для чого це потрібно. Підпис - це інший часто вживаний термін, але мені подобається "контракт".