76 votes

Que signifie la convention de nommage "de" en Java?

Comme nous pouvons le voir dans Java 8, il existe de nombreuses méthodes nommé 'de', comme Stream.of(), Optional.of(), et de nombreuses bibliothèques comme actorOf en Akka.

Qu'est-ce "de" signifie? Est-ce le mot anglais "de" ou d'une abréviation pour quelque chose comme "Objet d'Usine"?

103voto

Chris Martin Points 5195

C'est un mot anglais, oui. Il est généralement choisi pour que l'expression se lise comme une phrase anglaise. Par exemple, Stream.of(3, 4) est supposé ressembler à "un flux de trois et quatre", ce qui revient un peu à une version abrégée de "un flux composé des nombres trois et quatre".

41voto

sanit Points 996

Car, traditionnellement, si vous regardez dans les classes wrapper, ils contiennent tous de l' valueOf(XXX) méthode pour créer une instance de la classe wrapper de ce type de valeur.

Integer.valueOf(int)
Double.valueOf(double)
Float.valueOf(float)

Java est à la suite de cette convention de nommage de 1 jour. De même, la plupart de Java 8 mis en place des cours contient cette of(...) méthode fortement.

Stream.of(...)
LocalDate.of(year, month, dayOfMonth)
Instant.ofEpochSecond(epochSecond)
and many more.

Il n'y a pas seulement valueOf ou of méthodes disponibles, il a quelques méthodes qui sert un but précis ou un type de tâche à l'intérieur de différentes classes et ils ont attribué avec un meilleur nom approprié représentant la tâche.

  • parseXXX(): Pour l'analyse de chaîne de caractères d'entrée. Exemples: Integer.parseInt(str), Double.parseDouble(), Date.parse(datestr) etc
  • get(champ): Récupération d'un champ d'informations de l'objet. Exemple: Calendar.get(field), LocalDate.get(TemporalField) etc.
  • format(): la Conversion de différentes représentation. Exemple: String.format(), SimpleDateFormat.format(), DateTimeFormatter.format() etc

Ces conventions de nommage sont fortement utilisées dans Java8 DateTime API. Découvrez cette Méthode Conventions de Nommage

33voto

Mick Mnemonic Points 6334

C'est une commune de la convention de nommage utilisée pour la statique de l'usine de méthodes.

Joshua Bloch mentions suivantes sur la structure et associés conventions de nommage dans Efficace Java (2e Édition), Article 1: Envisager statique usine méthodes à la place des constructeurs (italiques ajoutés):

... (a) l'inconvénient de la statique des méthodes de fabrique, c'est qu'ils ne sont pas faciles à distinguer des autres méthodes statiques. Ils ne se distinguent pas dans la documentation de l'API dans la façon dont les constructeurs n', de sorte qu'il peut être difficile de comprendre comment instancier une classe qui fournit statique usine méthodes à la place de les constructeurs. La Javadoc de l'outil peut-être un jour attirer l'attention à l'électricité statique méthodes de fabrique. En attendant, vous pouvez réduire cet inconvénient en en attirant l'attention à l'électricité statique dans les usines de la classe ou de l'interface des commentaires, et en adhérant à la commune des conventions de nommage. Voici quelques les noms statique usine méthodes:

  • valueOf-Retourne une instance qui a, grosso modo, la même valeur que ses paramètres. Statiques usines sont effectivement de conversion de type de méthodes.

  • of-Concise alternative à valueOf, popularisé par EnumSet (Point 32).

...

Donc, comme d'autres l'ont souligné, "de" signifie que le mot anglais "de", et n'est pas une abréviation. Mais l'une des raisons pour l'utilisation de cette convention est de rendre plus facile pour savoir si une classe fournit une méthode statique car les usines ne pas afficher dans une section distincte de la documentation Javadoc (par rapport aux constructeurs).

Un avantage supplémentaire, à mon avis, avec l'aide de manière concise et desciptively nommé statique des usines, c'est qu'il rend le code de lecture comme de la prose, qui n'est pas le cas si il est jonché de new constructeur appelle.

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