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

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

    +148

    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
    #include <cstdio>
    #include <memory.h>
    
    #define maxn 18
    
    char c[maxn][maxn];
    int d[1 << maxn];
    
    int main()
    {
      freopen("network.in", "rt", stdin);
      freopen("network.out", "wt", stdout);
      
      int n; scanf("%d", &n);
      for (int i = 0; i < n; i++)
        scanf("%s", c[i]);
        
      memset(d, 0, sizeof(d));
      
      for (int k = 0; k < (1 << n); k++)
        for (int i = 0; i < n; i++)
          for (int j = 0; j < n; j++)
            if (c[i][j] == 'Y' && k & (1 << i) && k & (1 << j) && d[k - (1 << i) - (1 << j)] + 2 > d[k])
              d[k] = d[k - (1 << i) - (1 << j)] + 2;
              
      int max = 0;
      for (int i = 0; i < (1 << n); i++)
        if (d[i] > max)
          max = d[i];
          
      printf("%d\n", max);
      
      return 0;
    }

    ACM-задачка на динамику по подмножествам.
    Кто поймет, тому 5 ;)

    ystepanov, 22 Июля 2010

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

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public class SomeClass
    {
    	@SuppressWarnings("unused")
    	private Validator validator;
    
    	... 
    }

    Эта переменная реально не используется. Удалить бы - ан нет, автор почему-то считает, что лучше пометить её как неиспользуемую, чтобы компилятор и Эклипс не ругались.
    Чем только народ думает...

    asolntsev, 21 Июля 2010

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

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private void getCurrentBranch();
    public TDictBranch getCurrentBrach();
    public TDictBranch2 getCurrentBrach2();
    public TDictBranch2 getCurrentBrach2(Date lookupDate);
    public String getCurrentBrachId();
    public String getCurrentBrunchCode();
    public static String getCurrentBranchCharId();

    некоторые методы из класса конфигурации приложения

    borka, 20 Июля 2010

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

    +168

    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
    <html><head></head>
    <body>
    <form action="top1.php" method="get">
    <input type="checkbox" value="f1()" name="a1"  > Windows 2000
    <input type="checkbox" value="f2()" name="a2"  > Windows 7
    </form>
    </body>
    </html>
    
    <?php
    function f1(){
    if($_POST['a1']){
    echo 'Good';
    }else
    echo 'bad';
    }
    ?>

    Uchkuma, 11 Июля 2010

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

    +126

    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
    public string ChangeName(string temp)
            {
                if (textbox2.Checked)
                {
                    if (temp == "Алексей")
                    {
                        temp = "Лёх";
                    }
                    if (temp == "Александр")
                    {
                        temp = "Санёк";
                    }
                    if (temp == "Александра")
                    {
                        temp = "Саша";
                    }
                    if (temp == "Анатолий")
                    {
                        temp = "Толик";
                    }
                    if (temp == "Андрей")
                    {
                        temp = "Андрюх";
                    }
                    if (temp == "Антон")
                    {
                        temp = "Тоха";
                    }
                    if (temp == "Борис")
                    {
                        temp = "Борь";
                    }
                    if (temp == "Валерий")
                    {
                        temp = "Валер";
                    }
                    if (temp == "Валерия")
                    {
                        temp = "Лер";
                    }
                    if (temp == "Василий")
                    {
                        temp = "Вась";
                    }
                    if (temp == "Виктор")
                    {
                        temp = "Витёк";
                    }
                    if (temp == "Владимир")
                    {
                        temp = "Вован";
                    }
                    if (temp == "Евгений")
                    {
                        temp = "Жека";
                   }
    ....
                }
                return temp;
            }

    Склоняем имя=\

    BlincAttack, 06 Июля 2010

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

    +107

    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
    private PostsPageViewModel GetUserPosts(Guid userId, int? pageIndex)
    {
    	var posts = entitiesDB.Posts
    		.Where(post => post.UserId == userId)
    		.OrderByDescending(p => p.DateCreated)
    		.Select(post => new PostViewModel()
    		{ 
    			Contents = post.Contents, 
    			DateCreated = post.DateCreated, 
    			PostId = post.PostId, 
    			AuthorId = userId,
    			AssociatedTags = post.Tags.Select(t => new TagViewModel() { TagId = t.TagId, Contents = t.Contents }).ToList()
    		})
    		.ToPagedList(pageIndex ?? 1, 10);
    
    	PostsPageViewModel viewModel = new PostsPageViewModel()
    	{
    		Posts = posts,
    		RouteValues = new { controller = "Posts", action = "UserPosts" }
    	};
    
    	return viewModel;
    }

    Проект под ASP.NET MVC. Метод должен вернуть в вид заданную страницу постов из базы для заданного юзверя, посортить и прицепить ассоциированные с сообщением теги. Мало того, что это всё в одном операторе, так оно ещё и крашится.

    eigenein, 06 Июля 2010

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

    +122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int sum = 0;
    
    sum += int.Parse( numericUpDown1.Value.ToString());
    sum += int.Parse( numericUpDown2.Value.ToString() );
    sum += int.Parse( numericUpDown3.Value.ToString() );
    sum += int.Parse( numericUpDown4.Value.ToString() );
    sum += int.Parse( numericUpDown5.Value.ToString() );

    AdOLF_04, 06 Июня 2010

    Комментарии (22)
  9. JavaScript / Говнокод #3393

    +158

    1. 1
    2. 2
    3. 3
    if ($('#block').is(':hidden')) {
    $('#block').toggle();
    }

    eval, 04 Июня 2010

    Комментарии (22)
  10. VisualBasic / Говнокод #3364

    −87

    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
    ' Это первый конструктор:
    
    Public Sub New(ByVal ParmName0 As String, ByVal ParmValue0 As Object)
      PRM(0) = New SqlParameter(ParmName0, ParmValue0)
      CMD.Parameters.Add(PRM(0))
    End Sub
    
    ' ... 20-30 конструкторов спустя:
    
    Public Sub New(ByVal ParmName0 As String, ByVal ParmValue0 As Object, ByVal ParmName1 As String, ByVal ParmValue1 As Object, ByVal ParmName2 As String, ByVal ParmValue2 As Object, ByVal ParmName3 As String, ByVal ParmValue3 As Object, ByVal ParmName4 As String, ByVal ParmValue4 As Object, ByVal ParmName5 As String, ByVal ParmValue5 As Object, ByVal ParmName6 As String, ByVal ParmValue6 As Object, ByVal ParmName7 As String, ByVal ParmValue7 As Object, ByVal ParmName8 As String, ByVal ParmValue8 As Object, ByVal ParmName9 As String, ByVal ParmValue9 As Object, ByVal ParmName10 As String, ByVal ParmValue10 As Object, ByVal ParmName11 As String, ByVal ParmValue11 As Object, ByVal ParmName12 As String, ByVal ParmValue12 As Object, ByVal ParmName13 As String, ByVal ParmValue13 As Object, ByVal ParmName14 As String, ByVal ParmValue14 As Object, ByVal ParmName15 As String, ByVal ParmValue15 As Object, ByVal ParmName16 As String, ByVal ParmValue16 As Object, ByVal ParmName17 As String, ByVal ParmValue17 As Object, ByVal ParmName18 As String, ByVal ParmValue18 As Object, ByVal ParmName19 As String, ByVal ParmValue19 As Object, ByVal ParmName20 As String, ByVal ParmValue20 As Object, ByVal ParmName21 As String, ByVal ParmValue21 As Object, ByVal ParmName22 As String, ByVal ParmValue22 As Object, ByVal ParmName23 As String, ByVal ParmValue23 As Object, ByVal ParmName24 As String, ByVal ParmValue24 As Object, ByVal ParmName25 As String, ByVal ParmValue25 As Object, ByVal ParmName26 As String, ByVal ParmValue26 As Object, ByVal ParmName27 As String, ByVal ParmValue27 As Object, ByVal ParmName28 As String, ByVal ParmValue28 As Object, ByVal ParmName29 As String, ByVal ParmValue29 As Object)
        Call Me.New(ParmName0, ParmValue0, ParmName1, ParmValue1, ParmName2, ParmValue2, ParmName3, ParmValue3, ParmName4, ParmValue4, ParmName5, ParmValue5, ParmName6, ParmValue6, ParmName7, ParmValue7, ParmName8, ParmValue8, ParmName9, ParmValue9, ParmName10, ParmValue10, ParmName11, ParmValue11, ParmName12, ParmValue12, ParmName13, ParmValue13, ParmName14, ParmValue14, ParmName15, ParmValue15, ParmName16, ParmValue16, ParmName17, ParmValue17, ParmName18, ParmValue18, ParmName19, ParmValue19, ParmName20, ParmValue20, ParmName21, ParmValue21, ParmName22, ParmValue22, ParmName23, ParmValue23, ParmName24, ParmValue24, ParmName25, ParmValue25, ParmName26, ParmValue26, ParmName27, ParmValue27, ParmName28, ParmValue28)
       PRM(29) = New SqlParameter(ParmName29, ParmValue29)
       CMD.Parameters.Add(PRM(29))
    End Sub

    Перегрузка по-говнокодерски. Сие великолепие автор комментирует так:

    "Одновременно для всяких начинающих, которые прослушали лекции про типы данных ParamArray - разъясняю, что типы данных идут вперемешку - строка/обьект - пример вызова с формы выложен выше. И ParamArray здесь приведет к необходимости преобразования строки в обьект. Что во-первых неэффективно и ненужно, а во вторых отключит проверку типа параметра и легко можно будет пропустить название параметра и указать вместо него собственно значение параметра."

    "И наконец, при отсутствии такого полиморфного конструктора, принимающего от нуля до 30 параметров - эта функция и вовсе утрачивает смысл. Ибо тридцать строк на форме для одного обращения в базу? Это может показаться приемлимым только тем, кто вообще никогда не занимался программированием."

    Webkill, 01 Июня 2010

    Комментарии (22)
  11. C# / Говнокод #3361

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (this.bmp == null) {
    				} else if (this.bmp.Size.Height < this.ViewSize.Height) {
    					DisposeBmp();
    				} else if (this.bmp.Size.Width < this.ListData.RowSize.Width) {
    					DisposeBmp();
    				}

    Еще один Американский перл.... Присмотритесь к 1-му "if". И так по всему коду.

    Dmitriy, 31 Мая 2010

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