2017-03-14 2 views
0

Si j'ai un class ou case class dont les paramètres sont assez longtemps pour ne pas tenir dans une seule ligne comme:Quelle est la convention pour nommer une classe (case) avec des valeurs de paramètre longues?

case class Foo(foo1: String, foo2: String, foo3: Int, foo4: Char, foo5: Long, foo6: Double, foo7: Array[Int]) 

Pour améliorer la lisibilité, comment faut-il plusieurs lignes découpé en? Y a-t-il une convention pour cela dans Scala?

+1

Je mets chacun sur sa propre ligne. Cela rend facile de voir ce qui a changé dans un diff. – Metropolis

+3

Utilisez le guide de style Scala pour en savoir plus sur les conventions de style, en particulier sur cette page http://docs.scala-lang.org/style/declarations pour en savoir plus sur les déclarations de classe. –

Répondre

0

Pour les auto-formatteurs à Scala que je l'ai vu, si vous cassez en plusieurs lignes à tout le formatter fera ceci:

case class Foo(
    foo1: String, 
    foo2: String, 
    foo3: Int, 
    foo4: Char, 
    foo5: Long, 
    foo6: Double, 
    foo7: Array[Int] 
) 

Vous pouvez également envisager si l'un de ces paramètres peut être regroupé dans une classe de cas de leur choix, ce qui réduit le nombre de paramètres.

+0

Merci pour la considération, j'ai posté cette réponse parce que j'utilisais __IntellJ IDEA__ et il a été formaté en alignant 'Foo (' et non indenté deux la gauche comme réponse.) Dans le Guide de Style Scala partagé par @ yuriy-gatilin dans un commentaire dit que pour les classes il devrait être mieux une indentation de quatre espaces au lieu de deux. –