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

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

    −140

    1. 1
    2. 2
    3. 3
    Если (ШаблонПроводки.Наименование = "Распределять пропорционально расчетной базе") Тогда
    	МожноПроводить = 0;
    	Сообщить(НазваниеДока+"неверно указан шаблон проводки", "!");

    Это так профессионально, сравнивать строки...

    1_and_0, 24 Ноября 2010

    Комментарии (12)
  3. SQL / Говнокод #4735

    −857

    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
    -- Возвращает название месяца по русский
       FUNCTION fmonstr (pmon IN VARCHAR2)
          RETURN CHAR
       IS
          TYPE tmon IS TABLE OF VARCHAR2 (60)
             INDEX BY BINARY_INTEGER;
    
          amon   tmon;
       BEGIN
          amon (1) := 'ЯНВАРЬ';
          amon (2) := 'ФЕВРАЛЬ';
          amon (3) := 'МАРТ';
          amon (4) := 'АПРЕЛЬ';
          amon (5) := 'МАЙ';
          amon (6) := 'ИЮНЬ';
          amon (7) := 'ИЮЛЬ';
          amon (8) := 'АВГУСТ';
          amon (9) := 'СЕНТЯБРЬ';
          amon (10) := 'ОКТЯБРЬ';
          amon (11) := 'НОЯБРЬ';
          amon (12) := 'ДЕКАБРЬ';
          RETURN amon (TO_NUMBER (pmon));
          NULL;
       END;                                                        --  End fMonStr

    о наличие nls_date_language=russian и to_char() видимо не догадывались

    itaho, 24 Ноября 2010

    Комментарии (12)
  4. Java / Говнокод #4681

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // где-то:
      public boolean isLoaded() {
        return (boolean) (this.sequencer.isOpen());
      }
    
    //там:
    public boolean isOpen();

    код к книжке

    Lure Of Chaos, 19 Ноября 2010

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

    +114

    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 DataTable GetMainMenu()
    {
        DataTable dt = null;
        if (DataManager.IsClientServer)
        {
            dt = new DataTable();
            using (OracleCommand qGetMainMenu = new OracleCommand())
            {
                qGetMainMenu.Connection = DataManager.OracleSession;
                qGetMainMenu.CommandText = String.Format("SELECT * FROM {0}.V_MENU", DataManager.DataSchema);
                using (OracleDataReader odr = qGetMainMenu.ExecuteReader())
                {
                    dt.Load(odr);
                    odr.Close();
                }
            }
        }
        else
        {
            using (Service.AbvServiceClient client = Utils.CreateServiceClient())
            {
                dt = client.GetMainFormMenu();
            }
        }
        return dt;
    }

    2-х или 3-х звенка? прямой вызов или Wcf-служба?
    з.ы. повсеместно во всем проекте

    coyote, 18 Ноября 2010

    Комментарии (12)
  6. Си / Говнокод #4665

    +132

    1. 1
    2. 2
    3. 3
    const long long_value = PyInt_AsLong(value);                                      
    const int int_value = (int)long_value;                                            
    if (PyErr_Occurred() || long_value != int_value) { /* Overflow */

    PyMongo...

    raorn, 17 Ноября 2010

    Комментарии (12)
  7. JavaScript / Говнокод #4641

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function check() {
      if (document.login.user.value == "user" && document.login.password.value == "correct_password")
        window.location.href = 'http://this.site/login.html';
      else
        window.location.href = 'http://this.site/loginfehler.html';
    return false;
    }

    http://ithappens.ru/bytag/webdev/13 - И смех и грех!

    dwinner, 15 Ноября 2010

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

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ...
    while (true)
    {
         if(i > 5 || SourceNumber == Math.Floor(SourceNumber)) break;
         ...
         i++;
    }
    ...

    Мартин, 15 Ноября 2010

    Комментарии (12)
  9. PHP / Говнокод #4449

    +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
    <?php
    
            // ...
            $buffer='$buffer';
            $text = '$text';
            // ...
    
            $file = <<<CODE
    <?php
    
        // ...
    
        function prepareText($text)
        {
            $text = str_replace("\\n\\r", " ", $text);
            $text = str_replace("\\r\\n", " ", $text);
            $text = str_replace("\\n", " ", $text);
    
            return $text;
        }
    
        // ...
    CODE;

    Суть такова: нужно было генерировать пхп код, который впоследствии должен был выполняться на клиенте.
    Угадайте, зачем нужны переменные $buffer, $text и еще много таких, в которых лежит имя самой переменной в строке?

    user654321, 26 Октября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    if( empty( $page ) || empty( $_REQUEST['page'])) {
    	if( !empty($_REQUEST['amp;page'])) {
    		$page = $_REQUEST['amp;page'];

    из VirtueMart - компонента для Джумлы.
    интересно, почему нету проверок на $_REQUEST['amp;amp;page']; и $_REQUEST['amp;amp;amp;page']; ?

    Shock, 17 Октября 2010

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

    +158

    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
    <?
    // регистрационная информация (пароль #1)
    // registration info (password #1)
    $mrh_pass1 = "Morbid11";
    
    // чтение параметров
    // read parameters
    $out_summ = $_REQUEST["OutSum"];
    $inv_id = $_REQUEST["InvId"];
    $shp_item = $_REQUEST["Shp_item"];
    $crc = $_REQUEST["SignatureValue"];
    
    $crc = strtoupper($crc);
    
    $my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item"));
    
    // проверка корректности подписи
    // check signature
    if ($my_crc != $crc)
    {
      echo "bad sign\n";
      exit();
    }
    
    // проверка наличия номера счета в истории операций
    // check of number of the order info in history of operations
    $f=@fopen("order.txt","r+") or die("error");
    
    while(!feof($f))
    {
      $str=fgets($f);
    
      $str_exp = explode(";", $str);
      if ($str_exp[0]=="order_num :$inv_id")
      { 
    	echo "Операция прошла успешно\n";
    	echo "Operation of payment is successfully completed\n";
      }
    }
    fclose($f);
    ?>

    учитесь, как надо с онлайн-наличкой работать
    http://www.robokassa.ru/Doc/demo_php.zip

    xXx_totalwar, 12 Октября 2010

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