Parece que los desarrolladores anteriores del proyecto actual con el que estoy trabajando se enteraron de que el final de su tiempo se acercaba y decidieron para crear un código que funcione pero que sea inmanejable para ser una molestia para cualquiera que se ocupe de ello a continuación. Lamentablemente, soy dicha persona.Estoy buscando una herramienta gratuita independiente o complementario, que pueda descomponer expresiones ternarias
En todo el código estoy encontrando expresiones ternarias multi-conditional. Se está convirtiendo en un dolor de cabeza para traducir y re-escribir/refactorizarlos.
¿Alguien sabe de una herramienta gratuita, independiente o como un complemento para VS 2008, que puede descomponer expresiones ternarias? No hay presupuesto para CodeRush en este proyecto. Continuaré re-codificando si es necesario, pero estoy tratando de tener un poco de esperanza aquí.
Aquí hay un ejemplo del problema (lo siento por hacerte ver esto).
sNoteType = objSelection.Items[1].Selected ?
objSelection.Items[0].Selected ?
objSelection.Items[3].Selected ?
objSelection.Items[4].Selected ?
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LT " :
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "BA " :
objSelection.Items[4].Selected ?
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LT " :
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LS " :
objSelection.Items[3].Selected ?
objSelection.Items[4].Selected ?
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LT " :
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "BA " :
objSelection.Items[4].Selected ?
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LT " :
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "FD " :
objSelection.Items[0].Selected ?
objSelection.Items[3].Selected ?
objSelection.Items[4].Selected ?
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LT " :
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "BA " :
objSelection.Items[4].Selected ?
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LT " :
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LS " :
objSelection.Items[3].Selected ?
objSelection.Items[4].Selected ?
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LT " :
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "BA " :
objSelection.Items[4].Selected ?
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "LT " :
objSelection.Items[5].Selected ?
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty + "EV " :
objSelection.Items[2].Selected ?
string.Empty + "OV " :
string.Empty;
Ouch. Eso es todo lo que tengo. Lo siento. –
Es posible que desee publicar esto en The Daily WTF. –
Tanto CodeRush como ReSharper tienen pruebas gratuitas de sus productos que deberían ser lo suficientemente largas para que pueda limpiar este código. También puede justificar la compra de una licencia a su administración en función de su productividad al limpiar la base de códigos. – tawman