Почему переменные типа для обобщений обычно объявляются одной буквой (например: <T>)? - PullRequest
3 голосов
/ 30 марта 2019

Для каждого примера в общей документации TypeScript и в большинстве файлов с определениями типов, с которыми я сталкивался, переменные типа объявляются одной буквой, обычно <T>.

Пример:

function identity<T>(arg: T): T {
    return arg;
}

Вопросы:

  • почему переменные типа для обобщений обычно объявляются как одна буква?
    • каковы причины для этого?
    • имеет ли она цель, отличную от условности и краткости?
  • Каковы плюсы и минусы использования более описательных имен?

1 Ответ

4 голосов
/ 30 марта 2019

Документы Java для Общих типов имеют действительно хороший параграф об этом - и это относится ко всем языкам, которые поддерживают переменные типа:

Соглашения об именовании параметров типа

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

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

....

T - Тип

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

Документы Microsoft по C ++ и C # также имеют это соглашение.

...