Quali tecniche posso utilizzare in Scala per gestire elenchi di parametri di tipo lungo?Scala: come lavorare con elenchi di parametri di tipo lungo
Sto lavorando su un piccolo framework per l'esecuzione di vari tipi di giochi con diversi ambienti simulati. Sto cercando di mantenere alcune parti del framework relativamente generiche, quindi sto introducendo vari tipi come parametri di tipo, come lo stato dell'ambiente, il risultato del gioco, ecc.
Funziona tutto abbastanza bene e lo faccio ottenere i benefici desiderati da un framework sicuro per il tipo ma generico. Ma le firme di tipo sono cresciute al punto da rendere il codice piuttosto difficile da leggere e il refactoring è diventato piuttosto ingombrante. La firma del simulatore di livello superiore ha otto parametri di tipo e molti dei tipi principali hanno da tre a cinque. Errori del tipo di compilatore individuali, dal momento che elencano i tipi di parametri di classe o funzione (che naturalmente sono anche parametrizzati in base al tipo) sembrano eseguire regolarmente un centinaio di righe.
Occasionalmente, ma molto raramente, posso omettere i parametri del tipo, ad es. su costruttori. Ma nella maggior parte dei casi almeno uno dei tipi non viene dedotto, quindi finisco per dover inserire l'intero tipo di firma.
Ovviamente questo non è l'ideale e sto cercando modi per risolvere questo problema. Tutto il consiglio sarebbe apprezzato!
poche linee di codice di esempio sono sempre apprezzati;) – agilesteel
È un problema molto generale. Non sono sicuro che il codice di esempio aggiungerebbe molto valore. Sono solo le solite cose: tratti, classi, funzioni, ognuno con parametri di tipo, campi/membri anche con parametri di tipo. –