Presque tous les principaux langages de programmation ont une bibliothèque pour gérer les séparateurs de répertoires pour vous. Vous devriez les exploiter. Cela simplifiera votre code et évitera les bugs .
D'après mon expérience, la raison habituelle pour combiner des chaînes de ce type est qu'elles proviennent de sources différentes. Parfois, il s'agit de pièces différentes d'un fichier de configuration. Parfois, c'est une combinaison constante avec un argument de fonction. Dans tous les cas, quand ils proviennent de sources différentes, vous devez considérer plusieurs cas possibles concernant les séparateurs aux extrémités à combiner:
- Les deux extrémités pourraient avoir un séparateur:
"images/"
et"/sounds"
- Un seul a un séparateur:
"images"
et "/sounds"
ou "images/"
et"sounds"
- Ni un séparateur:
"images"
et"sounds"
Le fait que chaque partie provienne d'une source différente signifie que chaque source peut avoir ses propres idées sur les conventions à suivre, si quelqu'un y réfléchit du tout! Tout ce qui appelle votre code ne devrait pas avoir à s'inquiéter de cela . Votre code doit gérer tous les cas, car quelqu'un violera votre convention . Cela se traduira par une perte de temps pour rechercher la cause d'une erreur et apporter une solution. À plusieurs reprises, un collègue a supposé que les chemins d'accès devaient être formatés dans un fichier de configuration, ce qui signifiait que je devais rechercher le code et déterminer ce à quoi il s'attendait (ou le corriger).
La plupart des langues principales fournissent une méthode pour le faire pour vous, qui gère déjà de nombreux cas:
Il y a une mise en garde avec ceux-ci. Un certain nombre d'entre eux semblent supposer qu'un séparateur de répertoire en tête dans le deuxième argument fait référence à un chemin racine, ce qui signifie que le premier argument doit être entièrement supprimé. Je ne sais pas pourquoi c'est considéré comme utile. pour moi, cela ne fait que poser des problèmes. Je n'ai jamais voulu combiner deux portions de chemin et finir par abandonner la première. Lisez attentivement la documentation pour les cas particuliers et, si nécessaire, écrivez un wrapper qui fait ce que vous voulez avec ceux-ci au lieu de leur traitement spécial.
Cela aide également si vous avez besoin de prendre en charge différents systèmes d'exploitation. Presque partout, ces classes expliquent le choix du bon séparateur. Les bibliothèques disposent généralement d’un moyen de normaliser les chemins pour s’adapter aux conventions du système d’exploitation.
Au cas où votre langage de programmation ne dispose pas d'une bibliothèque facilement disponible, vous devez écrire une méthode qui gère tous ces cas et l'utiliser de manière libérale et entre projets.
Cela tombe dans la catégorie "ne faites pas de suppositions" et "utilisez des outils qui vous aident".