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

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

    −98

    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
    def down_cast_qobject(tp, obj):
        assert obj
        assert isinstance(tp, type)
        assert issubclass(tp, QObject)
        addresses = shiboken.getCppPointer(obj)
        assert isinstance(addresses, collections.Iterable)
        assert len(addresses)
        ptrs = filter(lambda p: p > 0L, addresses)
        assert ptrs
        ptr = ptrs[0]
        assert isinstance(ptr, long)
        wrapped = shiboken.wrapInstance(ptr, tp)
        assert isinstance(wrapped, tp)
        return wrapped

    Paranoid_mode = True

    QBatman, 03 Октября 2014

    Комментарии (32)
  3. bash / Говнокод #16743

    −80

    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
    Devastator:ark grawl$ sass-convert -F scss -T sass -i -R *.scss
    Error: '*.scss' is not a directory
      Use --trace for backtrace.
    Devastator:ark grawl$ sass-convert -F scss -T sass -i -R .
    Devastator:partials grawl$ sass-convert -F scss -T sass -i -R *.scss
    Error: 'colors.scss' is not a directory
      Use --trace for backtrace.
    Devastator:partials grawl$ sass-convert -F scss -T sass -i -R .
        convert ./colors.scss
      overwrite ./colors.scss
    Errno::EISDIR: Is a directory - .
      Use --trace for backtrace.
    Devastator:partials grawl$ sass-convert -F scss -T sass -i -R
    Error: directory required when using --recursive.
      Use --trace for backtrace.

    sass-convert великолепен

    Grawl, 22 Сентября 2014

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

    +155

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    class numArray
    {	public $firstNum;
    	public $lastNum;
    
    	
    	function __construct($firstNum, $lastNum)
    	{
    		$this->firstNum = $firstNum;
    		$this->lastNum = $lastNum;
    	}
           function makeArr($firstNum, $lastNum) 
           {
           	$ourArr = [];
           	for ($i=$this->firstNum; $i <=$this->lastNum; $i++) { 
           		$ourArr[]+= $i;
           	}
           	return $ourArr;
           }
    
    }
    
    
    class MultipleOf
    {
    	public $num1;
    	public $num2;
    	
    	function __construct($num1,$num2)
    	{
    		$this->num1 = $num1;
    		$this->num2 = $num2;
    		
    	}
    
           function echoMultipleOf($oArr)
           {
           	$trueArr=[];
           	foreach ($oArr as $key => $value)
           	{
           		if (($value%$this->num1 === 0) && ($value%$this->num2 != 0)) {
           				
           			$trueArr[] += $value;
           		}
           		
           	}
           	echo var_dump($trueArr);
           }
    
    }
    
    #Проверка:
    
    $proba1 = new numArray(1,100);
    $globalArr1= $proba1->makeArr();
    
    
    $ask1 = new MultipleOf(3,12);
    $ask1->echoMultipleOf($globalArr1);

    1. Создать массив чисел от 1 до 100. Вывести все элементы массива, которые кратны 3 и не кратны 12. (ООП головного мозга)

    VladDelec, 09 Августа 2014

    Комментарии (32)
  5. C# / Говнокод #16490

    +135

    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
    public JsonResult MusicPlayer(DateTime date)
            {
                var order = OrdersRepository.FindAll().ToList();
                int play = 0;
                
                foreach (var item in order)
                {
                    if (item.Date<=date){
                        var date2 = date.ToString();
                        return Json(new { date2});
                    }
                    return Json(new { play });
                }
    
                return Json(new { play });
            }

    Отправление данных через Json

    Emir, 06 Августа 2014

    Комментарии (32)
  6. Java / Говнокод #16277

    +73

    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
    @SuppressWarnings("unchecked")
    	private <T> T convert(final String p, final Class<T> type) {
    		if (p == null) {
    			return null;
    		}
    		if (type == String.class) {
    			return (T) String.valueOf(p);
    		} else if (type == Integer.class) {
    			return (T) Integer.valueOf(p);
    		} else if (type == Boolean.class) {
    			return (T) Boolean.valueOf(p);
    		} else if (type == Double.class) {
    			return (T) Double.valueOf(p);
    		} else if (type == Long.class) {
    			return (T) Long.valueOf(p);
    		} else if (type == Float.class) {
    			return (T) Float.valueOf(p);
    		} else if (type == Short.class) {
    			return (T) Short.valueOf(p);
    		} else if (type == Byte.class) {
    			return (T) Byte.valueOf(p);
    		}
    		throw new UnsupportedOperationException(String.format("Cannot convert \"%s\" to %s", p, type));
    	}

    распарсь мне строку...

    Lure Of Chaos, 04 Июля 2014

    Комментарии (32)
  7. Pascal / Говнокод #16238

    +96

    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
    procedure TRegistry.GetKeyNames(Strings: TStrings);
    var
      Len: DWORD;
      I: Integer;
      Info: TRegKeyInfo;
      S: string;
    begin
      Strings.Clear; // Очистить список перед добавлением. Это пиздец, как важно!!! Программист не додумается сам очистить список. 
      if GetKeyInfo(Info) then
      begin
        SetString(S, nil, Info.MaxSubKeyLen + 1);
        for I := 0 to Info.NumSubKeys - 1 do
        begin
          Len := Info.MaxSubKeyLen + 1;
          RegEnumKeyEx(CurrentKey, I, PChar(S), Len, nil, nil, nil, nil);
          Strings.Add(PChar(S));
        end;
      end;
    end;

    Из registry.pas (Delphi 2009)
    Все регистровые функции зашкварены этим, не знаю, как в семерке; это значит, что в цикле их без дерьма не поюзаешь.
    Очень обидно.

    brutushafens, 26 Июня 2014

    Комментарии (32)
  8. PHP / Говнокод #16003

    +156

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    public function catalog_add() {
            
            if (Route::is_post()) {
                $this->L->view = false;
                $errors = array();
    
                $Company = new Model_Companies();
                $Company->fillFromArray($_POST['companies']);
    
                if (!$Company['cats_id']) {
                    $errors[] = 'Не выбрана категория';
                }
                if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['startdate'])) {
                    $errors[] = 'Неверный формат начала периода размещения';
                }
                if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['enddate'])) {
                    $errors[] = 'Неверный формат конца периода размещения';
                }
                if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['position_start'])) {
                    $errors[] = 'Неверный формат начала действия приоритетной позиции';
                }
                if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['position_end'])) {
                    $errors[] = 'Неверный формат конца действия приоритетной позиции';
                }
    
                //проверка на существования графика работы
                $noSchedule = true;
                foreach ($_POST['schedule'] as $key => $value) {
                    if (isset($value['work'])) {
                        $noSchedule = false;
                        break;
                    }
                }
    
                if ($noSchedule) {
                    $errors[] = 'Не указано ни одного рабочего дня';
                } else {
                    //проверка рабочего времени
                    foreach ($_POST['schedule'] as $key => $value) {
                        if (isset($value['work'])) {
                            if (!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['start']) || !preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['end'])) {
                                $errors[] = 'Неверный формат времени работы в ' . strtolower(Model_Schedule::$days[$key]);
                            } else {
                                //проверка грамотности, конец больше начала
                                if (strtotime($value['start']) > strtotime($value['end'])) {
                                    $errors[] = 'Конец работы должен быть позже времени начала в ' . strtolower(Model_Schedule::$days[$key]);
                                } else {
                                    //провека обеда
                                    if (isset($value['lunch'])) {
                                        if (!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['lunch_start']) || !preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['lunch_end'])) {
                                            $errors[] = 'Неверный формат времени обеда в ' . strtolower(Model_Schedule::$days[$key]);
                                        } else {
                                            //проверка грамотности границ обеда
                                            if (strtotime($value['lunch_start']) > strtotime($value['lunch_end'])) {
                                                $errors[] = 'Конец обеденного перерыва должен быть позже времени начала в ' . strtolower(Model_Schedule::$days[$key]);
                                            } else {
                                                //проверка что обед вмещается в рабочее время
                                                if ($value['lunch_start'] < $value['start'] || $value['lunch_end'] > $value['end']) {
                                                    $errors[] = 'Обед выходит за рамки указанного рабочего времени в ' . strtolower(Model_Schedule::$days[$key]);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
    
                //todo: сделать проверку на занятость приоритетной позиции в выбраной категории в указанный период
    
                if (!count($errors)) {
                    //если нет ошибок то пишем
                    $Company->save();
    
                    foreach ($_POST['schedule'] as $key => $value) {
                        if (isset($value['work'])) {
                            $Schedule = new Model_Schedule();
                            $Schedule->fillFromArray($value);
                            $Schedule['day'] = $key;
                            $Schedule['companies_id'] = $Company['id'];
                            $Schedule->save();
                        }
                    }
                }
    
                echo json_encode($errors);
            }
        }

    проверки, такие проверки

    Serious_Andy, 17 Мая 2014

    Комментарии (32)
  9. Perl / Говнокод #15973

    −149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    my $query = "select * from client where <...>";
    ...
    $params{'first_name'} = $v_client[6];
    if (defined $v_client[11]) {
         $params{'address1'} = $v_client[11];
    }
    if (defined ($v_client[10])) {
      $params{'zip_code'} = $v_client[10];
    }

    No comments.

    bormand, 13 Мая 2014

    Комментарии (32)
  10. C# / Говнокод #14334

    +141

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    using System;
    using System.Globalization;
    using System.IO;
     
    namespace CyberForumTasks
    {
        class Program
        {
            static void Main()
            {
                var text = File.ReadAllText("C:\\test.txt");
     
                for (var i = 0; i < text.Length - 1; i++)
                {
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
                                Console.Write("101");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("1"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                Console.Write("110");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("1"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
                                Console.Write("111");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                    Console.Write("1000");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("1"))
                                    Console.Write("1001");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
                                if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                    Console.Write("1010");
                }
            }
        }
    }

    Дан файл целых чисел. Продублировать в нем все числа, принадлежащие диапазону 5..10.

    Psilon, 09 Января 2014

    Комментарии (32)
  11. Pascal / Говнокод #14321

    +148

    1. 1
    2. 2
    3. 3
    Милости прошу опробовать новую модификацию моего прокси-чекера:
    http://rghost.ru/51449039
    пароль на архив - ситэ; конкретно, то место, куда слетают все опубликованные пароли и учетки.

    Выражаю огромную благодарность более опытным товарищам, которые охотно шли мне навстречу, делясь опытом и указывая правильный путь.
    Я не могу не упомянуть имен этих замечательных людей:
    Bormand
    1024-
    Kegdan
    Anonimb

    Stertor, 06 Января 2014

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