1. Ruby / Говнокод #10943

    −97

    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
    def comparesArray(xmlPath,arrExDB,arrRtXML,modName,msg,remarks)
      begin
        $write.log("Info","Inside comparesArray method from ********.rb")
        if arrExDB.sort == arrRtXML.sort
          qcode = ""
          arrRtXML.each{|x| qcode = qcode+x+","}
          qcode = qcode
          @objXLResult.writePassResults($rowCounter,$rowCounter-1,modName,msg,xmlPath,qcode.chomp(","),qcode.chomp(","),remarks)
        else
          arrRt =arrRtXML-arrExDB
          strRt =""
          arrRt.each{|x|     
            strRt = strRt+x+",\n"
          }
          arrEx =arrExDB-arrRtXML
          strEx =""
          arrEx.each{|x|      
            strEx = strEx+x+",\n"
          }
          @objXLResult.writeFailResults($rowCounter,$rowCounter-1,modName,msg,xmlPath,strEx.chomp(","),strRt.chomp(","),"Does not Match - #{remarks}")
        end
      rescue Exception => e1
        $write.log("Exception"," Problem from comparesArray method from ********.rb. System = #{e1.to_s}")
      end 
    end

    А вы сравниваете массивы как-то по-другому? Ну вы странные.

    Запостил: sunstream, 13 Июня 2012

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

    • что человек делает в Ruby? ему бы С...
      Ответить
      • Передавать в функцию минимум шесть параметров, половина которых дублирует глобальные переменные? По-моему, это чересчур сурово даже для Си.
        Ответить
        • Это даже не код плохой. Это - архитектура абсолютно непродумана.
          Ответить
          • Плохой код в большинстве случаев является следствием непродуманной архитектуры. Изредка - ограничений используемого фреймворка. Так что эти вещи взаимосвязаны.
            Ответить
            • Ну почему?
              Бывает человек просто написал в руби for-цикл для итерации по массиву. Архитектура никак не испорчена, а говнокод - есть (всегда можно заговнячить свой класс в продуманной архитектуре, ведь так?).

              Но согласен, если архитектор - говнокодер, то на уровне методов и классов код не может быть нормальным.
              Ответить
              • Да, верно: говнокод ещё может возникать из-за того, что человек не знает (или не хочет изучать), какой инструментарий ему доступен.

                Кстати, пройтись по элементам массива с помощью for допустимо, если нас интересуют как сами элементы, так и их индексы. Но в большинстве случаев итераторы уместнее.
                Ответить
                • "говнокод ещё может возникать из-за того, что человек не знает (или не хочет изучать), какой инструментарий ему доступен."

                  Да. Это, по-моему, и есть основная причина говнокода как на локальном уровне, так и архитектурно.
                  Ответить

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