Al menos, envuelva su estructura de datos "huele mal" en una clase, de modo que pueda encapsular su implementación al proporcionar una API limpia para consultar/modificar los datos sin que el código del cliente tenga dudas sobre los detalles de almacenamiento.
A continuación, podrá cambiar la implementación de la estructura de datos en cualquier momento en el futuro. Si no hace esto ahora, puede arrepentirse más tarde cuando tenga 10 o 100 veces más código de cliente, y es demasiado costoso/doloroso para refactorizar.
Puede que mientras lo mantenga encapsulado ordenadamente, y funciona, el hecho de que sienta que huele mal no es realmente relevante, siempre que el código haga lo que necesita hacer y que sea fácil de mantener, allí no tiene sentido invertir mucho más tiempo en ello.(No estoy abogando por mantener el código sucio, pero tenemos que equilibrar las realidades comerciales con nuestro deseo de lograr la perfección teórica; si el código funciona y no está causando ningún problema, puede que no siempre sea un buen uso de su tiempo para mejorar o refactorizar. en lugar de ello, es posible que simplemente neutralizar los riesgos mediante el encapsulado en una clase y aislar la aplicación sucia de sus clientes es suficiente por ahora)
creo que este es un olor código, pero que merece un upvote para tanta autoconciencia – jwiscarson
¿está permitido decir "Yo dawg .."? : p – bertzzie
@bertzzie: Pensé en eso yo mismo, pero no puedo encontrar uno razonablemente divertido ya que estoy demasiado ocupado puliendo mi nuevo diamante :) – BoltClock