- 1
- 2
- 3
// Create a Version 4 UUID, panicking on error.
// Use this form to initialize package-level variables.
var u1 = uuid.Must(uuid.NewV4())
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
// Create a Version 4 UUID, panicking on error.
// Use this form to initialize package-level variables.
var u1 = uuid.Must(uuid.NewV4())
https://github.com/gofrs/uuid
Питули запилили функцию, которая никогда error не возвращает, и запилили обёртку вокруг неё для "игнорирования" этой "ошибки".
Пиздец
А вдруг UUID'ы кончились?
Тем более type 4 скорее всего полезет к системному CPRNG, а у него ошибки могут быть.
Скорее система убьется по другой причине.
Для этого создадим COM-сервер в виде *.DLL, с гуидиком от какой-нибудь софтины, сворованным в реестре.
Анализ показал, что в случае пересечения, запись об объекте в реестре создастся, но сам COM-сервер загружен не будет. Приоритетен гуид, который изначально был в системе.
Поэтому даже хранить необязательно, сам факт генерации тратит им keyspace
Твои_специфические_фишки_типа_мак_адреса + случайное число.
Это вроде одно и то же, просто мс любит свои названия.
> This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier).
Теперь нужно чтобы в каждом проекте была своя функция Must.
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
RFC 2119.