Комментарии 12
Отдельный плюс за генерик-параметры конструктора :-) В восьмёрке генерик параметров в целом стало существенно больше. Вон, навскидку
java.util.stream.AbstractTask<P_IN, P_OUT, R, K>
— четыре параметра, и среди его наследников ещё с полдюжины таких. А какой-нибудь java.util.stream.Collectors.groupingBy(Function<? super T, ? extends K>, Supplier<M>, Collector<? super T, A, D>)
имеет целых пять генерик-параметров.+1
Ага, по поводу последнего любят твитить в стиле «вы можете понять сигнатуру этого метода? Java превратилась в адЪ»
0
А я как-то привык уже. Сам пишу в таком духе :-) Вон меня на SO сам Stuart Marks плюсанул за 6 генерик-параметров. По факту в какой-то момент щёлкает в голове, и потом уже это не выглядит сложно.
+1
Аналог этого в C# тоже по сигнатуре выглядет страшно :)
IEnumerable<TResult> GroupBy<TSource, TKey, TElement, TResult>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<TKey, IEnumerable<TElement>, TResult> resultSelector, IEqualityComparer<TKey> comparer)
0
Поля, конечно, стоило поделить на статичные и нестатичные. Одно дело, когда класс типа
java.awt.PageAttributes.MediaType
, который просто набор констант, а другое — действительно адский по числу полей javax.swing.plaf.nimbus.FileChooserPainter
.+1
О чем думали люди, которые делали конструктор с 18-ю параметрами…
java.awt.Event с 80+ полей тоже порадовал, на каких же там костылях все работает, и с чем же боролись эти парни, ведь рекордсмен по интерфейсам java.awt.AWTEventMulticaster тоже с событиями связан!
java.awt.Event с 80+ полей тоже порадовал, на каких же там костылях все работает, и с чем же боролись эти парни, ведь рекордсмен по интерфейсам java.awt.AWTEventMulticaster тоже с событиями связан!
-1
Это внутренние детали реализации. Для них важно быть не столько красивыми, сколько быстрыми. Вообще-то куски Java и на ассемблере написаны, это тоже не очень красиво кому-то покажется =)
+1
Ну и, кстати, в
java.awt.Event
всего 12 полей. Остальное — статические константы, описывающие типы событий. Из 12 полей большинство выглядит разумными. Косяк только в том, что они по большей части публичные и не финальные.0
НЛО прилетело и опубликовало эту надпись здесь
Такое впечатление, что в «типовых параметрах методов» чего-то не хватает.
Декларация generic-параметров есть, а использования не видно. Да и пробелы после запятых не помешали бы.
Возможно, SWING и AWT стоило исключить из анализа? Они сильно зашумляют результаты.
Декларация generic-параметров есть, а использования не видно. Да и пробелы после запятых не помешали бы.
Возможно, SWING и AWT стоило исключить из анализа? Они сильно зашумляют результаты.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Публикации
Изменить настройки темы
Статистика кода JDK 7