tgoop.com/prog_way_blog/221
Create:
Last Update:
Last Update:
Ещё один формат айдишников
Самыми популярными вариантами создания айдишников можно назвать uuid
и целое положительное число:
6e522170-d7d5-494b-ae1f-5589608a6a51 // uuid.v4
4312 // целое положительное число
Лично я, среди этих двух вариантов, предпочёл бы использовать
uuid
, так как это наиболее безопасный и стабильный способ создавать айдишники, но у uuid есть два неоспоримых минуса: читаемость и длина. Если на длину
uuid
ещё можно закрыть глаза, то вот читаемость порой просто убивает. Мне довелось поработать в проде с системой, которая содержит огромное количество разных сущностей, где каждая сущность ссылается на десяток других по ID, модели часто выглядели как набор ключ:айдишник. С целью улучшить читаемость таких идентификаторов, был сделан следующий шаблон:<название модели>:<uuid>
примеры:
link:b386b8fd-64b6-4f49-85c0-b7292ec43713
building:364c2c5e-4cd2-4aec-b570-bb7e317ca018
office:56c5f243-b07f-450f-a6f0-18e6e363504c
user:f05db8bb-df2c-4575-b990-f87c3a8dd663
role:6fbdc403-0698-4e79-ade7-8a75dd6cd85b
Думаю, что на этих примерах идея более чем понятна. Мы просто дописывали к каждому айдишнику название сущности через знак двоеточия, соответственно дебажить и читать данные стало в разы проще. С какой-то стороны, мы увеличиваем длину айдишника, что тоже не хорошо, но рост размера
payload’a
, отдаваемого на UI, был мизерный, меньше 5%. Зато очень сильно улучшилась читаемость.Таким образом, получаем самый безопасный, стабильный, читаемый айдишник. Не без минусов, конечно, но всё же, так ли он критичен?
Пост вдохновлён идеей одного из подписчиков канала, за что большое спасибо. Напоминаю, что моя личка открыта, обязательно приходите.
Спасибо за прочтение, это важно для меня ❤️
#web #data
BY progway — программирование, IT
Share with your friend now:
tgoop.com/prog_way_blog/221