31 votos

Código de sugerencias por Resharper hacer que el código menos legible?

Mientras intenta llegar a todos los verdes, tengo la siguiente sugerencia por Resharper.

Código Original:

    static public string ToNonNullString(this XmlAttribute attr)
    {
        if (attr != null)
            return attr.Value;
        else
            return string.Empty;
    }

Sugerencia: quitar redundante 'else', resultando en los siguientes:

    static public string ToNonNullString(this XmlAttribute attr)
    {
        if (attr != null)
            return attr.Value;
        return string.Empty;
    }

Para mí, la propuesta de versión parece menos legible que la original. ¿Resharper sugerencia de reflejar la definición de buen código sostenible?

47voto

MrWiggles Puntos 6622

Técnicamente Resharper es correcta, ya que la "cosa" es innecesario, yo prefiero la versión anterior, aunque la intención es más que obvio.

Habiendo dicho eso, prefiero ir con:

return attr != null ? attr.Value : string.Empty;

30voto

Jeffrey Hantin Puntos 19272

Ah, código de la estética. Santo tiempo de la guerra. (los patos)

Me gustaría ir con una ?: expresión:

return attr != null ? attr.Value : String.Empty

o invertir el si y eliminar el salto de línea para producir un guardia de la cláusula:

if (attr == null) return String.Empty;

return attr.Value;

20voto

Andrey Shchekin Puntos 7740

Creo que la nueva versión es mucho mejor si usted invertir el si

static public string ToNonNullString(this XmlAttribute attr)
{
    if (attr == null)
        return string.Empty;

    return attr.Value;
}

Debido a que su versión original es demasiado simétrica, mientras null caso es un caso especial.

La nueva versión es más fácil de leer en los términos de "lo que hace es devolver la mayor parte del tiempo?".

11voto

cbp Puntos 9676

Estoy de acuerdo en que la primera versión de su código es más legible.

He encontrado Resharper sugerencias, en estos casos no siempre sea útil, aunque a veces puede limpiar las cosas. Por eso he configurado Resharper para mostrar el cambio como una "Sugerencia" en lugar de "Sugerencia". Esto hace que el subrayado verde para ser menos visible y no será resaltado en la barra lateral derecha.

7voto

petr k. Puntos 4890

Si no te gusta la forma en que ReSharper sugiere algo, sólo tiene que desactivar la sugerencia específica (barra de advertencia de la barra de sugerencia). Lo mismo va para el estilo de codificación, que creo que es bastante configurable. Alegando ReSharper a ser inutilizable (citando "estoy feliz de decir que no sobrevivió, aquí nadie es utilizar nunca más") sólo porque usted no tome 5 minutos para saber cómo configurar es simplemente una estupidez.

Por supuesto, usted no debe dejar que la herramienta de dictar alguna parte de tu estilo de codificación, y ReSharper es NO hacer que si le dices que no. Es así de simple.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X