156 votes

Convention de nommage des paramètres de type générique pour Java (avec plusieurs caractères)?

Dans certaines interfaces que j'ai écrit, j'aimerais nom de paramètre de type générique avec plus d'un caractère pour le rendre le code plus lisible.

Quelque chose comme....

Map<Key,Value>

Au lieu de cela...

Map<K,V>

Mais quand il s'agit de méthodes, le type des paramètres de ressembler à java-cours, ce qui est également source de confusion.

public void put(Key key, Value value)

Cela semble être la Clé et la Valeur sont des classes. J'ai trouvé d'ou l'idée d'certaines notations, mais rien de tel qu'une convention de soleil ou les meilleures pratiques.

Alternatives je guesed de ou le trouvé...

Map<KEY,VALUE>
Map<TKey,TValue>

218voto

BalusC Points 498232

Oracle recommande ce qui suit en Java Tutoriels > Génériques > Types Génériques:

Paramètre De Type Conventions De Nommage

Par convention, les noms de paramètre de type sont célibataires, des lettres majuscules. Ceci est en contraste par rapport à la variable de nommage des conventions que vous connaissez déjà, et avec raison: Sans cette convention, il serait difficile de faire la différence entre une variable de type et une classe ordinaire ou nom de l'interface.

Le plus couramment utilisé des noms de paramètre de type sont:

  • E - Élément (largement utilisé par le Java Collections Cadre)
  • K - Clé
  • N - Nombre
  • De Type T
  • V - Valeur
  • S,U,V etc. - 2ème, 3ème, 4ème types

Vous allez voir ces noms utilisés tout au long de l'API Java SE et le reste de cette leçon.

J'avais de le tenir pour éviter la confusion entre les développeurs et les possibles responsables.

16voto

Tom Carchrae Points 3322

Vous pouvez utiliser javadoc pour au moins donner un indice aux utilisateurs de votre classe générique. Je ne l’aime toujours pas (je suis d’accord avec @ chaper29), mais la documentation est utile.

par exemple,

 /**
 * 
 * @param <R> - row
 * @param <C> - column
 * @param <E> - cell element
 */
public class GenericTable<R, C, E> {

}
 

L’autre chose que j’ai connue est d’utiliser mon IDE pour refactoriser une classe qui enfreint la convention. Ensuite, travaillez sur le code et refactorisez en lettres simples. Cela me rend plus sain d'esprit de toute façon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X