Информация об изменениях

Сообщение Именование нэймспэйсов от 01.10.2023 23:01

Изменено 01.10.2023 23:44 Sm0ke

Именование нэймспэйсов
Привет
помогите принять решение

пишу либу, которая состоит из разных частей
и вот думаю поместить каждую часть в свой отдельный namespace !
есть такое желание ...

пока оно всё лежит в одном большом namespace, к примеру назовём just::
и мне это не особо нравится

Рассматриваю для начала два варианта:

#1. Вложенные пространства имён
just::ui::
just::st::

Плюсы: В частях будут видны общие определения из just::
Минусы:
* выглядит не очень (нагромождение resolution operators)
чтобы достучаться до типа это 3 штуки писать вместо двух (just::st::bla_bla вместо just::bla_bla)

#2. Отдельные верхнеуровневые пространства
just_st::
just_ui::
just_flags::

Минусы:
* общие определения остаются в just:: и в частях придётся писать длиннее, либо делать using namespace just;
* пользователю может это не понравится, что либа фигачит несколько верхних нэймспейсов

#3. мда
оставить всё в одном just::
Но сделать префиксы у самих определений
just::st_concat<>
just::st_concat_separated<>
just::st_literals // sub namespace
just::ui_button
just::ui_form

И не тра#ать никому мозг своими префиксами t_ в именах типов)
Минусы: word complete (inteli sense)
Сейчас Когда набираю имя и знаю точно что нужен тип, то сразу отсекаю остальное по префиксу t_
* И это пропадёт в таком варианте #3.

p/s:
4. Рассмотрю ещё предложения и другие идеи
Именование нэймспэйсов
Привет
помогите принять решение

пишу либу, которая состоит из разных частей
и вот думаю поместить каждую часть в свой отдельный namespace !
есть такое желание ...

пока оно всё лежит в одном большом namespace, к примеру назовём just::
и мне это не особо нравится

Рассматриваю для начала два варианта:

#1. Вложенные пространства имён
just::ui::
just::st::

Плюсы: В частях будут видны общие определения из just::
Минусы:
* выглядит не очень (нагромождение resolution operators)
чтобы достучаться до типа это 3 штуки писать вместо двух (just::st::bla_bla вместо just::bla_bla)

#2. Отдельные верхнеуровневые пространства
just_st::
just_ui::
just_flags::

Минусы:
* общие определения остаются в just:: и в частях придётся писать длиннее, либо делать using namespace just;
* пользователю может это не понравится, что либа фигачит несколько верхних нэймспейсов

#3. мда
оставить всё в одном just::
Но сделать префиксы у самих определений
just::st_concat<>
just::st_concat_separated<>
just::st_literals // sub namespace
just::ui_button
just::ui_form

И не парить никому мозг своими префиксами t_ в именах типов)
Минусы: word complete (inteli sense)
Сейчас Когда набираю имя и знаю точно что нужен тип, то сразу отсекаю остальное по префиксу t_
* И это пропадёт в таком варианте #3.

p/s:
4. Рассмотрю ещё предложения и другие идеи