Goвно / Говнокод #27849 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
// 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 не возвращает, и запилили обёртку вокруг неё для "игнорирования" этой "ошибки".
Пиздец

Запостил: 3_dar 3_dar, (Updated )

Комментарии (37) RSS

  • > никогда не возвращает

    А вдруг UUID'ы кончились?

    Тем более type 4 скорее всего полезет к системному CPRNG, а у него ошибки могут быть.
    Ответить
      • Type 0 уже кончились, походу? Какой там запас по времени был?
        Ответить
          • Сколько гуидов в секунду можно на азиках генерить, чтобы подорвать всю эту систему?
            Ответить
            • Их надо не просто нагенерить, а натыкать в разные базы и исходники, чтобы коллизии полезли...
              Ответить
              • Вероятность того, что пересекутся гуиды, ничтожно мала.
                Скорее система убьется по другой причине.
                Ответить
                • А разве перед созданием сисема не проверяет пересечения?
                  Ответить
                    • Непосредственно с теми, которые уже есть в системе.
                      Ответить
                      • Надо провести следственный эксперимент.
                        Для этого создадим COM-сервер в виде *.DLL, с гуидиком от какой-нибудь софтины, сворованным в реестре.
                        Ответить
                        • Прошу прощенья за ожидание.
                          Анализ показал, что в случае пересечения, запись об объекте в реестре создастся, но сам COM-сервер загружен не будет. Приоритетен гуид, который изначально был в системе.
                          Ответить
                    • Это же уебок, который к тому же не знает, что значит "г" в "гуид".

                      Поэтому даже хранить необязательно, сам факт генерации тратит им keyspace
                      Ответить
                      • Глобальными они не могут быть по объективной причине.
                        Ответить
                        • Но глобальной является пандемия. Отчего же ВОЗ называет ее не своим именем, а "бедствием мирового масштаба"?
                          Ответить
    • Это шутка? Как это вообще работает?
      Ответить
            • Гуид уникален в пространстве и времени.

              Твои_специфические_фишки_типа_мак_адреса + случайное число.
              Ответить
              • Это старый гуид. Свежие type 4 тупо рандом, без всяких маков и времени.
                Ответить
                • А чем сидица генератор? как гарантировать, что они разные на разных мошинах?
                  Ответить
                  • Всем подряд, в чём есть случайность. Как и любой другой CPRNG.
                    Ответить
                    • Тоесть в него льют всякое говно типа температуры процессора, макадреса, белых шумов в микрофоне, хешей пролетающих пакетов, а потом он высирает уид? Чем же тогда гуид от юида отличается?
                      Ответить
  • Очень хорошо! Всячески поддерживаю!
    Теперь нужно чтобы в каждом проекте была своя функция Must.
    Ответить
    • The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in
      RFC 2119.
      Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8