2013-08-04 24 views
8

Mam zamiar stworzyć nową bibliotekę, która renderuje adnotacje genomu na wykresach. Jednakże, ponieważ C++ nie ma scentralizowanej strony biblioteki, takiej jak Perl, skąd mam wiedzieć, czy przestrzeń nazw jest w konflikcie z istniejącą?Jak nazwać przestrzeń nazw mojego nowego projektu?

+5

Dlaczego nie nazwać go 'XnoDraw ::', a następnie? –

+2

'xd' sprawiają, że brzmi jak Internet meme' lol :: ',' ​​rly :: 'i' yolo :: ',' ​​XnoDraw :: 'jest moim zdaniem lepsza, jedyną rzeczą, którą należy zauważyć jest to, że często razy imiona są opatentowane lub chronione przez prawo, więc pamiętaj, aby wybrać nazwę, która jest "darmowa". – user2485710

+2

Aby zamknąć wyborców: nie jest to ani subiektywne, ani nietypowe. Znalezienie unikalnej nazwy biblioteki jest częścią projektu biblioteki, a także tutaj występują problemy z używaniem języka. – Potatoswatter

Odpowiedz

12

Nie, xd nie jest dobra nazwa: jest zbyt krótki. Może to być dobry alias w ograniczonym kontekście, ale dla biblioteki, która będzie używana przez innych, podaj długą, opisową nazwę. Następnie użytkownicy mogą wybrać alias, który ma sens dla ich projektu.

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

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

Można użyć czegokolwiek oprócz numeru std.
Należy zauważyć, że C++ nie zezwala na nazwy złożone dla przestrzeni nazw.

Na przykład:

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

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

Musisz napisać "przestrzeń nazw" dwa razy, aby otworzyć dwie przestrzenie nazw, ale zestaw dostępnych nazw jest taki sam. – Potatoswatter

Powiązane problemy