2013-08-04 17 views
8

Creerò una nuova libreria che rende le annotazioni del genoma in grafici. Tuttavia, poiché C++ non ha un sito web di librerie centralizzato come Perl, come faccio a sapere se lo spazio dei nomi è in conflitto con uno esistente?Come denominare lo spazio dei nomi del mio nuovo progetto?

+5

Perché non denominarlo 'XnoDraw ::', quindi? –

+2

'xd' fa sembrare un meme di Internet' lol :: ',' ​​rly :: 'e' yolo :: ',' ​​XnoDraw :: 'è migliore secondo me, l'unica cosa da notare è che spesso i nomi dei tempi sono brevettati o protetti dalla legge, quindi assicurati di scegliere un nome che sia "libero". – user2485710

+2

Per chiudere gli elettori: questo non è né soggettivo né fuori tema. La ricerca di un nome univoco per una biblioteca fa parte del design della biblioteca e anche qui ci sono problemi di utilizzo della lingua. – Potatoswatter

risposta

12

No, xd non è un buon nome: è troppo corto. Potrebbe essere un buon alias in un contesto limitato, ma per una libreria che verrà utilizzata da altri, fornire un nome lungo e descrittivo. Quindi gli utenti possono selezionare un alias che ha senso per il loro progetto.

namespace my_company { 
namespace XnoDraw { 
// ... 
} // namespace XnoDraw 
} // namespace my_company 

// user code, not your code: 
namespace xd = my_company::XnoDraw; 
1

È possibile utilizzare qualsiasi cosa eccetto lo std.
Si noti che C++ non consente nomi composti per spazi dei nomi.

Per esempio:

// Allowed 
namespace a 
{ 
    namespace b 
    { 
     int c; 
    } 
} 

// Not allowed 
namespace a::b 
{ 
    int c; 
} 
+3

Devi scrivere 'namespace' due volte per aprire due namespace, ma l'insieme di nomi disponibili è lo stesso in entrambi i casi. – Potatoswatter

Problemi correlati