Sappiamo tutti che è bene usare nomi di identificatori descrittivi. Tuttavia, la convenzione in Java è di usare una singola lettera per un identificatore di parametro di tipo. La maggior parte delle persone predefinite è T
, ma se hai a che fare con elementi in una raccolta, spesso vedi E
. Ora capisco come sia sensato usare identificatori a lettera singola per i parametri di tipo illimitato, dal momento che possono davvero essere qualsiasi cosa, quindi non ci sono informazioni che devono essere rappresentate dall'identificatore.
Ma supponiamo che tu abbia due parametri di tipo limitato, ad esempio T extends Iterable<Integer>
e S extends Consumer<Integer>
, non avrebbe più senso utilizzare identificatori più descrittivi di T
o S
in modo da non confonderli? Potresti essere in grado di farla franca usando, diciamo, I
e C
, ma le persone non sarebbero mai (nel mio mondo ideale) essere così concise con gli identificatori di variabili. Quindi, perché le persone sono così concise con gli identificatori dei parametri di tipo? Oppure la convenzione di identificatori di parametri di tipo a singolo carattere non è così pervasiva come immagino?