que acabo de escribir este método:¿Olor del código? - las variables de ajuste con + - 1
private String getNameOfFileFrom(String path)
{
int indexOfLastSeparator = path.lastIndexOf('/');
if (indexOfLastSeparator > -1)
{
return path.substring(indexOfLastSeparator + 1);
}
else
{
return path;
}
}
La línea que me molesta es:
return path.substring(indexOfLastSeparator + 1);
¿Eso es una mala práctica para modificar la expresión en línea así? Las sugerencias sobre cómo refactorizar para aumentar la legibilidad serían bienvenidas.
---- Editar ---- Aceptar actualización después de los comentarios. Gracias a todos por responder :) No estoy buscando realmente cambiar el valor de la variable en absoluto solo la expresión en que se usa.
Otro publicado me sugirió que podría partir esa parte de la expresión como en el segundo fragmento de código a continuación. Mejor/peor/sin diferencia? :) Estoy empezando a sospechar que estoy siendo excesivamente prudente aquí.
return path.substring(indexOfLastSeparator + 1);
o
int indexOfFirstCharInFileName = indexOfLastSeparator + 1;
return path.substring(indexOfFirstCharInFileName);
No creo que haya un problema con ++ variable. Eliminé mi respuesta porque su pregunta es independiente del idioma. Pero si estás escribiendoNET, debe usar la clase System.IO.Path para su lógica de análisis de ruta de archivo. – Will
El operador ++ no es relevante aquí, ya que la variable en sí misma no se está modificando. –
Respondió a alguien que eliminó su comentario ... – Will