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

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

    +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
    namespace Test.Data
    {
        public class Connection
        {
            public static SqlConnection getConnection()
            {
                string server = "";
    
                if (!File.Exists(@"C:\ConnectionParameters.ini"))
                    LogFileAdministration.WriteMessage("The ConnectionParameters.ini file does not exist.");
    
                else
                {
                    StreamReader reader = new StreamReader(@"C:\ConnectionParameters.ini");
                    server = reader.ReadLine();
                    reader.Close();
                }
    
                return new SqlConnection(@"Data Source= " + server + "; Integrated Security=SSPI; Initial Catalog=Test");
            }
        }
    }

    Итальянский программист. Из Италии. Внезапно попросился на работу. Отослал резюме. Дали ему тестовое задание - намутить поиск по табличке, по ключевой фразе с пейджингом.
    Что из этого вышло - смотрим улыбаемся.

    ursus, 18 Октября 2010

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

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // Split the domain in parts
    string[] sParts = sEmailAddress.Split("@".ToCharArray(), 42);
    
    // An e-mail address must, as a minimum, contain 2 parts separated by a @
    if (sParts.Length != 2) 
    {
        throw new InvalidEmailAddressException(sEmailAddress);
    }

    Валидатор email-адреса.

    musuk, 26 Августа 2010

    Комментарии (23)
  4. C# / Говнокод #3894

    +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
    public void GeneratXMLForChatServerControl()
            {
                List<ClassUsersList> List = GetUsersList();
                System.IO.StreamWriter TextW = new System.IO.StreamWriter("Update_Settings.xml", false,System.Text.Encoding.GetEncoding("UTF-8"));
                
                TextW.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
                TextW.WriteLine("<General>");
                foreach (ClassUsersList User in List)
                {
                    User.Information = User.Information.Replace("<", "");
                    User.Information = User.Information.Replace(">", "");
                    User.Information = User.Information.Replace("&", "");
                    TextW.WriteLine("<Name>" + User.Information + "</Name>");
                    TextW.WriteLine("<Login>" + User.UIN + "</Login>");
                    TextW.WriteLine("<Password>" + User.Pwd + "</Password>");
                    TextW.WriteLine("<LocalPath>D:\\chat2\\" + User.UID + "\\</LocalPath>");
                    TextW.WriteLine("<UID>" + User.UID + "</UID>");
                    TextW.WriteLine("<UIN>" + User.UIN + "</UIN>");
                    TextW.WriteLine("<Lock>0</Lock>");
                    TextW.WriteLine("");
                }
                TextW.WriteLine("</General>");
                TextW.Flush();
                TextW.Close();         
            }

    Крутобл, создаём XML налету

    Nigma143, 06 Августа 2010

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

    +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
    <?php
    //вот это наверное самый тупой вывод случаных ссылок из бд
    $zap="select * from stat";$zap=mysql_query($zap);$zap=mysql_num_rows($zap);$id=rand($zap-5,-1);
    $query="select * from stat where (id=$id)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name=$inc[0];//первая ссылка
    $query="select * from stat where (id=$id+1)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop2=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name2=$inc[0];//Вторая ссылка
    $query="select * from stat where (id=$id+2)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop3=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name3=$inc[0];//третья ссылка
    $query="select * from stat where (id=$id+3)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop4=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name4=$inc[0];//четвертая  ссылка
    $query="select * from stat where (id=$id+4)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop5=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name5=$inc[0];//пятая ссылка
    ?>
    <a href="<?php echo ("$nhost/stat/$dop/");?>"><?php echo ("$name");?></a>
    <a href="<?php echo ("$nhost/stat/$dop2/");?>"><?php echo ("$name2");?></a>
    <a href="<?php echo ("$nhost/stat/$dop3/");?>"><?php echo ("$name3");?></a>
    <a href="<?php echo ("$nhost/stat/$dop4/");?>"><?php echo ("$name4");?></a> 
    <a href="<?php echo ("$nhost/stat/$dop5/");?>"><?php echo ("$name5");?></a>
    </b>
    <div  class="artif" ></div>

    Vasiliy, 29 Июля 2010

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

    +124

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    def loop(fahrenheit)
    {
       //Тело цикла...
    
      match (match (fahrenheit >= 0) { | true  => fahrenheit < 300 | false => false })
      {
        | true  => loop(fahrenheit + 20);
        | false => ()
      }
    }

    Цикл на языке Nemerle. Найдено в одной обучающей статье для начинающих нубов.

    WebKill_HochetVBan, 08 Июля 2010

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

    +124

    1. 1
    long toPageEmail = --emailToEmailFrom + 1;

    //Писалось сквозь закрытые глаза, в 6 утра.

    BlincAttack, 01 Июля 2010

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

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    char arr[] = ... // Здесь происходит чтение массива, неважно как
    string result = "";
    for(int i = 0; i < arr.Length; i++) 
    {
        result += Char.ToString(arr[i]);
    }
    
    Console.WriteLine(result);

    Что интересно, автор уже пол года на C# пишет, до этого 2 года на Java. Решение ко всему прочему еще и очевидно с квадратичной сложностью. А должно быть, естественно Console.WriteLine(new String(array));

    theos, 27 Мая 2010

    Комментарии (52)
  9. 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)
  10. Си / Говнокод #3149

    +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
    void f()
    {
    char d[14] = "Hello, error!";
    }
    
    void h()
    {
    char d[14];
    std::cout<<d;
    }
    
    int main()
    {
    f();
    h();
    }

    Кто отгадает, что делает этот код(а еще лучше почему он вобще работает) тому ни чего не будет.

    hromjo, 02 Мая 2010

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

    +123.9

    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
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        <mx:Script>
            <![CDATA[
                ...
                private function someFunction(event:Event):void {
                    progressBar.setProgress(0, 0);
                    
                    PopUpManager.addPopUp(progressBar, cameraView, true);
                    PopUpManager.centerPopUp(progressBar);
                }
                
                private function updateProgress(event:ProgressEvent):void {
                    progressBar.setProgress(event.bytesLoaded, event.bytesTotal);
                }
            ]]>
            
        </mx:Script>
        
        <!--
            Опытным путем удалось установить, что бегущая полоска в ProgressBar
            отображается в PopupManager  только тогда, когда у него есть
            предок с borderStyle="solid", иначе прогресс просто стоит!
        -->
        <mx:Canvas borderStyle="solid" visible="false"> 
            <mx:ProgressBar id="progressBar" label="complete %3%%" labelPlacement="center" mode="manual" x="20" y="10"></mx:ProgressBar>
        </mx:Canvas>
    </mx:Application>

    adobe flex 3
    разгребал это два дня!

    striker, 07 Февраля 2010

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