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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    function checkAnswer(lastId, connectionString, success, unsuccess, installationNumber) {
      var result;
      for(var i=0;i<3*15/*15min*/;i++) {
        Delay(periodCheckingComponentsInstalled, "Waiting components to be installed");
        result = getDataFromDB(connectionString, lastId);
        var k = [];
        for(var i=0;i<success.length; i++) {
          k.push(false);
        }
        
        for(var i=0;i<success.length;i++) {
          if ((success[i] == "RemoteSuccess") ||  (success[i] == "RemoteUnSuccess")) {
            k[i] = true;
            break;
          }
          else {
            for(var j=0;j<result.length ; j++) {
              if (result[j].length > 40) {
                k[i] = includeArray(result, success[i]);//40 symb
                if (includeArray(result, unsuccess[i])) Log.Error("error while installing, number installation = " + installationNumber);
              }
            }
          }
        }
        var bool = true;
        for (var i=0;i<success.length; i++) {
          bool = bool&&k[i];
        } 
        if (bool) return true; else continue;
        return false;
      }
    }

    Остался скрипт от тестировщика. Блядь, и такого там с мегабайт.

    Запостил: fluttr, 13 Ноября 2017

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

    • программирование в массы! пых и жабоскрипт - для всех!!

      ЗЫ не жалуйся. знакомый фиксил 4 месяца тест фреймворк - писаный на VB. и делалось/запускалось там в сумме только ~250 тестов...
      Ответить
      • VB?
        но зачем?
        Ответить
        • # VB?
          # но зачем?

          Но чем же он плох? Вполне нормальный язык, хотя многословный. Хотя C# конечно же лучше его.
          Ответить
          • > Вполне нормальный язык

            ...

            > Но чем же он плох?

            вот этим и плох. создает braindead разрабов, которые считаю VB "нормальным языком".
            Ответить
            • # создает braindead разрабов, которые считаю VB "нормальным языком"

              Он плох тем, что кто то ещё считает, что он не плох?
              Ответить
              • да он просто отстойный язык, на котором сделать что-то надежно работающее это просто открытое издевательство. не говоря уже о ёбанутом синтаксе, базовые вещи типа строк и контейнеров это просто мрак.

                учитывая как часто МС ломает обратную совместимость (так или иначе заставляет старые проекты пере-/доделывать), и как легко сделать динамический язык с человеческим синтаксисом и базовой библиотекой, это просто умопомрачительно сколько тысячилетий времени разработки было убито на трахание с тривиальными проблемами VB.

                самое худшее - это долгосрочный эффект который VB имеет на людей. потому что после VB даже повершелл им кажется сказкой.
                Ответить
                • Там даже мап/хешей/диктов нет, емнип
                  Там есть ком объект dictionary без проверки типов в ранайме.

                  Ну слушай, на PC в 1991 не так-то много языков выскоуровневых было

                  зы: повершел правда годный, особенно конечно есть ISE. Это мне заменил десяток утилит на винде, причем часть из них гуёвые
                  Ответить
                  • > Ну слушай, на PC в 1991 не так-то много языков выскоуровневых было

                    в 91 много чего не было. но сейчас уже 2017 - 26 лет спустя. двадцать блять шесть лет.

                    винды они уже - 3.1/NT, 95, 98, Me, 2K, XP, V, 7, 8, 10 - десять раз перетрахнули.

                    исторические отмазки уже давно не катят.

                    > повершел правда годный

                    умный народ это уже 15+ лет на перле+Win32::OLE делал. а вы как дети восхищаетесь следующей кучей свежего говна из редмонда.
                    Ответить
                    • >>умный народ это уже 15+ лет на перле+Win32::OLE делал
                      Виндовый народ делал тоже самое на JS и VBS под WSH: и то и другое юзало COM объекты, просто в Perl их по-старинке называли OLE.

                      Но PowerShell это еще и shell. Он комплитит имена кмдлетов (они пишутся на .net), их опции и даже их значения. Причем в пайп там появлятеся не текст (как в никсах) а объект, и потому он знает какие у него есть поля.
                      https://s33.postimg.org/5fay47pmn/cool.png

                      Вот тебе пример: первые 5 по использованию CPU за все время
                      PS C:\Windows> Get-Process | sort -Descending {$_.CPU} | select -First 5 
                      
                      Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName                                                                                        
                      -------  ------    -----      -----     ------     --  -- -----------                                                                                        
                         1036       0      696      15948   9 283,07      4   0 System                                                                                             
                          794      78   185452     249224   8 911,45    664   0 MsMpEng                                                                                            
                         1360     131  3795024    3816824   4 864,81   5616   1 java                                                                                               
                         1694      90   191252     286824     941,12   3376   1 chrome                                                                                             
                          300      31   199240     186872     860,78   5420   1 chrome


                      To be continued
                      Ответить
                    • А вот пути имаджей всех процессов от Microsoft:
                      PS C:\Windows> Get-Process | where {$_.Company -ilike "*microsoft*"} | select {$_.Path}
                      
                      $_.Path                                                                                           
                      -------                                                                                           
                      C:\Windows\System32\alg.exe                                                                       
                      C:\Windows\system32\cmd.exe                                                                       
                      C:\Windows\system32\cmd.exe                                                                       
                      C:\Windows\system32\conhost.exe                                                                   
                      C:\Windows\system32\conhost.exe                                                                   
                      C:\Windows\system32\conhost.exe                                                                   
                      C:\Windows\system32\conhost.exe                                                                   
                      C:\Windows\system32\conhost.exe                              
                      .............

                      И все это с комплишеном:)

                      Я знаю что тоже самое можно сделать с помощью bash и {sed,awk|perl}, но для windows это прорыв. Вместо кучи неконсистентных говноутилит у меня едный интерфейс с комплишеном.

                      >>а вы как дети восхищаетесь следующей кучей свежего говна из редмонда.
                      в вопросе не разбирайся @ сразу обсырай

                      Я был бы рад если бы у MS изначально был POSIXовый command line interface (хотя бы как у Apple), но увы.
                      Ответить
                      • > > а вы как дети восхищаетесь следующей кучей свежего говна из редмонда.

                        > в вопросе не разбирайся @ сразу обсырай

                        у меня сосед - монитор которого я вижу 50% времени - две недели ваял миграционный скрипт на повершелле. говна насмотрелся - и не потому что хотел его видеть.

                        > Виндовый народ делал тоже самое на JS и VBS под WSH: и то и другое юзало COM объекты, просто в Perl их по-старинке называли OLE.

                        потому что бля теже яйца - но теперь с новым именем. OpenDoc, OLE, OLE2, COM, DCOM, COM+ и как они там эту байду нынче зовут - после OLE2 там ничего по сути не менялось. даже баги рефкаунтинга - для которых все фреймворки делают воркараунды - все те же самые что были 20 лет назад.

                        скрипт хостинг был тоже мертво-рожденный. запустить можно, но увидеть что делает - хер. "о слетело где то по ошибке?" - ищи в ручную, потому что ни трейсинга ни дебага там нет. VB еще кое как можно в офисе помучать - но если что в JS не работает, пиши пропало.

                        > но для windows это прорыв.

                        с опозданием в ~20 лет - это не прорыв. это скорее "даже сломаные часы показывают правильное время два раза в день".
                        Ответить
                        • >>у меня сосед - монитор которого я вижу 50% времени
                          Ну, это не самый лучший способ судить о технологии.

                          >>ваял миграционный скрипт на повершелле.
                          А кстати именно как скриптовый ЯЗЫК мне PowerShell тоже не нравится. Но мне и Bash не очень-то нравится.
                          А вот как shell PowerShell хорош, во всяком случае в тысячу раз лучше cmd.

                          >>потому что бля теже яйца
                          Да, это маркетинговая хуита.
                          Чисто технически дело было так:
                          * OLE позволял размещать, например, excel внутри word. Он работал на DDE (такой говноIPC в винде, депрекейтнутый еще во времена Win95).
                          * OLE2 делал тоже самое на основе COM: COM уже не просто IPC (хотя там IPC конечно был), он позволял создавать объекты внутри себя или в другом процессе и иметь с ними языконезависимое API. Причем COM нужен был не только для OLE.
                          * Затем Ole2 переименовали в ActiveX.
                          * Затем в COM завезли транзакцинность, пул потоков итд. Появился COM+, его стали позиционировать как "систему для серверов приложений" (как Java бины в J2EE)
                          * COM работал через недокументированный IPC -- LPC. Затем его научили работать с удаленными машинами (IPC стал называться RPC) и появился DCOM -- Distributed COM.

                          Вся эта говнопляска в итоге привела к каше названий.
                          По сути COM в WSH, OLE в Perl и ActiveX в VB -- всё едино.
                          Ответить
                        • PS:


                          >> но увидеть что делает - хер
                          Обычно там возвращали HRESULT в формате hex. Его можно декодировать по битикам:
                          https://en.wikipedia.org/wiki/HRESULT#HRESULT_format
                          https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa378137(v=vs.85).aspx
                          Но выглядит уёбищно.

                          А ибо нефиг писать что-то сложное на скриптах, да. Кстати, со студией шел дебагер который умел WSH.

                          https://www.youtube.com/watch?v=JsrxSlq1oys

                          >>с опозданием в ~20 лет - это не прорыв.
                          Ну с одной стороны и правда смешно: "вау, теперь в windows все можно сделать с консоли и скриптом, почти как в unix в 1976 году!!"

                          А с другой стороны там объекты и комплишен, и некоторые думают что это лучше чем слать в папйпы текст, разбитый на колоночки, как в unix.
                          Ответить
                • > повершелл им кажется сказкой
                  После cmd даже vb покажется сказкой...
                  Ответить
                  • Ну собственно VBS (который оче похож на VB) и должен был стать основным инструментом для "скриптования и программирования в малом" (автоматизации виндов админами) в рамках WSH.
                    Он им и был до PowerShel

                    А .cmd уже как-бы считался не айс
                    Ответить
                  • > После cmd даже vb покажется сказкой...

                    LOL давеча я научился пользоватся цмд-шной коммандой find. 20 лет подряд почему то не работало. но вот наконец наступило просветление: двойные ковычки там не опциональные...
                    Ответить
          • Ну ты же знаешь что Дийкстра говорил про Basic, правда?

            На самом деле VB уже лет 20 как нинужен.

            Когда он появился не было еще даже MFC, и программировать под винду надо было с помощью регистрации класса окна с WndProc, ловить в цикле WM_PAINT и рисовать контролы на GDI. В ту пору он был офигенно крут, особенно когда появились ActiveX буквально для всего.

            Но уже в 99 году логичнее было бы взять Delphi, а в 2005-м -- C#. (VB.NET, как ты сам понимаешь, от c# отличается только уебанским синтаксисом и тоже не нужен).

            зы: еще какой-то смысл имел в свое время VBA, но с появлением .NET интерфейсов тоже стал не нужен.
            Ну а VBS стал не нужен с появлением PowerShell (на десктопе) и ASP.NET (в IIS)
            Ответить

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