It seems the previous developers of the current project I’m working with decided to create some working yet unmanageable code.
Throughout the code I’m finding multi-conditional ternary expressions. It’s getting to be a headache to translate and re-write/refactor them.
Does anyone know of a free tool, standalone or as an add-in for VS 2008, that can decompose ternary expressions? There’s no budget for CodeRush on this project. I’ll continue re-coding if needed, but I’m trying to have a little hope here.
Here’s an example of the issue:
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;
CodeRush Xpress (free) does this and much more. See here.