1. JavaScript / Говнокод #7268

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    day = new Date(); 
    hour = day.getHours(); 
    if (hour>=0 && hour<9) greeting = "Ночной NON-STOP"; 
    else { if (hour>=10 && hour<12) greeting = "По вашим заявкам"; 
    else { if (hour>=12 && hour<13) greeting = "Базар о интересном"; 
    else { if (hour>=13 && hour>=17) greeting = "Дневной NON-STOP";
    else { if (hour>=17 && hour<=20) greeting = "Расслабляющая музыка";
    else { if (hour>=20 && hour<=24) greeting = "Музыка 90-х"; }}}}  
    document.write(greeting);

    Автор кода явно не знал, что в js можно использовать else if. Выражение hour>=12 && hour<13 можно было упростить, написав hour == 12. И фигурную скобку в конце закрыть забыл.
    (Отсюда: intobservatory.ru/forum/index.php/topic,4141.0.html)

    Запостил: high-five, 16 Июля 2011

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

    • Обидно, что в JS нельзя написать, как в Паскале, if (hour in[13..17])

      Такой код будет работать и без else. Если уж использовать else, то можно сократить:
      if (hour>=0) { 
      if (hour<9) greeting = "Ночной NON-STOP"; 
      else if (hour<12) greeting = "По вашим заявкам"; 
      else if (hour<13) greeting = "Базар о интересном"; 
      else if (hour<17) greeting = "Дневной NON-STOP";
      else if (hour<=20) greeting = "Расслабляющая музыка";
      else if (hour<=24) greeting = "Музыка 90-х"; }
      else greeting = "Числа и времени не было. Было чёрт знает что такое. © Н. В. Гоголь";
      document.write(greeting);


      Кстати, говно в строке № 6.
      Ответить
      • JS завидует паскалю. Тарас гордиться!
        Ответить
      • В Паскале множества вроде имеют разрядность не более 8 бит.
        т.е. нельзя написать x in [9000..100500].
        А вот в Питоне можно написать так:
        9000 <= x <= 100500
        Ответить
        • > разрядность не более 8 бит
          это ограничение у борландовской имплементации, которую продали быдлокодерам, у которых вся стройная и логичная система типов Паскаля трещит по швам под весом платформенных костылей, поэтому уже 3 года не могут пофиксить, хотя set of Char поломан

          кстати, у кого нибудь есть стандарт?
          Ответить
          • > кстати, у кого нибудь есть стандарт?

            93 года? Это самый новый из официальных.
            Ответить
            • угу, а что поделать, оскал монополизма
              дай почитать
              Ответить
              • У меня его нет. Очевидно, на него все хуй забили.
                Ответить
            • Ей, борланд работает медленее, чем комитет стандартизации с++
              slowpoke.dds
              Ответить
      • Зачем писать if (hour in[13..17]), если тут надо
        case hour of
           0 .. 9: ...
           10 .. 12: ... 
          13..17: ...
          итд
        Ответить
        • Поддерживаю.
          А какие будут комментарии по шестой строке?
          Ответить
          • А чего копипатсу комментировать . Копипаста такая копипаста.
            Ответить
            • Ехал копипаст через копипаста.
              Видит копипаст - копипаст копипаста.
              Сунул копипаст копипаст в копипаста.
              Копипаста, Копипаста, Копипаста.
              Ответить
          • Комментирую - кодировщик опечатался.
            Ответить
      • > Такой код будет работать и без else

        Ага, и пробежится лишний раз по всем условиям.
        Ответить
    • Да ладно, подумаешь, не знал про elseif

      вот если бы это были case/switch'и на 24 блока....
      Ответить
    • с какого-нибудь гсайта на юкозе украл?
      Ответить
      • Я же написал источник. intobservatory.ru/forum/index.php/topic,4141.0.html . Это не юкоз, а бесплатный хостинг с php.
        Ответить
    • ещё в русском языке косяк: не "Базар о интересном", а "Базар об интересном"
      Ответить
    • показать все, что скрытоvanished
      Ответить

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