Sin dar demasiado lejos, estoy haciendo un objeto que tiene 9 atributos. Vamos a utilizar un juego de rol por ejemplo.
float strength, constitution, fortitude, dexterity, intelligence, charisma, wisdom, willpower, perception;
Dado que el objeto se llama jugador, el constructor de
public Player(float strength, float constitution, float fortitude, float dexterity,
float intelligence, float charisma, float wisdom, float willpower, float perception){}
Según SonarLint: "Constructor tiene 9 parámetros, que es mayor que 7 autorizado."
Aunque sé que SonarLint diciendo que no se detiene el código realmente funciona, si hay una manera "correcta" de hacer frente a estas situaciones, me gustaría saber!
Gracias
Ps, si este es el foro equivocado para una pregunta, por favor me apuntan hacia la correcta!
Lo ideal sería dividir la clase en unidades más pequeñas y componer.
En este caso, ya que parecen ser todas del mismo tipo de cosas, un Map
(específicamente EnumMap
) que parece ser apropiada.
Como último recurso, no es el Builder.
Player player = Player.builder()
.strength( )
.constitution( )
// ...
.perception( );