1. C++ / Говнокод #3326

    +157

    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
    // Для получения имени компьютера напишите следующий код:
    unsigned long Size = MAX_COMPUTERNAME_LENGTH + 1;
    char *Buffer = new char[Size];
    GetComputerName(Buffer, &Size);
    // после выполнения данного кода имя компьютера будет
    // содержаться в Buffer. После того, как Buffer перестанет быть
    // вам нужным, не забудьте вызвать delete [] Buffer.
    
    /*-------------------*/
    
    //Изменение имени компьютера
    
    // для изменения имени компьютера воспользуйтесь функцией
    // SetComputerName
    SetComputerName("НОВОЕ_ИМЯ_КОМПЬЮТЕРА");
    // не забудьте перезагрузить машину

    Имя компьютера - получение и изминение в C++ Builder
    (c) webkill http://webkill.ru/content/?id=508

    This is obvious, 26 Мая 2010

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

    +160

    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
    bool S()
        {
            if(VD){std::cout<<"S";}
            bool b;
            if(D()==true) {b= true;}
            else {b=false;};
            return b;
        }
    
            bool D()
        {
            if(VD){std::cout<<" => D";}
            bool b=true;
            bool b1=DC();
            bool b2=DV();
            bool b3=DP();
            b=b1&b2&b3;
            return b;
        }
            bool DC()
        {
            if(VD){std::cout<<" => DC";}
            bool b=(M[i] == "CONST");
            i++;
            if (b && (COK()) && (M[i] == ";")) {b=true;}
            else {b=false;
            };
            i++;
            return b;
        }

    Код из лабораторной работы студента 3-го курса Севастопольского национального технического университета, факультет Автоматики и вычислительной техники. Данный код является фрагментом синтаксического анализатора (методом рекурсивного спуска).

    Serega_M31, 26 Мая 2010

    Комментарии (9)
  3. Java / Говнокод #3324

    +81

    1. 1
    if (loggedInUser.getEmail().equalsIgnoreCase( "" ) ) { ... }

    raorn, 26 Мая 2010

    Комментарии (13)
  4. VisualBasic / Говнокод #3323

    −349

    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
    Function shr(ByVal a As Long, ByVal i As Long) As Long
    Dim r As Variant
    r = a / (2 ^ i)
    shr = Fix(r)
    End Function
    
    'используется для получения значения n-го бита таким вот образом
    if (shr(value,n) mod 2)=1 then
    ....
    end if
    
    'в другом месте почему-то биты проверяются по-другому
    For i = 2 To Len(s)
      a = Asc(Mid(s, i, 1))
      b = (q Mod (2 ^ (i - 1))) \ (2 ^ (i - 2))
      If b = 1 Then a = a - 32  'сути этого я так и не понял
      t = t + Chr(a)
    Next

    мастерская работа с битами. епта я б на асме это в 1 строку сделал

    3.14159265, 26 Мая 2010

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

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (dataTank.UpdateSQLTable(addressTbl, (int)SharedConstants.FocusAdapterTables.Address, SharedConstants.FocusAdapterTables.Address.ToString()) > 0)
              {
                return true;
              }
              return false;

    Yeah, baby!
    Похоже, ребята специально создавали себе места для рефакторинга - набудущее, чтобы было чем заняться.

    Progreso, 26 Мая 2010

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

    +169

    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
    htaccess:
    
    DirectoryIndex index.php
    RewriteEngine on
    RewriteBase /
    RewriteRule ^0.html$ style/index.php
    RewriteRule ^1.html$ style/index.php?id=register
    RewriteRule ^2.html$ style/index.php?id=download
    RewriteRule ^3.html$ style/index.php?id=top_chars
    RewriteRule ^4.html$ style/index.php?id=who_online
    RewriteRule ^5.html$ style/index.php?id=top_zeny
    RewriteRule ^6.html$ style/index.php?id=top_mvp
    RewriteRule ^7.html$ style/index.php?id=top_pvp
    RewriteRule ^8.html$ style/index.php?id=top_guild
    RewriteRule ^9.html$ style/index.php?id=who_sell_buy
    RewriteRule ^10.html$ style/index.php?id=first_class
    
    
    php:
    
    <?php
    $url = $REQUEST_URI;
    $url2 = strlen($url);
    if($url2 > 14) { 
    header("location: ./");
    exit;
    }
        
    ?>

    Комментарий от автора:

    "Да тут реврайт для того, чтобы превратить ссылки в одинаковую длину, а потом уже проверять длину ссылки, если больше нормы переадресиция на главную..."

    xynta, 26 Мая 2010

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

    +124

    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
    switch ((int)row["State"])
              {
                case 0:
                  /*** Get Contact Row for Company ***/
                  if (contactTbl != null)
                  {
                    contactRow = null;
                    DataRow[] contactRows = contactTbl.Select("Company_Id='" + row["Id"].ToString() + "'");
                    if (contactRows != null && contactRows.Length > 0)
                    {
                      contactRow = contactRows[0];
                      if ((bool)contactRow["fDontMailshot"] == false)
                      {
                        thisMailShot = true;
                      }
                      else
                      {
                        thisMailShot = false;
                      }
                    }
                  }
    
                  if ((bool)row["fManagementCompany"] == true)
                  {
                    if (row["Id"].ToString() == "00-20181" || row["Id"].ToString() == "00-60838")
                    {
                      myEntityID = Entity(2, row);
                      if (!SubContractor(myEntityID, row)) { return false; }
                    }
                    else
                    {
                      myEntityID = Entity(10, row);
                    }
                    if (myEntityID < 0) { return false; }
                    if (!Address(myEntityID, row)) { return false; }
                    if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
                  }
                  else if ((bool)row["fSubcontractor"] == true || ((bool)row["fSupplier"] == true && (bool)row["fCustomer"] == false))
                  {
                    myEntityID = Entity(2, row);
                    if (myEntityID < 0) { return false; }
                    if (!Address(myEntityID, row)) { return false; }
                    if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
                    if (!SubContractor(myEntityID, row)) { return false; }
                  }
                  else if ((bool)row["fHousingAssociation"] == true)
                  {
                    myEntityID = Entity(7, row);
                    if (myEntityID < 0) { return false; }
                    if (!Address(myEntityID, row)) { return false; }
                    if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
                    if (!Customer(myEntityID, row, thisMailShot)) { return false; }
                  }
                  else if ((bool)row["f2ndOwnerTenant"] == true && (bool)row["fCustomer"] == false)
                  {
                    myEntityID = Entity(8, row);
                    if (myEntityID < 0) { return false; }
                    if (!Address(myEntityID, row)) { return false; }
                    if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
                    if (!Customer(myEntityID, row, thisMailShot)) { return false; }
                  }
                  else if ((bool)row["fCustomer"] == true && (bool)row["f2ndOwnerTenant"] == false)
                  {
                    myEntityID = Entity(7, row);
                    if (myEntityID < 0) { return false; }
                    if (!Address(myEntityID, row)) { return false; }
                    if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
                    if (!Customer(myEntityID, row, thisMailShot)) { return false; }
                  }
                  else if ((bool)row["fCustomer"] == true && (bool)row["f2ndOwnerTenant"] == true)
                  {
                    myEntityID = Entity(7, row);
                    if (myEntityID < 0) { return false; }
                    if (!Address(myEntityID, row)) { return false; }
                    if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
                    if (!Customer(myEntityID, row, thisMailShot)) { return false; }
                  }
                  break;
                default:
                  break;
              }

    Отличный пример использования конструкций ветвления. Имеем switch, в нём один case, а в кейсе много-много иф-элсов. И что очень характерно для этого проекта с тремя классами по 9000 строк, никакого повторного использования кода. Реализация принципа "зачем писать меньше?".

    Progreso, 26 Мая 2010

    Комментарии (10)
  8. Pascal / Говнокод #3319

    +116

    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
    for m:=0 to 9 do
          mas[m]:=inttostr(m);
      if ((Form1.edit1.text='')or(Form1.Memo2.text='')) then    begin
          if Form1.Memo2.text='' then
              ShowMessage('Ошибка! Введите пожалуйста текст или подключите файл,который необходимо расшифровать!!!');
          if Form1.edit1.text='' then
              ShowMessage('Ошибка! Введите пожалуйста ключ,которым будет расшифрован текст!!!');
        end
      else    begin
          //проверка ключа
          key:=Form1.edit1.text;
          k:=length(key);
          c:=0;
          k_p:=true;
          for j:=1 to k do
          for m:=0 to 9 do begin
              if (key[j]=mas[m]) then  
                  inc(c)
              else Begin
                  if (m=9) then
                    if (c=0) then Begin
                        ShowMessage('Ошибка!!!Введите пожалуйста ключ,которым будет расшифрован текст-целые числа');
                        k_p:=false;
                      end
                    else
                      c:=0;
                end;
            end;
        end;

    говнокриптография...

    3.14159265, 26 Мая 2010

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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <script>                                                                                                                           
    function build_view(){
      $('div.content').append(""+  <?php $flag=false; foreach($work_meters as $work){?> "<div id=\"<?=$work->id?>\" style='margin-bottom:30px;' >  <span class=\"name\"><?=$work->name?> </span>  <div s\
    tyle=\"display:inline;float:left\" align=\"left\" >   <table class='data_table' style=\"margin-top:50px;\" id='table_<?=$work->id?>'>    <tr>    <td>дата</td><td>значение</td>"+  <?php if(in_array\
    (5, $user->roles)) { ?> "  <td></td>    "+  <?php } ?> <?php while(list($key, $vals) = each($work->data)){ ?>  "  <tr><td><?=$vals[0]?></td> <td><?=$vals[1]?></td>      "+     <?php if(in_array(5,\
     $user->roles)) { ?>        "    <td><a onclick=\"delete_row(<?=$key?>, <?=$work->id?>)\" href='javascript:void(0);'>удалить</a></td>       "+    <?php } ?>  "     </tr>   "+        <?php } ?>"   \
    </tr>     "+  <?php if(in_array(5, $user->roles)) { ?>  "  <tr><td><input type='text' name='date' size='7'/></td><td><input type='text' name='value' size='5'/></td><td><input type='button' value='\
    добавить' onclick='add_data(<?=$work->id?>, $(this).parent().parent());'></td></tr>       <tr><td colspan='3' style='text-align:right;'><input type='button' onclick='save(<?=$work->id?>);' value='\
    сохранить'></td></tr>       "+  <?php } ?>  "  </table> </div>  <div style=\"width:600px;height:300px;margin-left:120px;\" class=\"image\">     </div>  <div class=\"description\" style='margin-top\
    =10px;'>    <?=$work->description?> </div>  </div>"+        <?php $flag = true;} ?>"" );
      }
    </script>

    эта ересь генерирует html для javascript функции которая втсавляет это всё в страницу.

    Arnial, 26 Мая 2010

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

    +157

    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
    /**********************************************************************
    		*  Connect to DB - over-ridden by specific DB class
    		*/
    
    		function connect()
    		{
    			die(EZSQL_CORE_ERROR);
    		}
    
    		/**********************************************************************
    		*  Select DB - over-ridden by specific DB class
    		*/
    
    		function select()
    		{
    			die(EZSQL_CORE_ERROR);
    		}
    
    		/**********************************************************************
    		*  Basic Query	- over-ridden by specific DB class
    		*/
    
    		function query()
    		{
    			die(EZSQL_CORE_ERROR);
    		}
    
    		/**********************************************************************
    		*  Format a string correctly for safe insert - over-ridden by specific
    		*  DB class
    		*/
    
    		function escape()
    		{
    			die(EZSQL_CORE_ERROR);
    		}
    
    		/**********************************************************************
    		*  Return database specific system date syntax
    		*  i.e. Oracle: SYSDATE Mysql: NOW()
    		*/
    
    		function sysdate()
    		{
    			die(EZSQL_CORE_ERROR);
    		}

    Продвинутый способ создания абстрактных методов. Это кагбе абстрактный класс, от которого наследуются БД-специфичные классы. Затем какая вам БД нужна, под такую руками и создавайте экземпляр нужного класса, "фабрикой" даже и не пахнет.
    Зовётся сие чудо ezSQL. Используется в NetCat. Ладно хоть не сами наложили (налажали?), но всё ж головой не подумали, когда брали.

    telnet, 26 Мая 2010

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