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

    В номинации:
    За время:
  2. Куча / Говнокод #12083

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    data Trivalent = TriFalse | TriUnknown | TriTrue deriving (Show, Eq, Ord)
    
    (&) :: Trivalent -> Trivalent -> Trivalent -- &&
    (!) :: Trivalent -> Trivalent -> Trivalent -- ||
    nt :: Trivalent -> Trivalent -- not

    В хасскеле нет класса для логических значений. А значит хрен переопределишь операторы &&, || и функцию not

    Fai, 08 Ноября 2012

    Комментарии (52)
  3. Си / Говнокод #12016

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int next_id() {
        static int id = 0;
        __sync_add_and_fetch(&id, 1);
        return id;
    }

    "Атомарная" раздача айдишек.

    bormand, 28 Октября 2012

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

    +131

    1. 1
    2. 2
    > Как удалить smoke1 из массива fx 
    delete fx+2;

    http://www.gamedev.ru/code/forum/?id=165389

    USB, 04 Августа 2012

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

    +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
    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
    <?php
    /**
     * Определение знака зодиака
     * автор: Nc_Soft
     * 12.01.09
     */
     
    //массив для сравнений
    $zodiak=array(
    'Oven'=>'Овен',
    'Taurus'=>'Телец',
    'Gemini'=>'Близнецы',
    'Cancer'=>'Рак',
    'Leo'=>'Лев',
    'Virgo'=>'Дева',
    'Libra'=>'Весы',
    'Scorpion'=>'Скорпион',
    'Sagittarius'=>'Стрелец',
    'Capricorn'=>'Козерог',
    'Aquarius'=>'Водолей',
    'Fish'=>'Рыбы'
    );
     
    //функция опеределения
    function zodiak($d,$m) {
     
        $d=sprintf('%02d',$d);
        $m=sprintf('%02d',$m);
     
        if (($m=='03' AND $d>20) OR ($m=='04' AND $d<21)) return 'Oven';
        if (($m=='04' AND $d>20) OR ($m=='05' AND $d<22)) return 'Taurus';
        if (($m=='05' AND $d>21) OR ($m=='06' AND $d<22)) return 'Gemini';
        if (($m=='06' AND $d>21) OR ($m=='07' AND $d<23)) return 'Cancer';
        if (($m=='07' AND $d>22) OR ($m=='08' AND $d<24)) return 'Leo';
        if (($m=='08' AND $d>23) OR ($m=='09' AND $d<24)) return 'Virgo';
        if (($m=='09' AND $d>23) OR ($m=='10' AND $d<24)) return 'Libra';
        if (($m=='10' AND $d>23) OR ($m=='11' AND $d<23)) return 'Scorpion';
        if (($m=='11' AND $d>22) OR ($m=='12' AND $d<22)) return 'Sagittarius';
        if (($m=='12' AND $d>21) OR ($m=='01' AND $d<19)) return 'Capricorn';
        if (($m=='01' AND $d>20) OR ($m=='02' AND $d<19)) return 'Aquarius';
        if (($m=='02' AND $d>18) OR ($m=='03' AND $d<21)) return 'Fish';
     
        return null;
    }
     
    //тестирование (пример для 3 декабря)
    echo $zodiak[zodiak(3,12)]; //Стрелец
     
    ?>

    nepster, 01 Июля 2012

    Комментарии (52)
  6. C++ / Говнокод #10760

    −42

    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
    #include <iostream>
    
    using namespace std;
    int main()
     {
    for(int i = 0x1; 0x1 <= i; i++)
     {
    int a = 0x5;
    int b = 0xa;
     cin >> i;
    if(b || a)
     {
     a += 0x5;
     cout << "\n ";
     cout << "первое условие: ";
     cout << "\n ";
     cout << "переменная a = " << a;
     cout << "\n ";
     cout << "переменная b = " << --b + 0x5 - 0x9;
     cout << "\n";
    goto var;
     }
    else
     {
     var:
     cout << "\n ";
    cout << "второе условие: ";
     a = (0xa - 0x5);
     cout << "\n ";
     cout << "переменная a = " << a;
     cout << "\n ";
     cout << "переменная b = " << ++b;
     cout << "\n";
     }
    break;
     }
    
     system("pause");
    return 0;
     }

    Попросил чела решить классическую задачку - обменять значениями две переменные, не используя третьей

    telhar, 08 Июня 2012

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

    +108

    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
    string result = Encoding.GetEncoding(CharSet).GetString(resultData);
                //       сам паттерн    \[\[\[\"([^"]*)
    
    
                String commonString = "";
                commonString += @"\";
                commonString += @"[";
                commonString += @"\";
                commonString += @"[";
                commonString += @"\";
                commonString += @"[";
                commonString += @"\";
                commonString += "\"";
                commonString += @"(";
                commonString += "[";
                commonString += "^";
                commonString += "\"";
                commonString += @"]";
                commonString += @"*";
                commonString += @")";
                String pattern = commonString;
    
                Regex reg = new Regex(pattern);
                var mathces = reg.Match(result);
                String stringResult = mathces.ToString().Replace("[[[\"", "");

    Сборка паттерна регулярки, скажите как можно такое покороче собрать

    AndrKn, 11 Апреля 2012

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

    +188

    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
    <?php
    
    	...
    	
    	$Sex = $_POST['sex'];	//Пол юзера из поискового запроса
    	$searchSex = $_POST['searchsex'];	//Пол искомого партнёра
    	
    	...
    	
    	if ($Sex == $searchSex)	//Осторожно, педерасты!
    	{
    		...
    		//Вывод капчи
    		...
    	}
    	
    ?>

    Из написанного знакомым движка для сайта знакомств. Комментарии оригинала.

    vistefan, 29 Января 2012

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

    +997

    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
    vector<string> task(vector<string> words, string abbrev)
    {
         vector<string> results;
         
         int index = 0;
         while (index < words.size())
         {
              bool t = true;
              string result = "";
              for (int i = 0; i < abbrev.size(); i++)
              {
                   if ( (index+i)<words.size() )
                   {
                        if (words[index+i][0] == abbrev[i])
                        {
                             result+=words[index+i]+" ";
                        }
                        else 
                        {
                             t = false;
                             break;
                        }
                   }
                   else t = false;
              }
              if (t) results.push_back(result);
              index++;
         }
         return results;
    }

    Поиск всех возможных расшифровок аббревиатуры в векторе строк. И пофиг что существует алгоритм search.

    Stanislaw374, 05 Ноября 2011

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

    +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
    xxx: Скажите пожалуйста нубоюзеру, как в сишарпе извлечь корень определённой степени?
    yyy: http://msdn.microsoft.com/ru-ru/library/system.math.sqrt.aspx (Math.Sqrt, Возвращает квадратный корень из указанного числа.)
    xxx: Спасибо, но желательно бы не только >квадратный< корень, но и заданной степени.
    yyy: Делай через циклы или рекурсивно.
    double SuperSquare(double number, int n)
    {
     double result = number;
     for(int i = 0; i < n; i++)
     {
     result = Math.Sqrt(result)
     }
     return result;
    }
    // Както так

    Инновационный способ вычислять корень заданной степени.

    flawy, 23 Августа 2011

    Комментарии (52)
  11. PHP / Говнокод #7553

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ((!IsForum() && $url[0] != 'underwater-video' && $end_element !='diveclan' && $end_element !='partners') || ($url[0] != 'underwater-photo' && sizeof($url)==1))
            if ($url[0]!='atlas-uw-photo' && !empty($title) && $end_element!='diving-guide' && $end_element!='atlas-wrecks' && $end_element!='atlas-deep'  && $end_element!='atlas-caves' && $end_element!='sea-inhabitants')
                    if ($APPLICATION->GetCurPage()!='/underwater-video/mygallery.php' && $APPLICATION->GetCurPage()!='/underwater-video/add.php' && $APPLICATION->GetCurPage()!='/atlas_update/travel_add/index.php')
                            if ($url[0] != 'diving-media' && $url[0] != 'underwater-photo')
                                    $APPLICATION->SetTitle($title);

    Унифицированный костыль тайтлов на битриксе. Это лежит во вкл области, которая цепояется после </html>

    atarix12, 16 Августа 2011

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