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

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

    +11

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?php
    
    if($emailhide == 1 OR $emailhide == true OR $emailhide == 'true'){
            ...
    }

    m0003r, 14 Октября 2015

    Комментарии (5)
  3. PHP / Говнокод #18852

    +5

    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
    echo '<!DOCTYPE html> ';
    ?>
    <<?='h'.'t'.'m'.'l'?>>
    <<?='h'.'e'.'a'.'d'?>>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title><?php echo htmlspecialchars($content['meta_title'])?></title>
    <meta name="keywords" content="<?php echo htmlspecialchars($content['meta_keys'])?>">
    <meta name="description" content="<?php echo htmlspecialchars($content['meta_desc'])?>">
    <link rel='icon' href='/favicon.jpg' type='image/x-icon' /> 
    
    ...
    
    
    </<?='b'.'o'.'d'.'y'?>>
    </<?='h'.'t'.'m'.'l'?>>

    ору

    LesterTeheMolester, 12 Октября 2015

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

    +9

    1. 1
    return [null, null, null, true]; // Critical error

    зато наш код никогда не выбрасывает исключения

    strax, 07 Октября 2015

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

    +1

    1. 1
    https://i.imgur.com/S0Ti1EO.png

    Макаки - они везде.

    gost, 06 Октября 2015

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    /* удивляюсь логике человека, написавшего это */
    
    //echo $a;
    print($a);

    Smoren, 01 Октября 2015

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

    +4

    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
    StringBuilder errorMessage = new StringBuilder();
    int i = 0, j = 0;
    bool outcome = true;
    double value;
    string[] label = new string[] { label1.Text, label2.Text, label4.Text };
    
    textBox1.Text = textBox1.Text.Trim();
    textBox2.Text = textBox2.Text.Trim();
    textBox3.Text = textBox3.Text.Trim();
    
    foreach (string field in (new string[] { textBox1.Text, textBox2.Text, textBox3.Text }))
    {
    	try
    	{
    		if (field.Length == 0)
    			throw new Exception("отсутствует значение.\n");
    
    		if (j == 2)
    			value = int.Parse(field, NumberStyles.Integer);
    		else
    			value = double.Parse(field, NumberStyles.Float);
    
    		if (value <= 0)
    			throw new Exception("значение должно быть строго больше нуля.\n");
    
    		if (j == 2)
    		{
    			try
    			{
    				dateTimePicker1.Value.Date.AddMonths((int)value);
    			}
    			catch (Exception)
    			{
    				throw new Exception("превышено максимальное значение типа System.DateTime, " + DateTime.MaxValue.ToShortDateString() + ".\n" +
    									"Срок вклада не может превышать " + 
    									((DateTime.MaxValue.Year - dateTimePicker1.Value.Date.Year) * 12 +
    									DateTime.MaxValue.Month - dateTimePicker1.Value.Date.Month).ToString() + " мес. " + "от указанной даты оформления, " + dateTimePicker1.Value.Date.ToShortDateString() + ".\n");
    			}
    		}
    	}
    	catch (Exception e)
    	{
    		errorMessage.Append((++i).ToString() + ". " + label[j] + ": ");
    
    		switch (e.GetType().ToString())
    		{
    			case "System.FormatException":
    				errorMessage.AppendLine("неверный формат числа.\n");
    				break;
    
    			case "System.OverflowException":
    				{
    					if (j < 2)
    					{
    						errorMessage.AppendLine("значение не может быть обработано вещественным типом System.Double.");
    						errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + double.MaxValue.ToString() + "].\n");
    					}
    					else
    					{
    						errorMessage.AppendLine("значение не может быть обработано целочисленным типом System.Int32.");
    						errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + int.MaxValue.ToString() + "].\n");
    					}
    					break;
    				}
    
    			default:
    				errorMessage.AppendLine(e.Message);
    				break;
    		}
    
    		outcome = false;
    	}
    
    	j++;
    }

    Мастер исключений 80-го уровня.
    Хорошо, хоть не по мессаджам их разделяет.

    yamamoto, 28 Сентября 2015

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

    +4

    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
    long long int Factorial(long long int m_nValue)
       {
           long long int result=m_nValue;
           long long int result_next;
           long long int pc = m_nValue;
           do
           {
               result_next = result*(pc-1);
               result = result_next;
               pc--;
           }while(pc>2);
           m_nValue = result;
           return m_nValue;
       }

    http://rosettacode.org/wiki/Factorial#C.2B.2B

    Abbath, 22 Сентября 2015

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

    +2

    1. 1
    2. 2
    3. 3
    f($scope.data.extraFields){
          $scope.data.extraFields = $scope.data.extraFields;
        }

    разбираю сайт после предыдущего разраба

    fxt, 13 Августа 2015

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (strlen($this->post['Name']) >= 3) {
        $p = preg_split('/\s+/', $name) + [' ', ' '];
        sort($p);
    
        $permutation = [$p[0], $p[1], $p[2], $p[0], $p[1], $p[0], $p[2], $p[1], $p[0]];
        $name = join(' ', $permutation);
    
        $list = Model_Students::searchStudentsByName($name, $facultyID, $gradeID, $groupID);
    }

    С ребятами запилили полнотекстовый поиск фио. Функция из модели — вызов MySQL процедуры.

    Реалия простая — MySQL не умеет в split, не умеет в переменное количество параметров, не умеет в нечёткий поиск. Выкручиваемся как можем.

    xamgore, 20 Июля 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    setExpanded : function(val) {
        val = val ? true : false;
        this._expanded = val;
    }

    beatmasta, 07 Июля 2015

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