Tengo el siguiente método que encontré en una revisión del código. Dentro del circuito, Resharper me dice que if (narrativefound == false)
es incorrecto porque narrativeFound
es siempre verdadero. No creo que este sea el caso, porque para establecer narrativeFound
en true, primero tiene que pasar la cadena condicional comparar, entonces, ¿cómo puede ser siempre cierto? ¿Me estoy perdiendo de algo? ¿Es esto un error en Resharper o en nuestro código?¿Hay código inalcanzable en este fragmento? No lo creo, pero Resharper me dice lo contrario
public Chassis GetChassisForElcomp(SPPA.Domain.ChassisData.Chassis asMaintained, SPPA.Domain.ChassisData.Chassis newChassis)
{
Chassis c = asMaintained;
List<Narrative> newNarrativeList = new List<Narrative>();
foreach (Narrative newNarrative in newChassis.Narratives)
{
bool narrativefound = false;
foreach (Narrative orig in asMaintained.Narratives)
{
if (string.Compare(orig.PCode, newNarrative.PCode) ==0)
{
narrativefound = true;
if (newNarrative.NarrativeValue.Trim().Length != 0)
{
orig.NarrativeValue = newNarrative.NarrativeValue;
newNarrativeList.Add(orig);
}
break;
}
if (narrativefound == false)
{
newNarrativeList.Add(newNarrative);
}
}
}
c.SalesCodes = newChassis.SalesCodes;
c.Narratives = newNarrativeList;
return c;
}
Parece alcanzable para mí. Podría ser una buena idea para escribir un caso de prueba y arrojar su arnés de prueba para ver si puede obtener cobertura de código de todos modos. ¿** Tienes ** pruebas, ¿verdad? :) –
No he encontrado nunca un "código inaccesible" de la resharper como incorrecto. Aunque a veces me ha tomado algunas reflexiones serias para descubrir por qué. No estoy diciendo que siempre debas confiar en resharper y borrar lo que sea que te diga que puedes borrar de manera segura, pero no llegues a la conclusión de que es incorrecto. un paso de depuración de este código le habría mostrado lo que estaba pasando. –
Parece que el error aquí es al interpretar el código de error, parece que el error "Código extraño" hubiera sido más útil que "Código inalcanzable". – SwDevMan81