Le Google Java Style Guide ne répond pas directement, mais je suis d'accord avec la façon dont ils ont mis en forme des choses dans Goyave, à savoir
En com.google.common.collect.Collections2.transform:
public static <F, T> Collection<T> transform(
Collection<F> fromCollection, Function<? super F, T> function) {
return new TransformedCollection<>(fromCollection, function);
}
Dans com.google.common.collect.ImmutableRangeMap.toImmutableRangeMap
public static <T, K extends Comparable<? super K>, V>
Collector<T, ?, ImmutableRangeMap<K, V>> toImmutableRangeMap(
Function<? super T, Range<K>> keyFunction,
Function<? super T, ? extends V> valueFunction) {
return CollectCollectors.toImmutableRangeMap(keyFunction, valueFunction);
}
I pense que les règles sont:
- (Essayez de le garder sur une ligne si possible)
- Pause après le nom de la méthode et croisillon
- Indentation les paramètres d'un niveau supplémentaire pour les distinguer du corps
Personnellement, je préfère briser après chaque paramètre si je dois rompre du tout, par exemple
public static Foo makeFoo(
Foo foo,
Bar bar,
Baz baz)
throws FooException {
f();
}
Malheureusement, je ne pense pas que je peux m'en tirer parce que c'est un point de terminaison SOAP pour un service web, mais néanmoins très instructif. – abarax
Vous pouvez absolument utiliser cette technique, même pour les services Web. Vous devez rendre votre classe sérialisable, et potentiellement déployer le schéma en fonction de ce que vous utilisez pour héberger des services Web (axe, par exemple exigera que je crois, alors qu'asp.net le gérera pour vous) – Jeremy
Le modèle de générateur est utile, bon conseil! Pour une domination totale du monde (sécurité du thread), assurez-vous que la méthode create copie tous les paramètres avant de les valider. (Aussi, astuces mineures: utilisez long au lieu de Lon, int au lieu de Integer et fournissez des méthodes getter/setter.) – volley