128 votes

Une variable de chemin d'accès à un répertoire doit-elle se terminer par une barre oblique ?

Lorsqu'un chemin d'accès à un répertoire est défini comme variable ou constante, doit-il se terminer par une barre oblique ? Quelle est la convention ?

pwd sous Unix affiche votre répertoire actuel sans barre oblique, tandis que la tabulation complète de cd /var/www/apps/ inclut la barre oblique, ce qui m'a laissé dans l'incertitude.

4voto

maxp Points 5053

Oui, il existe de nombreux systèmes de fichiers qui prennent en charge les fichiers sans aucune extension. Il convient donc de toujours ajouter la barre oblique finale pour éviter tout problème.

4voto

Duncan Points 1196

La convention doit être cohérente. Il est important de comprendre que la question de savoir si le / appartient au répertoire ou au nom de fichier est une fausse dichotomie ; il n'appartient ni à l'un ni à l'autre car il s'agit d'un chemin d'accès séparateur .

La bonne réponse, IMO, est que vous devriez, dans la mesure du possible, utiliser les bibliothèques de manipulation de chemins si elles sont fournies par votre langage (ou écrire les vôtres), et ignorer la structure interne d'un chemin simplement parce qu'il ressemble à une chaîne de caractères. Cela élimine le problème de savoir où placer la barre oblique et rend votre code plus portable d'un système à l'autre.

2voto

Bevan Points 20976

Je n'ai jamais vu de convention ferme dans un sens ou dans l'autre.

Il est à peu près certain que, quelle que soit la décision que vous prendrez, quelqu'un d'autre sera convaincu à 100 % que la situation devrait être inversée. La meilleure idée est donc de tolérer que les choses soient fixées d'une manière ou d'une autre.

Dans le monde .NET, Path.Combine() permet de gérer cette situation - il existe des équivalents dans d'autres environnements, à partir des fichiers cmd.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X