Nahezu jede wichtige Programmiersprache verfügt über eine Bibliothek, die die Verzeichnisseparatoren für Sie verwaltet. Sie sollten sie nutzen. Dies vereinfacht Ihren Code und beugt Fehlern vor .
Nach meiner Erfahrung ist der übliche Grund für das Kombinieren solcher Zeichenfolgen, dass sie aus verschiedenen Quellen stammen. Manchmal sind es andere Teile aus einer Konfigurationsdatei. Manchmal ist es eine Konstante, die mit einem Funktionsargument kombiniert wird. In jedem Fall müssen Sie, wenn sie aus verschiedenen Quellen stammen, verschiedene mögliche Fälle in Bezug auf die zu kombinierenden Trennzeichen an den Enden berücksichtigen:
- Beide Enden könnten ein Trennzeichen haben:
"images/"
und"/sounds"
- Nur einer hat ein Trennzeichen:
"images"
und "/sounds"
oder "images/"
und"sounds"
- Weder hat ein Trennzeichen:
"images"
und"sounds"
Die Tatsache, dass jeder Teil aus einer anderen Quelle stammt, bedeutet, dass jede Quelle ihre eigenen Vorstellungen darüber hat, welche Konventionen zu befolgen sind, wenn sich jemand Gedanken darüber macht! Was auch immer Ihren Code aufruft, sollte sich darüber keine Sorgen machen müssen . Ihr Code sollte alle Fälle behandeln, da jemand gegen Ihre Konvention verstößt . Dies führt zu Zeitverschwendung bei der Untersuchung der Fehlerursache und der Behebung. Ich hatte einige unangenehme Fälle, in denen ein Mitarbeiter eine Annahme darüber machte, wie Pfade in einer Konfigurationsdatei formatiert werden sollten, was bedeutete, dass ich nach dem Code suchen und herausfinden musste, was sie erwarteten (oder den Code reparieren).
Die meisten Hauptsprachen bieten eine Methode, um dies für Sie zu tun, die bereits viele der Fälle behandelt:
Es gibt eine Einschränkung bei diesen. Einige davon scheinen davon auszugehen, dass ein führendes Verzeichnis-Trennzeichen im zweiten Argument auf einen Stammpfad verweist und dass das erste Argument daher vollständig entfernt werden sollte. Ich weiß nicht, warum dies als nützlich erachtet wird. für mich verursacht es nur probleme. Ich wollte nie zwei Pfadabschnitte kombinieren und am Ende den ersten Teil fallen lassen. Lesen Sie die Dokumentation für spezielle Fälle sorgfältig durch und schreiben Sie, falls erforderlich, einen Wrapper, der genau das tut, was Sie wollen, anstatt dessen spezielle Behandlung.
Dies hilft zusätzlich, wenn Sie verschiedene Betriebssysteme unterstützen müssen. Diese Klassen sind fast überall für die Auswahl des richtigen Trennzeichens verantwortlich. Die Bibliotheken haben normalerweise eine Möglichkeit, Pfade zu normalisieren, um sie an die Konventionen des Betriebssystems anzupassen.
Für den Fall, dass Ihre Programmiersprache nicht über eine sofort verfügbare Bibliothek verfügt, sollten Sie eine Methode schreiben, die alle diese Fälle behandelt und diese großzügig und projektübergreifend verwendet.
Dies fällt in die Kategorie "Machen Sie keine Annahmen" und "Verwenden Sie Tools, die Ihnen helfen".