Универсальное соглашение о присвоении имен параметра типа для Java (с несколькими символами)?

В некоторых интерфейсах я записал, что хотел бы назвать универсальные параметры типа больше чем с одним символом для создания кода более читаемым.

Что-то как....

Map<Key,Value>

Вместо этого...

Map<K,V>

Но когда дело доходит до методов, параметры типа похожи на классы Java, который также сбивает с толку.

public void put(Key key, Value value)

Это кажется, что Ключ и Значение являются классами. Я нашел или думал о некоторых нотациях, но ничем как конвенция от Sun или общей лучшей практики.

Альтернативы я предположил или нашел...

Map<KEY,VALUE>
Map<TKey,TValue>
117
задан christopheml 29 January 2018 в 15:06
поделиться

1 ответ

Oracle рекомендует следующее в Java Tutorials > Generics > Generic Types:

Type Parameter Naming Conventions

По соглашению, имена параметров типов - это одиночные заглавные буквы. Это резко контрастирует с соглашениями об именовании переменных имен, о которых вы уже знаете, и на то есть веские причины: Без этого соглашения было бы трудно отличить переменную типа от обычного имени класса или интерфейса.

Наиболее часто используемые имена параметров типа:

  • E - Element (широко используется в Java Collections Framework)
  • K - Key
  • N - Number
  • T - Type
  • V - Value
  • S,U,V и т.д. - 2-й, 3-й, 4-й типы

Вы увидите эти имена, используемые во всем API Java SE и в остальной части этого урока.

Я бы придерживался их, чтобы избежать путаницы среди разработчиков и возможных сопровождающих.

174
ответ дан 24 November 2019 в 02:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: