Сообщение Именование нэймспэйсов от 01.10.2023 23:01
Изменено 01.10.2023 23:45 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. Рассмотрю ещё предложения и другие идеи
Именование нэймспэйсов
Привет
помогите принять решение
пишу либу, которая состоит из разных частей
и вот думаю поместить каждую часть в свой отдельный 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
Минусы: 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
hide | |
И не парить никому мозг своими префиксами t_ в именах типов) | |
Минусы: word complete (inteli sense)
Сейчас Когда набираю имя и знаю точно что нужен тип, то сразу отсекаю остальное по префиксу t_
* И это пропадёт в таком варианте #3.
p/s:
4. Рассмотрю ещё предложения и другие идеи