Casi todos los principales lenguajes de programación tienen una biblioteca para manejar los separadores de directorios por usted. Deberías aprovecharlos. Esto simplificará su código y evitará errores .
En mi experiencia, la razón habitual para combinar cadenas como esta es que provienen de diferentes fuentes. A veces son piezas diferentes de un archivo de configuración. A veces es una combinación constante con un argumento de función. En todos y cada uno de los casos, cuando provienen de diferentes fuentes, debe considerar varios casos posibles diferentes con respecto a los separadores en los extremos que se combinarán:
- Ambos extremos podrían tener un separador:
"images/"
y"/sounds"
- Solo uno tiene un separador:
"images"
y "/sounds"
o "images/"
y"sounds"
- Ninguno tiene un separador:
"images"
y"sounds"
El hecho de que cada parte provenga de una fuente diferente significa que cada fuente podría tener sus propias ideas sobre qué convenciones seguir, ¡si alguien pensara en ello! Lo que sea que llame a su código no debería tener que preocuparse por esto . Su código debe manejar todos los casos porque alguien violará su convención . Esto dará como resultado una pérdida de tiempo investigando la causa de un error y solucionando el problema. He tenido varias ocasiones desagradables en las que un compañero de trabajo hizo una suposición acerca de cómo se deben formatear las rutas en un archivo de configuración, lo que significa que tuve que buscar el código y averiguar qué estaban esperando (o arreglar el código).
La mayoría de los idiomas principales proporcionan un método para hacerlo que ya maneja muchos de los casos:
Hay una advertencia con estos. Varios de estos parecen suponer que un separador de directorio principal en el segundo argumento se refiere a una ruta raíz y que esto significa que el primer argumento debe descartarse por completo. No sé por qué esto se considera útil; para mí, solo causa problemas. Nunca he querido combinar dos porciones de ruta y terminar con la primera parte que se descarta. Lea la documentación detenidamente para casos especiales y, si es necesario, escriba un contenedor que haga lo que quiera con estos en lugar de su manejo especial.
Esto también ayuda si tiene alguna necesidad de soportar diferentes sistemas operativos. Estas clases casi ubicuamente explican la elección del separador correcto. Por lo general, las bibliotecas también tienen una forma de normalizar rutas para adaptarse a las convenciones del sistema operativo.
En el caso de que su lenguaje de programación no tenga una biblioteca fácilmente disponible, debe escribir un método que maneje todos estos casos y usarlo libremente y en todos los proyectos.
Esto cae en la categoría de "no haga suposiciones" y "use herramientas que lo ayuden".