Сообщение Re[3]: name convention для внешних идентификаторов от 13.09.2022 10:59
Изменено 13.09.2022 11:16 Shtole
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 одним словом). Не зная, о каких внешних сервисах идёт речь, нельзя сказать, насколько это уместно.
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 одним словом). Не зная, о каких внешних сервисах идёт речь, нельзя сказать, насколько это уместно.
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) легко догадаться, что это слово. Я бы выбрал его, в последнее время стараюсь не мудрить и не жертвовать читаемостью в угоду жёстким схемам. (Всякие BEM, например, для меня вообще выглядят как for robots, by robots ).
3 (бонус). Заменять id (как слово) на login, user и другие подходящие слова (можно даже userid одним словом). Не зная, о каких внешних сервисах идёт речь, нельзя сказать, насколько это уместно.
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) легко догадаться, что это слово. Я бы выбрал его, в последнее время стараюсь не мудрить и не жертвовать читаемостью в угоду жёстким схемам. (Всякие BEM, например, для меня вообще выглядят как for robots, by robots ).
3 (бонус). Заменять id (как слово) на login, user и другие подходящие слова (можно даже userid одним словом). Не зная, о каких внешних сервисах идёт речь, нельзя сказать, насколько это уместно.