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

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

    0

    1. 1
    2. 2
    p "Какой багор )))"
    puts "Какой багор )))"

    Какой багор )))

    YxaHbckuu_nemyx, 06 Апреля 2020

    Комментарии (95)
  3. Куча / Говнокод #26434

    +2

    1. 1
    Дорогие товарищи!

    В этом посте проводятся выборы говнозидента.
    Проявите свой гражданский говнодолг: проголосуйте за лучшего кандидата!

    Для кандидатов: баллотироваться под первым комментарием.

    gost, 11 Февраля 2020

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

    −103

    1. 1
    2. 2
    2 ноября собираемся в Севастополе!
    Пусть нерусь всякая к своим литвинам едет!

    BATHNK, 17 Октября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    for (const auto& item : items)
    {
      if (!item.isValid())
        continue;
      else
      {
        // 200 строк кода
      }
    }

    Что делать с такими колегами?

    Elvenfighter, 21 Августа 2019

    Комментарии (95)
  6. PHP / Говнокод #25749

    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
    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
    90. 90
    91. 91
    <?
    error_reporting(E_ALL ^ E_DEPRECATED);
    defined('_SECUR_GAMES') or die('Unknown Error!');
      function bbcode($var = "") {
            $var = preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $var);
            $var = preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style:italic;">\1</span>', $var);
            $var = preg_replace('#\[u\](.*?)\[/u\]#si', '<span style="text-decoration:underline;">\1</span>', $var);
            $var = preg_replace('#\[s\](.*?)\[/s\]#si', '<span style="text-decoration: line-through;">\1</span>', $var);
            $var = preg_replace('#\[big\](.*?)\[/big\]#si', '<big>\1</big>', $var);
            $var = preg_replace('#\[small\](.*?)\[/small\]#si', '<small>\1</small>', $var);
            $var = preg_replace('#\[center\](.*?)\[/center\]#si', '<center>\1</center>', $var);
            $var = preg_replace('#\[right\](.*?)\[/right\]#si', '<span class="right">\1</span>', $var);
            $var = preg_replace('#\[hr\](.*?)\[/hr\]#si', '<hr>\1</hr>', $var);
            $var = preg_replace('#\[br\](.*?)\[/br\]#si', '<br>\1</br>', $var);
            $var = preg_replace('#\[p\](.*?)\[/p\]#si', '<p>\1</p>', $var);
            $var = preg_replace('#\[gold\](.*?)\[/gold\]#si', '<span style="color:gold">\1</span>', $var);       
          return $var;
        }
        function calculate_age($birthday) {
          $birthday_timestamp = strtotime($birthday);
          $age = date('Y') - date('Y', $birthday_timestamp);
          if (date('md', $birthday_timestamp) > date('md')) {
            $age--;
          }
          return $age;
        }
    	function generatePassword($length=8){
    	  $chars = 'qwedazxscvfrtgnbhyujmkiolp1234567890WEDAZXSCVFRTGNBHYUJMKIOLP';
    	  $numChars = strlen($chars);
    	  $string = '';
    	  for ($i = 0; $i < $length; $i++) {
    	    $string .= substr($chars, rand(2, $numChars) - 1,2);
    	  }
    	  return $string;
    	}
    	function generatePass_word($length=8){
    	  $chars = 'qcvfrtgnbhyujmlp567890WEDAZXSCVFRBHYIOLP';
    	  $numChars = strlen($chars);
    	  $string = '';
    	  for ($i = 0; $i < $length; $i++) {
    	    $string .= substr($chars, rand(2, $numChars) - 1,2);
    	  }
    	  return $string;
    	}
    	function generateLogin($length=8){
    	  $chars = 'qweascv8fjmk6iolp123450WEXSCVFRTGNUOLP';
    	  $numChars = strlen($chars);
    	  $string = '';
    	  for ($i = 0; $i < $length; $i++) {
    	    $string .= substr($chars, rand(2, $numChars) - 1,2);
    	  }
    	  return $string;
    	}
    	function check($str)
    	{
    		$str = htmlentities($str, ENT_QUOTES, 'UTF-8');
    		$str = str_replace("\'", "&#39;", $str);
    		$str = str_replace("\r\n", "<br/>", $str);
    		$str = strtr($str, array(chr("0") => "", chr("1") => "", chr("2") => "", chr("3") => "", chr("4") => "", chr("5") => "", chr("6") => "", chr("7") => "", chr("8") => "", chr("9") => "", chr("10") => "", chr("11") => "", chr("12") => "", chr
    		("13") => "", chr("14") => "", chr("15") => "", chr("16") => "", chr("17") => "", chr("18") => "", chr("19") => "", chr("20") => "", chr("21") => "", chr("22") => "", chr("23") => "", chr("24") => "", chr("25") => "", chr("26") => "", chr("27") =>
    		"", chr("28") => "", chr("29") => "", chr("30") => "", chr("31") => ""));
    		$str = str_replace('\\', "&#92;", $str);
    		$str = str_replace("|", "I", $str);
    		$str = str_replace("||", "I", $str);
    		$str = str_replace("/\\\$/", "&#36;", $str);
    		$str = str_replace("[l]http://", "[l]", $str);
    		$str = str_replace("[l] http://", "[l]", $str);
    		$str = mysql_real_escape_string($str);
    		return $str;
    	}
    	class PAGINGS
    	{
    		public $total;
    		private $total_pages;
    		private $page;
    		private $start;
    		private $end;
    		public $get;
    		public $count_get;
    
    		public function __construct($size, $query)
    		{
    			$this->total = mysql_result(mysql_query(preg_replace('~SELECT (.*?) FROM~isU', 'SELECT COUNT(*) FROM', $query).' ;'), 0);
    			$this->total_pages = ceil($this->total / $size);
    			$this->page = isset($_POST['page']) ? $_POST['page'] : $_GET['page'];
    			$this->page = !empty($this->page) && ctype_digit($this->page) && $this->page >= 1 && $this->page <= $this->total_pages ? $this->page : 1;
    			$this->start = ($this->page * $size) - $size;
    			$this->end = $this->start + $size < $this->total ? $this->start + $size : $this->total;
    			$this->get = mysql_query($query.' LIMIT '.$this->start.', '.htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($size)))))).' ;');
    			$this->count_get = @ mysql_num_rows($this->get);
    		}

    Взял перл из спора с каким-то мамкиным экспертом, утверждавшим "функциональщина - сраный легаси, ооп - наше всё". Здесь ещё куча алмазиков:
    https://bymas.ru/downloads/view/77400

    monobogdan, 05 Августа 2019

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

    −2

    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
    /*
    	Программа для генерации и вывода разряженной матрицы
    	Специально для сайта govnokod.ru
    */
    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    
    // Объявление переменных
    const int first_index_size=20;
    const int second_index_size=50;
    char matrix_array[first_index_size][second_index_size];
    
    enum border_style{
    	line,single 
    };
    
    void borders(border_style matrix_border)
    {
    	switch(matrix_border)
    	{
    		case 0:
    			for(int i=0; i<(second_index_size+2); i++)
    				std::cout<<"#";
    			std::cout<<"\n";
    			break;
    		case 1:
    			std::cout<<"#";
    	}
    }
    
    void rand_func_init()
    {
    	// Инициализация функции rand()
    	srand(time(0));
    	rand();
    }
    
    void matrix_init_zero()
    {
    	// Инициализация матрицы нулём	
    	for(int i=0; i<first_index_size; i++)
    		for(int t=0; t<second_index_size; t++)
    			matrix_array[i][t]=0;
    }
    
    void matrix_init_rand()
    {
    	// Заполнение матрицы
    	for(int i=0; i<first_index_size; i++)
    	{
    		int init_num=rand()%11;
    		while(init_num)
    		{
    			init_num--;
    			matrix_array[i][rand()%50]=149;
    		}
    	}
    }
    
    void matrix_print()
    {
    	// Вывод матрицы	
    	borders(line);
    	for(int i=0; i<first_index_size; i++)
    	{
    		borders(single);
    		for(int t=0; t<second_index_size; t++)	
    			std::cout<<matrix_array[i][t];
    		borders(single);
    		std::cout<<"\n";
    	}
    	borders(line);
    }
    
    int main()
    {
    	rand_func_init();
    	matrix_init_zero();
    	matrix_init_rand();
    	matrix_print();
    	return 0;
    }

    Разряженная матрица 20x50.
    Количество ненулевых значений от 0 до 10.

    BelCodeMonkey, 18 Августа 2018

    Комментарии (95)
  8. Swift / Говнокод #24592

    +1

    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
    // NextViewController.swift
    
    override func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
        NSUserDefaults.standardUserDefaults().setInteger(indexPath.row, forKey: "Selected offense")
    		
        let offense: NSDictionary = self.offenses.objectAtIndex(indexPath.row) as NSDictionary
        let id: Int = offense.objectForKey("id") as Int
        let title: String = offense.objectForKey("title") as String
        NSUserDefaults.standardUserDefaults().setInteger(id, forKey: "Selected offense id")
        NSUserDefaults.standardUserDefaults().setObject(title, forKey: "Selected offense title")
    }
    
    // PreviousViewController.swift
    
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        hideKeyboard()
        tableView.reloadData()
    }
    	
    func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
        let kCellIndetifier: String = "NewOffenseCell"
        var cell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(kCellIndetifier, forIndexPath: indexPath) as UITableViewCell
    		
        if cell == nil {
            cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: kCellIndetifier)
        }
    		
        cell.text = NSUserDefaults.standardUserDefaults().stringForKey("Selected offense title")
        cell.font = UIFont.systemFontOfSize(20)
        return cell
    }

    Реализуем колбэки *лицорука*

    def, 06 Августа 2018

    Комментарии (95)
  9. JavaScript / Говнокод #19754

    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
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    function kvadrt() {
        d = document
        var a = Number(d.form1.num1.value)
        var b = Number(d.form1.num2.value)
        var c = Number(d.form1.num3.value)
        var diz = eval(Math.pow(b, 2) - 4 * a * c)
        var e = eval((-b + Math.sqrt(diz)) / (2 * a))
        var e1 = eval((-b - Math.sqrt(diz)) / (2 * a))
        var e2 = eval(-c / b)
        var e3 = eval(-b / 2 * a)
        var x1 = Number(d.form1.x1.value)
        var x2 = Number(d.form1.x2.value)
        if (a == 0 && b == 0 && c == 0) {
            x1 = "x принадлежит R";
            x2 = "x принадлежит R";
        } else
        if (a == 0 && b == 0 && c != 0) {
            x1 = "Решений нет";
            x2 = "Решений нет";
        } else
        if (a == 0 && b != 0 && c != 0) {
            x1 = eval(e2);
            x2 = " ";
        } else
        if (a != 0 && diz > 0) {
            x1 = eval(e);
            x2 = eval(e1);
        } else
        if (a != 0 && diz == 0) {
            x1 = eval(e3);
            x2 = " ";
        } else {
            x1 = "Решений нет";
            x2 = "Решений нет";
        }
        d.form1.x1.value = x1;
        d.form1.x2.value = x2;
    }

    Заканчиваю этот семестр, и ну его нахрен, это преподавательство.

    Actine, 05 Апреля 2016

    Комментарии (95)
  10. Куча / Говнокод #18026

    +143

    1. 1
    http://habrahabr.ru/company/neuronspace/blog/254671/

    Захотелось поделится с сообществом.

    Vasiliy, 20 Апреля 2015

    Комментарии (95)
  11. JavaScript / Говнокод #17148

    +154

    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
    if ((new Date(2014, 0, 1)).getHours() != 0 || new Date(2015, 0, 7).getHours() != 0) {
      // Переопределяем конструктор
      Date = (function (NativeDate) {
        var NewDate = function (Y, M, D, h, m, s, ms) {
          var length = arguments.length;
          var date = length === 1 && String(Y) === Y ? // isString(Y)
              new NativeDate(NewDate.parse(Y)) :
                  length >= 7 ? new NativeDate(NativeDate.UTC(Y, M, D, h, m, s, ms)) :
                  length >= 6 ? new NativeDate(NativeDate.UTC(Y, M, D, h, m, s)) :
                  length >= 5 ? new NativeDate(NativeDate.UTC(Y, M, D, h, m)) :
                  length >= 4 ? new NativeDate(NativeDate.UTC(Y, M, D, h)) :
                  length >= 3 ? new NativeDate(NativeDate.UTC(Y, M, D)) :
                  length >= 2 ? new NativeDate(NativeDate.UTC(Y, M)) :
                  length >= 1 ? new NativeDate(Y) :
              new NativeDate();
          if (length == 0) {
            date = new NativeDate(+date - date.getTimezoneOffset() * 60000);
          }
          date.constructor = NewDate;
          return this instanceof NativeDate ? date : date.toString();
        };
    
        if (NativeDate.now) {
          NewDate.now = function () {
            return new NewDate().getTime();
          };
        }
        if (NativeDate.UTC) {
          NewDate._UTC = NativeDate.UTC;
          NewDate.UTC = function (Y, M, D, h, m, s, ms) {
            var _date = new NewDate(NewDate._UTC.apply(this, arguments));
            return +_date - _date.getTimezoneOffset() * 60000;
          };
        }
        NewDate.prototype = NativeDate.prototype;
        NewDate.prototype.constructor = NewDate;

    И так далее, "фикс" для кривых таймзон в JS на винде http://habrahabr.ru/post/243685/

    asavartsov, 21 Ноября 2014

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