1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #11858

    +55

    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
    <?php
    class cURL
        {   
            
            private $handler;
            
            function cURL($url = null)
            {
                $this->handler = curl_init($url);
            }
            
            //  Да, я ленивый!
            function __call($name, $args)
            {
                if($name == "init") return;
                if(strstr($name, "multi")) die("Multiple cURL not supported in this class.");
                $name = "curl_$name";
                if(!function_exists($name)) die("Function $name not found.");
                array_unshift($args, $this->handler);
                $fn = new ReflectionFunction($name);
                return $fn->invokeArgs($args);
            }
            
        }

    Sarkian, 02 Октября 2012

    Комментарии (4)
  3. C# / Говнокод #11831

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    while (true) {
        Console.WriteLine(answer);
        answer = process.StandardOutput.ReadLine();
    }

    Человеку нужно просто считывать команды (строки) из консоли. Делает через жопу.

    Fai, 24 Сентября 2012

    Комментарии (4)
  4. Objective C / Говнокод #11816

    −97

    1. 1
    2. 2
    NSMutableDictionary* data = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Заголовок", @"name",  
    @"Очень длинное описание акции, которое надо для проверки функционирования элементов прекрасного пользовательского интерфейса, работающего на последнем издыхании. Казалось бы, что такого поправить две кнопки. Но нет, тут никто не знает про MVC", @"description", nil];

    Тестовые данные в проекте

    GK2012, 21 Сентября 2012

    Комментарии (4)
  5. Куча / Говнокод #11779

    +137

    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
    {- Haskell -}
    bruteforceGeneratorWithEasySimplication :: Description d => d -> [StandartTable]
    bruteforceGeneratorWithEasySimplication description =
        let width = size_h description; height = size_v description; vHeader = headerV description in
            do
                table <- genListBasedOn (map lineVariants vHeader)
                return (ST table)
        where
            lineVariants :: [Int] -> [[Bool]]
            lineVariants headerLine = let
                всё_я_задолбался_однако = True -- K.O.
                количество_цельных_блоков = length headerLine
                число_промежутков = количество_цельных_блоков - 1
                число_свободных_пробелов_которые_нам_нужно_распихать_между_цельными_блоками = ширина_поля - суммарная_длина_цельных_блоков
                ширина_поля = size_h description
                суммарная_длина_цельных_блоков = sum headerLine
                
                возможная_строка_использующая :: [Int] -> [Bool]
                возможная_строка_использующая разбиение = replicate (head разбиение) False ++ 
                    concat (zipWith (\x y -> replicate y True ++ replicate x False) (tail разбиение) headerLine)
                
                и = and
                по = undefined
                
                in do
                    разбиение <- получить_разбиение_для_строки по (число_свободных_пробелов_которые_нам_нужно_распихать_между_цельными_блоками) и (число_промежутков)
                    return (возможная_строка_использующая разбиение :: [Bool])
    
    получить_разбиение_для_строки по числу_свободных_элементов и числу_промежутков = do ...

    Из раннего.

    По-видимому, задолбался писать на тарабарщине, захотелось выражаться родными русскими словами.

    Jean-Esther, 16 Сентября 2012

    Комментарии (4)
  6. JavaScript / Говнокод #11724

    +162

    1. 1
    $.evalJSON($.toJSON(origArray));

    Клонирование массива.
    http://stackoverflow.com/a/3409342

    Yurik, 07 Сентября 2012

    Комментарии (4)
  7. C# / Говнокод #11718

    +137

    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
    public static IEnumerable<Step> OdometerPeriodicChecker(ScaleContext context)
        {
          //проверить, существуют ли таблицы
          OdometerTaskHlp.CheckAndCreateTables();
    
          while (context.IsRunning)
          {
            //Десятисекундная задержка после запуска программы
            yield return new WaitStep(TimeSpan.FromSeconds(10));
    
            try
            {
              foreach (LightAuto auto in context.Auto.All)
              {
                //CarOdometerChecker(context, auto);
              }
    
            }
            catch (Exception ex)
            {
              TraceHlp2.WriteException(ex);
            }
    
            //задержка выполнения задачи на 3 часа
            yield return new WaitStep(TimeSpan.FromSeconds(OdometerTaskHlp.TimeInterval * 3600));
          }

    Они запускают отдельный поток,
    в потоке запускают этот метод while (context.IsRunning).
    Потом им надо вернуться из задачи, для этого используется yield return.

    Flyperformances, 06 Сентября 2012

    Комментарии (4)
  8. C# / Говнокод #11706

    +137

    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
    {
        //конструктор
        public MotionEventsController(VideoServer server, MSO2Rotator rotator, Log log, Button recordButton)
        {
            _server = server;
            _rotator = rotator;
            _log = log;
            _recordButton = recordButton;
        }
        public void Record(MotionDetectorFilter filter, MotionObjectsArgs movingObjects)
        {
            _server.StartRecord();
             IsRecording = true;
            _recordButton.BackColor = Color.Red;
            switch (_server.Name)
            {
                case ServerNames.ColorServer:
                    _log(Resources.ColorStartRecord, String.Empty);
                    break;
                case ServerNames.BwServer:
                    _log(Resources.BWStartRecord, String.Empty);
                    break;
                case ServerNames.ThermalServer:
                    _log(Resources.ThermalStartRecord, String.Empty);
                    break;
            }    
        }
    }

    Класс, принимающий кнопку записи в конструкторе.

    Flyperformances, 05 Сентября 2012

    Комментарии (4)
  9. C# / Говнокод #11702

    +111

    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
    var serializer = new XmlSerializer(CurcedFiles.GetType());
                        try
                        {
                            CurcedFiles = (List<string>)serializer.Deserialize(stream);
                            status = true;
                        }
                        catch (Exception)
                        {
                            stream.Close();
                            Random rnd = new Random();
                            int a = rnd.Next(1, 1000);
                            File.Move("CurceFile.xml", "CurceFile_error " + a.ToString() + ".xml");
                            status = false;
                        }

    Попытка прочитать из xml список файлов для удаления.

    Flyperformances, 04 Сентября 2012

    Комментарии (4)
  10. PHP / Говнокод #11681

    +54

    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
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    <?php
    
    class SimpleController extends Zend_Controller_Action
    {
        public function init()
        {
            $action = $this->_request->getActionName();
            $is_action_available = in_array($action, explode(',', 'terms,privacy,about,copyright,support,legal,features,help,refund'));
            $is_incorrect_action = CR_Settings::siteIsFree() && $action == 'refund';
            if (!$is_action_available || $is_incorrect_action)
                $this->_helper->redirector->setGotoRoute(array('action' => 'index'), 'default', true);
        }
        
        public function termsAction(){
        }
        
        public function privacyAction(){
        }
        
        public function aboutAction(){
        }
        
        public function copyrightAction(){
        }
        
        public function supportAction(){
        }
        
        public function legalAction(){
        }
        
        public function featuresAction(){
        }
        
        public function helpAction(){
        }
        
        public function refundAction(){
        }
    }

    Zend Framework проверка на существование action :)

    arkasha, 31 Августа 2012

    Комментарии (4)
  11. Python / Говнокод #11655

    −93

    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
    DISC_NUMBER_REGEXS = (
            "\(disc *[0-9]+\)",
            "\(cd *[0-9]+\)",
            "\[disc *[0-9]+\]",
            "\[cd *[0-9]+\]",
            " - disc *[0-9]+$",
            " - cd *[0-9]+$",
            " disc *[0-9]+$",
            " cd *[0-9]+$"
    )               
    
    # skipped
    
                    for exp in DISC_NUMBER_REGEXS:
                            p = re.compile (exp, re.IGNORECASE)
                            album = p.sub ('', album)

    Вот такие вот регулярные выражения из плагина Album Art Search для плеера Rhythmbox. Как минимум disc|cd и \d+ автор должен был осилить?

    victor-homyakov, 27 Августа 2012

    Комментарии (4)