Общий синтаксис интерфейса: использование имен переменных - PullRequest
1 голос
/ 21 августа 2011

В таких языках, как Java и c #, когда вы объявляете интерфейс, параметры функций имеют имена переменных.Не могли бы вы сделать его более минимальным и иметь синтаксис, работающий так:

void Print( String );

Вместо текущего

void Print( String str );

Другой, чем читабельность, где переменные помогают определить, какие параметры предполагаетсябыть, есть ли причины требовать имена переменных на интерфейсах?

Пример читабельности:

void doSomething( long, long );

против

void doSomething( long id, long timeLimitMilli );

1 Ответ

0 голосов
/ 21 августа 2011

Исходя из моего теста, я бы сказал, что ответ "не бит":

. / A / Foo.java

public interface Foo {
    void run(int x);
}

. / B / Foo.java

public interface Foo {
    void run(int y);
}

Тогда

$ sha1sum ./a/Foo.class
7ae75c91f553e09e5a06d5630134e63d650d734e  ./a/Foo.class
$ sha1sum ./b/Foo.class
7ae75c91f553e09e5a06d5630134e63d650d734e  ./b/Foo.class

т.е. Java так мало заботится об именах параметров, которые полностью отбрасываются при компиляции.Это, по сути, комментарии.

...