Quasi tutti i principali linguaggi di programmazione hanno una libreria per gestire i separatori di directory per te. Dovresti sfruttarli. Ciò semplifica il tuo codice e previene i bug .
Nella mia esperienza, la solita ragione per combinare stringhe come questa è che provengono da fonti diverse. A volte sono pezzi diversi da un file di configurazione. A volte è una costante combinazione con un argomento di funzione. In ogni caso, quando provengono da fonti diverse, è necessario considerare diversi casi possibili riguardanti i separatori alle estremità da combinare:
- Entrambe le estremità potrebbero avere un separatore:
"images/"
e"/sounds"
- Solo uno ha un separatore:
"images"
e "/sounds"
o "images/"
e"sounds"
- Nessuno dei due ha un separatore:
"images"
e"sounds"
Il fatto che ogni parte provenga da una fonte diversa significa che ogni fonte potrebbe avere le sue idee su quali convenzioni seguire, se qualcuno ci pensasse su! Qualunque cosa stia chiamando il tuo codice non dovrebbe preoccuparti di questo . Il tuo codice dovrebbe gestire tutti i casi perché qualcuno violerà la tua convenzione . Ciò comporterà uno spreco di tempo per indagare sulla causa di un errore e apportare una correzione. Ho avuto diverse spiacevoli occasioni in cui un collega ha fatto un'ipotesi su come i percorsi dovrebbero essere formattati in un file di configurazione, il che significa che ho dovuto andare a cercare il codice e capire cosa si aspettavano (o correggere il codice).
La maggior parte delle lingue principali fornisce un metodo per farlo che gestisce già molti dei casi:
C'è un avvertimento con questi. Alcuni di questi sembrano supporre che un separatore di directory principale nel secondo argomento si riferisca a un percorso di root e che ciò significhi che il primo argomento deve essere eliminato completamente. Non so perché questo sia considerato utile; per me, causa solo problemi. Non ho mai voluto combinare due parti del percorso e finire con la prima parte che viene abbandonata. Leggi attentamente la documentazione per casi speciali e, se necessario, scrivi un wrapper che fa quello che vuoi con questi invece della loro gestione speciale.
Questo aiuta ulteriormente se hai bisogno di supportare diversi sistemi operativi. Queste classi spiegano quasi ovunque la scelta del separatore corretto. Le librerie di solito hanno anche un modo di normalizzare i percorsi per adattarsi alle convenzioni del sistema operativo.
Nel caso in cui il tuo linguaggio di programmazione non abbia una libreria prontamente disponibile, dovresti scrivere un metodo che gestisca tutti questi casi e lo usi liberamente e in tutti i progetti.
Questo rientra nella categoria "non fare ipotesi" e "usa strumenti che ti aiutano".