Куча говна / Говнокод #13145 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Правила пользования метрополитеном
...
9. Всем лицам, находящимся на территории метрополитена, запрещается:
...
9.6. Провозить громоздкий багаж, сумма измерений которого по длине, ширине, высоте, а для рулона - по высоте и двум его диаметрам или осям в основании,  превышает 200 см, или длина которого свыше 220 см

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

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

  • Если (Не Багаж.Рулон И Багаж.Длина+Багаж.Ширина+Багаж.Высота > 200) Или
         (Багаж.Рулон И Багаж.Диаметр1 + Багаж.Диаметр2 + Багаж.Длина > 200) Или
         Багаж.Длина > 220
    Тогда
        ...
    КонецЕсли
    Как-то так? Что-то я не совсем понимаю что за два диаметра у рулона. Большая и малая ось эллипса, если он помятый? Или же диаметры концов, если он представляет собой нечто коническое?
    Ответить
    • А все, понял в чем говнокод. Условие про 220 явно лишнее. Ну а в остальном - понятие bounding box'а обывателю довольно трудно растолковать.
      Ответить
      • А ещё говорят, что Питер — культурная столица...

        В московском написано, что условие про 220 относится лишь к длинномерным предметам, т. е. Если Багаж.Тип = "Длинномерный", То сумма измерений не учитывается. Вот только критерий длинномерности я не смог найти.
        Ответить
      • Срочно запретить провоз материальных предметов с поверхностью, не имеющей ориентации или с эйлеровой характеристикой выше двух.
        Ответить
        • Допустим, у нас есть два куба с ребром 35 см. Тогда сумма их измерений 2 × (35 + 35 + 35) = 210, что превышает лимит.

          Лайвхак: связываем два куба верёвкой или склеиваем. Тогда сумма измерений будет 35 + 35 + 2 × 35 = 140, что укладывается не только в питерский лимит, но и в московский.
          Ответить
          • А где сказано, что для нескольких предметов указанные габариты суммируются. Захочу я перевезти миллион спичечных коробков по отдельности, никто мне ничего не скажет.
            Ответить
            • Действительно, и в Питере, и в Москве провоз багажа с суммой измерений до 121 см (не включая) и длинномерных предметов длиной до 151 см (не включая) не оплачивается. Так что выгоднее большие предметы распилить, тогда за них платить как за багаж не придётся.
              Ответить
            • Лайфхак: разделите групногабаритный предмет на бесконечное число не имеющих объёма частиц и вам удастся провезти его в метро. Вы даже сможете собрать из этих полос вдвое больше предметов, но и тащить в таком случае придётся вдвое больше.
              Ответить
              • >можете собрать из этих полос вдвое больше предметов,
                Лол. Я когда начал читать про "бесконечное число не имеющих объёма частиц", то подумал об том же.
                Парадокс Банаха - Тарского, в общем.
                Ответить
              • Хе, так это они объём не будут иметь, а вот суммарные габариты зашкалят за бесконечность!
                P.S. Мне в таких случаях каждый раз вспоминается http://bash.im/quote/404148
                Ответить
              • Можно еще поворачивать объект в 4+n измерении, пока его проекция не уменьшится до объема, не превышающего допустимые.
                Ответить
    • Как-то так:
      unsigned int sx,sy,sz;
      ...
      if (sx+sy+sz>200 || sx>220 || sy>220 || sz>220) ...
      Ответить
        • Ну да, ради понятности приходится иногда опускаться до уровня стада.
          Ответить
          • Так я в целом не люблю вот эти сдвоенные конструкты.
            ==, ||, &&, ++, --
            Они неочевидны для новичка, и чреваты опечаткой для среднего кодера.
            И так как ||, && используются только в условиях, то следовало заменить их на православные и понятные AND и OR.
            А побитовые оставить наравне с + - / *.
            Встретить в условии & или | можно в одном случай на миллион. И 90% что это говнокод или опечатка.

            ++ - не нужен, из-за глупого побочного эффекта. Его легко можно заменить кошерным двухоперандным конструктом, напоминающим об ассемблерных временах. Удлинив при этом код всего на символ.
            Ответить
            • Поэтому в Турбо-Паскале всё правильно сделали, введя процедуры Inc(x) и Dec(x) вместо неочевидных x++ и x--.
              Ответить
              • Ну собственно да. Кстати очень давно мы обсуждали эту тему с инкрементами. И выяснили что это UBшное зло.
                Да если можно обойтись возможностями языка (процедуры), то незачем вводить лишние конструкты.
                Правда пасцаль не люблю за другое.
                Ответить
              • Причём они не возвращают значения.
                Хотя кто мешает написать свои PreInc и PoctInc, возвращающие значение, и с их помощью написать крестоблядский непонятный код?
                Ответить
            • >Встретить в условии & или | можно в одном случай на миллион. И 90% что это говнокод или опечатка.
              Ну не скажи... возьми, например встроенное ПО
              Ответить
  • А в Московском Ордена Ленина Ордена Трудового Красного Знамени метрополитене имени Л. М. Кагановича В. И. Ленина так:
    2.10. Запрещается провозить в метрополитене (находиться с ним в вестибюле станций):
    
    2.10.1. Громоздкий багаж, сумма измерений которого (за исключением специально оговоренных случаев) по длине, ширине (двум диаметрам или осям в основании рулона) и высоте превышает 150 см, длинномерные предметы, длина которых свыше 220 см.
    Ответить
      • Гипотетически — это предметы, у которых sz много больше (sx + sy). Специально не стал писать знак >>, потому что сишкобляди его спутают с битовым сдвигом.
        Ответить
      • Это такие, которые меряют длиной, как это ни странно. То есть для которых это единственно практически важное измерение с точки зрения транспортировки.
        Ответить
        • >Это такие, которые меряют длиной, как это ни странно.
          Шнурок...
          Ответить
        • После упоминания Романом Кашицыным эйлеровой характеристики возник вопрос, как измерять тор: считать его скрученным в кольцо длинномерным предметом или посадить его в описывающий цилиндр?
          Ответить
            • Что-то вы аж позеленели, сударь. Вам не плохо? Извиняюсь за флуд.
              Ответить
              • Почему? Длина ее поверхности всего вдвое больше, чем у аналогичного кольца.

                Если так считать, то они на измереннии длины какого-нибудь хулахупа зависнут 😉
                Ответить
          • Тут наверное стои принимать во внимание всяческие физические характеристики, такие как упругость, температуру при которой предмет теряет / преобретает разные эластические свойства. Возможно, что еще нужно будт посчитать когда предмет при данной геометрии начнет ломаться под собственным весом / при максимальной скорости поезда / когда пассажир двигается по вагону. Опять же, смотря как носить разные предметы (под каким углом к земной поверхности), эти параметры могут менятся.
            Но есть еще и этическая составляющая: на сколько допустимо изменять геометрию переносимого объекта, не обидeв при этом владельца / на сколько не изменение будет идти в разрез с чаяниями окружающих.

            Считать ли электромагнитные поля видом материи (и как их мерять?).
            С точки зрения релятивизма, линейные размеры могут сильно варьироваться, если владелец предмета будет их двигать очень быстро относительно поезда.
            Ответить
    • А как насчет этого
      Запрещается
      .....
      2.11.6. Проходить и находиться на станции без обуви.
      .....

      Я так и не понял почему
      Ответить
      • Подозреваю, что ступеньки эскалатора представляют опасность для необутых.
        Ответить
          • Это надо упасть одновременно на две рельсы. Но тут обувь не спасет.
            Ответить
            • В Питере и в Москве на контактный рельс не упадёшь, потому что он сверху и с боков закрыт изоляционным коробом. Упасть на контактный рельс можно только в Чикаго, потому что там верхний токосъём.
              Ответить
            • Горелую резину, наверное, проще отскребать от рельс.
              Ответить
      • Ну, это просто. Метро - антииндуистский храм.
        Ответить
  • Тарас отжог, но почему все заминусованы?.. Сон затуманил глаза.
    Ответить
    • Потому что некое школоло училось отправлять HTTP запросы (или кликать по ссылкам из JS).
      Ответить

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

Помни, guest, за тобой могут следить!

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


    8