Recentemente ho dovuto lavorare con un SDK che aveva un sacco di parti pazzesche *. Non usare l'SDK non era un'opzione in quanto doveva parlare con alcuni software di terze parti.
Qual è il modo migliore per gestire il codice pazzo? Generalmente ho utilizzato metodi statici per convertire i tipi di dati sensibili nel formato richiesto (ad esempio bool in yesNo). Questo metodo ha tuttavia portato a un sacco di chiamate a metodi statici molto non ingegnosi (quale dei tre metodi dateToString dovrebbe essere chiamato dove?)
Sarebbe un approccio migliore memorizzare quasi tutto come una stringa nel database? O eventualmente convertire ogni tipo di dati in linea in modo che sia chiaro (anche se con codice ripetuto). Forse c'è qualche altra soluzione elegante che non avevo pensato?
* Alcuni metodi richiedevano un enum chiamato yesNo che conteneva "Yes", "y", "No" e "n". C'erano anche diversi formati di stringa differenti che volevano rappresentare i dati utilizzati in modo incoerente. C'erano anche altri piccoli pezzi di codice pazzo.