1. SQL / Говнокод #11762

    −161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (IDATUMS is null) then
        begin
            suspend;
            exit;
            REZULT = "Nevar importet gramatojumu id:" || :NOMER_DOC;
            execute procedure TSEND_ERROR(:REZULT);
        end

    Гениальнейшая PSQL-конструкция в СУБД Firebird. Автор, видимо, не в курсе, что после EXIT процедура больше не выполняется :]

    N21, 13 Сентября 2012

    Комментарии (3)
  2. C# / Говнокод #11760

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    private void SendFile(string root, string url, DateTime dateTimeBegin)
    {
    	if ( ... isSend ... )
    	{
    		...MoveToArchive();
    		...Dispose();
    	}
    	else
    	{
    		SendFile(root, url, dateTimeBegin);
    	}
    }

    Ну тут всё ясно...
    Если файлики отсылаются нормально, то всё работает хорошо.
    Зато если файлики не отсылаются, то начинается злая рекурсия, которая постепенно сжирает всю память :).

    ddv_demon, 13 Сентября 2012

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

    +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
    <option <? if(isset($_POST['day']) and $_POST['day']=="01") echo "selected";  ?>   value="01">1</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="02") echo "selected";  ?>  value="02">2</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="03") echo "selected";  ?>  value="03">3</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="04") echo "selected";  ?>  value="04">4</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="05") echo "selected";  ?>  value="05">5</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="06") echo "selected";  ?>  value="06">6</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="07") echo "selected";  ?>  value="07">7</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="08") echo "selected";  ?>  value="08">8</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="09") echo "selected";  ?>  value="09">9</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="10") echo "selected";  ?>  value="10">10</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="11") echo "selected";  ?>  value="11">11</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="12") echo "selected";  ?>  value="12">12</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="13") echo "selected";  ?>  value="13">13</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="14") echo "selected";  ?>  value="14">14</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="15") echo "selected";  ?>  value="15">15</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="16") echo "selected";  ?>  value="16">16</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="17") echo "selected";  ?>  value="17">17</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="18") echo "selected";  ?>  value="18">18</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="19") echo "selected";  ?>  value="19">19</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="20") echo "selected";  ?> value="20">20</option>
                  <option  <? if(isset($_POST['day']) and $_POST['day']=="21") echo "selected";  ?> value="21">21</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="22") echo "selected";  ?>  value="22">22</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="23") echo "selected";  ?>  value="23">23</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="24") echo "selected";  ?>  value="24">24</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="25") echo "selected";  ?>  value="25">25</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="26") echo "selected";  ?>  value="26">26</option>
                  <option  <? if(isset($_POST['day']) and $_POST['day']=="27") echo "selected";  ?> value="27">27</option>
                  <option  <? if(isset($_POST['day']) and $_POST['day']=="28") echo "selected";  ?> value="28">28</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="29") echo "selected";  ?>  value="29">29</option>
                  <option <? if(isset($_POST['day']) and $_POST['day']=="30") echo "selected";  ?>  value="30">30</option>
                  <option  <? if(isset($_POST['day']) and $_POST['day']=="31") echo "selected";  ?> value="31">31</option>

    вЫводим дни в селекте )) А как ты выводишь дни в селекте? %)

    Diwms, 13 Сентября 2012

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

    +49

    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
    wordpress:
    function __( $text, $domain = 'default' ) {
    	        return translate( $text, $domain );
    }
    
    function translate( $text, $domain = 'default' ) {
    	        $translations = &get_translations_for_domain( $domain );
    	        return apply_filters( 'gettext', $translations->translate( $text ), $text, $domain );
    }
    
    PHP-manual:
    PHP reserves all function names starting with __ as magical. It is recommended that you do not use function names with __ in PHP unless you want some documented magic functionality. 
    
    wordpress:
    /*
    * Don't use translate() directly, use __()
    */

    xcont, 12 Сентября 2012

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

    +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
    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
    internal static double GetExtendedFromBytes(byte[] bytes)
            {
                /*
                    1   15      1   63
                    s   e       i 	f
    
                        The value v of the number is given by: 
                    if 0 <= e < 32767, then v = (-1)s * 2(e-16383) * (i.f) 
                    if e = 32767 and f = 0, then v = (-1)s * Inf 
                    if e = 32767 and f <> 0, then v is a NaN
                 */
                const int memSize = 10;
                if (bytes == null)
                    throw new ArgumentNullException("bytes");
                if (bytes.Length != memSize)
                    throw new ArgumentException("Must be " + memSize + " bytes", "bytes");
    
                int s = bytes[0] >> 7;
                int e = 0x7FFF & ((bytes[0] << 8) | bytes[1]);
                int i = bytes[2] >> 7;
                ulong f = (ulong)(0x7F & bytes[2]);
                for (int j = 3; j < memSize; j++)
                {
                    f <<= 8;
                    f |= bytes[j];
                }
    
                decimal df = (decimal)f / 10000000000000000000 /* 10^19 */; // число f в формате 0.f
                double v;
                if (0 <= e && e < 32767)
                {
                    int pow = e - 16383;
                    decimal c = (s == 0 ? 1 : -1) * (decimal)Math.Pow(2, pow);
                    decimal dv = c * (i + df); // значение, полученное по формуле для x86 Extended Precision Format
    
                    if (f != 0) // HACK при вычислении по формуле искомое значение не удается получить - исправляем
                    {
                        const decimal mn = 0.0776627963145224192m; // magic number, при значениях отличных от 2^x возникает разница кратная этому значению
    
                        decimal delta = Math.Abs(dv - c);
                        decimal add = 0;
                        if (pow >= 4)
                            add = Math.Round(delta * 1.0842021724855044340074528009m); // еще magic number
                        else if (pow >= 2)
                            add = Math.Ceiling(delta);
                        else if (pow >= 0)
                            add = Math.Ceiling(delta * 10) / 10m;
                        else
                        {
                            decimal m = 10m * (decimal)Math.Pow(2, Math.Abs(pow));
                            add = Math.Ceiling(delta * m) / m;
                        }
                        if (dv > 0)
                            dv += add * mn;
                        else
                            dv -= add * mn;
                    }
                    v = (double)dv;
                }
                else if (e == 32767)
                {
                    if (f == 0)
                        v = s == 0 ? double.PositiveInfinity : double.NegativeInfinity;
                    else
                        v = double.NaN;
                }
                else
                {
                    throw new ArgumentOutOfRangeException("bytes");
                }
    
                return v;
            }

    Местные индусы постарались. Перевод 80 bit floating point в double. Причём если прочитать спецификацию IEEE-754, то код займет 3-4 строчки с простыми битовыми операциями.

    NetDeveloper, 12 Сентября 2012

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

    +51

    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
    class happy
    {
    
    public $today = 0;
    public $text = null;
    public function __construct($text)
    {
    if (!$text){
    exit('ничего не пришло!:(');
    }
    if ($text)
    {
    $this->text = $text;
    }
    }
    public function today()
    {
    $date = date('z');
    $this->today = $date;
    return $this->today;
    }
    
    public function echotext()
    {
    if (!$this->text)
    {
    echo 'нет текста!';
    }
    if ($this->text)
    {
    echo $this->text;
    }
    }
    
    }
    if (date('z') == 256)
    {
    $obj = new happy('С днём программиста!');
    if ($obj->today == 0)
    {
    $obj->today();
    }
    if ($obj->today == 256)
    {
    $obj->echotext();
    }
    }

    С праздником!

    kuler, 12 Сентября 2012

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    #include <beer>
    #include <autopilot>
    
    // C праздничком, говнокодеры

    istem, 12 Сентября 2012

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

    +20

    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
    #include <iostream>
    #include <string>
    #include <stdio.h>
    #include <time.h>
    
    int main()
    {
        time_t now = time(0);
        struct tm  tstruct = *localtime(&now);
    
        if (tstruct.tm_yday & 0xff) {   
           std::cout << "Pasony, segodnja den' programmista!"<< std::endl;
        } else {
            /*Syscall platform dependent implementation */
            //KeepCoding();
        }
        
    return 0;
    }

    ВНЕЗАПНО: http://tinyurl.com/c8kkxl8

    sayidandrtfm, 12 Сентября 2012

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <ul>
     <li><label><input class="smert_zaemchika" type="checkbox" /> Смерть заемщика</label></li>
     <li><label><input class="poterya_raboty" type="checkbox" /> Потеря работы</label></li>
     <li><label><input class="ne_nado" type="checkbox" /> Нет</label></li>
     </ul>

    не могу больше молчать......

    Mihard, 12 Сентября 2012

    Комментарии (2)
  10. bash / Говнокод #11752

    −109

    1. 1
    cd /root/jbot; java -jar jimbot.jar 2> /dev/null 1> /dev/null &

    Я тихонечко это тут положу...
    А вот по скромному мнению автора, что делают эти строки:

    Вот выбрал систему Ubuntu (прим: видимо речь идет о VPS/VDS дай бог что не в виртуалбоксе под виндой). Администратирование веду через программу PuTTy.
    В даный момен я тестирую ICQ чат. Для этого надо включить java. В моем случае это так:
    cd /root/jbot; java -jar jimbot.jar 2> /dev/null 1> /dev/null &
    “Убить” процес:
    sudo killall -9 java
    cd – значит что выбрать из дериктории /root/jbot; и с дериктории java -jar jimbot.jar значок запустить 2>/dev/null так же второй скрипт 1> /dev/null и значок завершение &

    Исходник тута: http://zvlad.com/3-zapusk-icq-chata-v-ubuntu.html

    deep, 12 Сентября 2012

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