Переименовать все новые *_ref функции и классы в *_view

yndx-antoshkka
yndx-antoshkka

Недавно в C++20 добавили класс atomic_ref. На подходе класс function_ref.

Разные наименования для не владеющих классов (string_view, atomic_ref, function_ref, span...) смущают, хочется иметь консистентные имена.

Предлагаю привести все имена к единому виду, с постфиксом _view:

* string_view

* atomic_view

* function_view

* span_view

20
рейтинг
10 комментариев
languagelawyer

А почему atomic_view переименовали в atomic_ref?

languagelawyer
Александр Рыбалка

Проголосовал за консистентность, но, по-моему, лучше бы сделали не *_view, а *_ref. Потому что view ассоциируется с паттерном MVC, а ref - с reference, что, на мой взгляд, лучше отражает суть класса.

Александр Рыбалка
Vladimir Smirnov

Александр Рыбалка, поддерживаю ваше предложение

Vladimir Smirnov
Semen Martynov

Александр Рыбалка, разумно

Semen Martynov
webreh

За все, кроме, возможно, atomic_ref. Идея использовать специальный суффикс _view для семантических ссылок крайне привлекательна (в частности, мы используем).

О коллизиях с паттернами поздно рассуждать, потому что уже есть string_view.

webreh
archaerolog

Однообразие -- это хорошо и правильно, но только хочется не *_view, а *_ref. Как уже здесь высказывались, так лучше передается суть. ИМХО, разумеется.

archaerolog
vladsavostin

Если невладеющий класс не допускает изменения объекта, на который он ссылается, то его логично называть view, когда же невладеющий класс допускает изменения, то это, безусловно, ref. Смешивать эти названия мне кажется плохой идеей.

vladsavostin
Ilya Popov

Вообще-то есть принципиальная разница между `*_view` и `*_ref`. `*_view` только для чтения, через них нельзя изменить объкт на который они ссылаются (только константный доступ). Через `_ref` объект можно изменять.

Ilya Popov
Yurii Zubrytskyi

Не надо. Сейчас как раз всё консистентно - _view предоставляет только константный доступ (можно посмотреть), а _ref - чистая ссылка (можно менять)

Yurii Zubrytskyi
Вадим Усольцев

Присоединяюсь к ораторам за _ref - как-то более адекватно. view - это откуда-то из другой области все же.

Вадим Усольцев
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения