Почему нам нужно указывать имя параметра в интерфейсе?
Когда мы создаем методы интерфейса, не можем ли мы сделать что-то вроде java:
void interface_method(Integer,String, /* other parameter */);
Вместо этого я заметил, что нам также нужно указать имена параметров lile:
void interface_method(Integer i, String s);
Также разработчику интерфейса не нужно иметь такое же имя параметра, как в методе интерфейса.
Я нашел аналогичный вопрос о С# над здесь. Они упоминают один сценарий с именем параметра, но я не нашел в JavaScript никакой другой важной причины.
Ответы
Ответ 1
С технической точки зрения это было бы необязательно.
Я всегда воспринимал это как нормализацию синтаксиса и помощь в документации.
Таким образом:
- Нет причин различать синтаксис метода класса и интерфейса и
- Документация по умолчанию Javadoc может быть сгенерирована с использованием имени параметра (описательного!).
Ответ 2
Без имен параметров очень сложно различать параметры одного и того же типа.
double divide(double, double);
В Конвенции говорится, что вторым параметром будет делитель. Но с именованными параметрами он ясен и намного яснее. В свою очередь, документация может четко использовать имена, а вместо этого должна постоянно указывать "первый параметр" или "второй параметр" при попытке объяснить, как должен использоваться метод и что каждый параметр должен представлять.
Ответ 3
Мое занятие:
-
В спецификациях языка для параметров есть имена;
-
Интерфейс, являющийся интерфейсом, имена помогают сообщать о значении;
-
Интерфейс на самом деле не является прямым объявлением реализации, которое будет следовать, как в C/С++, поэтому сравнение не совсем корректно;