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

Сообщение Re[3]: name convention для внешних идентификаторов от 13.09.2022 10:59

Изменено 13.09.2022 11:02 Shtole

Re[3]: name convention для внешних идентификаторов
Здравствуйте, vsb, Вы писали:

vsb>Я не хочу хранить внешние идентификаторы с определённым суффиксом.

...
vsb>Пока больше всего понравился _rid (remote id)

Я усматриваю между этими двумя предложениями некое противоречие

Всё-таки, _rid — это суффикс, как ни крути. Допустим, нужно хранить логин от Скайпа и схема id_for_* не нравится (нужно общее впереди частного). Но тогда логично было бы назвать поле skype_id, а не skype_rid, правильно? Иначе я, если бы открыл такую БД и увидел такое поле, полез бы в документацию по Скайпу, искать, что такое rid. Если заменить rid на fid, лучше не станет. А на самом деле, даже если записать целиком, skype_remote_id или skype_external_id и не иметь никаких правил про суффиксы (т.е., идеальный случай), я, опять же, буду долго чесать в затылке, соображая, что за remote id такой (а это, на самом деле, просто id).

Получается, настоящая проблема в том, что нужно отличать id как суффикс и id как слово.

В языках с регистровой чувствительностью, типа сей, одно время было принято слова отделять регистром, а суффиксы и префиксы — подчёркиванием (m_MyWindow). Но для SQL это не вариант. Поэтому, лично у меня варианта два:

1. Если неимоверно хочется избежать коллизий, придумать схему обозначения суффиксов. Например, _id — это слово, а __id — суффикс.
2. Забить. Так и писать skype_id. По контексту (отсутствию таблицы skype) легко догадаться, что это слово.
3 (бонус). Заменять id (как слово) на login, user и другие подходящие слова (можно даже userid одним словом). Не зная, о каких внешних сервисах идёт речь, нельзя сказать, насколько это уместно.
Re[3]: name convention для внешних идентификаторов
Здравствуйте, vsb, Вы писали:

vsb>Я не хочу хранить внешние идентификаторы с определённым суффиксом.

...
vsb>Пока больше всего понравился _rid (remote id)

Я усматриваю между этими двумя предложениями некое противоречие

Всё-таки, _rid — это суффикс, как ни крути. Допустим, нужно хранить логин от Скайпа и схема id_for_skype не нравится (нужно общее впереди частного). Но тогда логично было бы назвать поле skype_id, а не skype_rid, правильно? Иначе я, если бы открыл такую БД и увидел такое поле, полез бы в документацию по Скайпу, искать, что такое rid. Если заменить rid на fid, лучше не станет. А на самом деле, даже если записать целиком, skype_remote_id или skype_external_id и не иметь никаких правил про суффиксы (т.е., идеальный случай), я, опять же, буду долго чесать в затылке, соображая, что за remote id такой (а это, на самом деле, просто id).

Получается, настоящая проблема в том, что нужно отличать id как суффикс и id как слово.

В языках с регистровой чувствительностью, типа сей, одно время было принято слова отделять регистром, а суффиксы и префиксы — подчёркиванием (m_MyWindow). Но для SQL это не вариант. Поэтому, лично у меня вариантов два:

1. Если неимоверно хочется избежать коллизий, придумать схему обозначения суффиксов. Например, _id — это слово, а __id — суффикс.
2. Забить. Так и писать skype_id. По контексту (отсутствию таблицы skype) легко догадаться, что это слово.
3 (бонус). Заменять id (как слово) на login, user и другие подходящие слова (можно даже userid одним словом). Не зная, о каких внешних сервисах идёт речь, нельзя сказать, насколько это уместно.