1. PHP / Говнокод #26072

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $interval = $interval->m;
    
    switch ($interval){
        case 1: brake;
        case 3: brake;
    }

    от предыдущего тимлида

    Запостил: Sm0_ker, 09 Декабря 2019

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

    • показать все, что скрытоvanished
      Ответить
      • Вспомнились шеловые case / esac.
        Ответить
        • if/if, do/od...

          В нескольких языках такое было, в том числе и у Кнута. Дейкстра ещё такое пропагандировал.

          Кажется, с «Алгола-68» всё началось. В других версиях было что-то типа паскалевского begin ... end или сишных скобок.
          Ответить
          • показать все, что скрытоvanished
            Ответить
          • В алгол-68 тоже были BEGIN END, они должны начинать и завершать текст программы, но конпеляторы, которыми я пользовался позволяли их опускать. Да были блоки как в Си, но скобки круглые, кстати в блоках вместо скобок также можно использовать BEGIN END.

            Кстати, блоки и управляющие конструкции в алгол-68 также являются выражениями и возвращают значения.
            Ответить
            • Еще в алгол-68 есть блок для параллельной обработки PAR, он почему-то не блочный, а со скобочками.
              PAR (
                  делай раз,
                  делай дваз
              )
              Какой-то синтаксис неоднородный.
              Ответить
            • Надо будет посмотреть конкретные реализации. В тех примерах, что есть у википидоров, в «Алкоголе-60» ещё были «begin... end», а в «Алкоголе-68» вместо них закрывающие слова «fi», «do», «esac» (видимо, не нашлось примеров со вложенными блоками). Из текста можно сделать вывод, что конструкция «begin... end» осталась, но её стали использовать реже, потому что у управляющих конструкций появилось закрывающее слово.

              Ещё там интересные примеры выделения ключевых слов. Как в книгах:
              for i while
                 sum sq≠70×70
               do
                 sum sq+:=i↑2
               od

              Ключевые слова в апострофах:
              'for' i 'while'
                sum sq≠70×70
              'do'
                sum sq+:=i↑2
              'od'

              Для семибитной кодировки:
              FOR i WHILE
                sum sq/=70*70
              DO
                sum sq+:=i**2
              OD

              Для шестибитной (о, ужас!) кодировки:
              .FOR I .WHILE
                SUM SQ .NE 70*70
              .DO
                SUM SQ .PLUSAB I .UP 2
              .OD

              Режим «res stopping» (здесь лишь иногда используется ведущая точка, когда нужно отличить ключевое слово от неключевого):
              for i while
                sum sq≠70×70
              do
                sum sq+:=i↑2
              od


              К знакам «≠» и «↑» в доюникодовскую эпоху были готовы не все.
              Ответить
    • Может это система управления автономного автомобиля?
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • Это всё потому, что глагол неправильный. От немецкого глагола «brechen — brach — gebrochen». Потому и в английском «break — broke — broken».

          Везде, когда в английском в прошедшем времени меняется гласная или появляется неожиданный суффикс «en», ищи соответствующий неправильный глагол в немецком.
          Ответить
        • >ебанутый английский
          Mein suess Sommerkind

          А вообще
          #define brake break
          FIXED
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Оно и не работало бы. Искренне Ваш Кэп. А так обычный задел на будущее.
      Ответить

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