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

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

    +161.2

    1. 1
    2. 2
    3. 3
    4. 4
    require_once("cfg.php");
    session_start();
    session_unset();
    session_destroy();

    первые 4 строки файла отвечающие за вход в админку. и далее в таком же духе

    dodther, 01 Сентября 2009

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

    +83.6

    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
    procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
    var
      P: TPoint;
      Left, Right, Top, Bottom: Boolean;
    begin
      P := ScreenToClient(SmallPointToPoint(M.Pos));
      Left := (P.X < 5) and not (akLeft in Anchors);
      Right := (P.X > Width - 5) and not (akRight in Anchors);
      Top := (P.Y < 5) and not (akTop in Anchors);
      Bottom := (P.Y > Height - 5) and not (akBottom in Anchors);
    
      M.Result := HTCLIENT;
    
      if Left then
        if Top then
          M.Result := HTTOPLEFT
        else
          if Bottom then
            M.Result := HTBOTTOMLEFT
          else
            M.Result := HTLEFT
      else
      if Right then
        if Top then
          M.Result := HTTOPRIGHT
        else
          if Bottom then
            M.Result := HTBOTTOMRIGHT
          else
            M.Result := HTRIGHT
      else
        if Top then
          M.Result := HTTOP
        else
          if Bottom then
            M.Result := HTBOTTOM;
    end;

    изменяем размеры формы с BorderStyle = bsNone.

    Arch, 31 Августа 2009

    Комментарии (8)
  4. Python / Говнокод #1725

    −119.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    a=['']
    b=['']
    c=['']
    
    for i in range(0,6):
    	a.extend(b)
    	b.extend(c)
    	c.extend(a)

    Нашел в старых скриптах. Я, судя по всему, чего-то не понимал...

    Averrin, 30 Августа 2009

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

    +49.2

    1. 1
    2. 2
    3. 3
    4. 4
    if (strlen(tmpStr) > 250) 
        strncpy(fields[i].info.fieldName, tmpStr, 250);
    else 
        strcpy(fields[i].info.fieldName, tmpStr);

    А пох - все равно скопируем. =)

    rockerzz, 27 Августа 2009

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

    +133.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
    switch (aDataType.FullName)
    			{
    				case "System.SByte":	
    				case "System.Int16":	
    				case "System.Int32":	
    				case "System.Int64":	
    				case "System.Single":	
    				case "System.Double":	
    				case "System.Decimal":	
    				case "System.DateTime":	
    					_IsNumeric = true;
    					break;
    				case "System.String":   
    					_IsNumeric = false;
    					break;	
    				default:
    					throw new ArgumentException("Not supported field data type: " + 
    						aDataType.FullName, "aDataType");
    			}

    Не надо хардкодить названия типов

    sanya_fs, 26 Августа 2009

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int i, j;
    for (i = j = 0; i < 4; i++)
    	if (frame & (0x8 >> i))
    	{
    		if (i < 2 && p.value < double(frames1[j]) && !(i && j) ||
    			i > 1 && p.value > double(frames1[j]))
    			p.value.attr = 1 + i;
    		j++;
    	}

    Как вам цикл до 4 с тремя проверками на значение счётчика? :)

    Dimarius, 25 Августа 2009

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

    +132.8

    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
    //------------------------------------------------------------
    // Copyright (c) Microsoft Corporation.  All rights reserved.
    //------------------------------------------------------------
    
       private void AddDesigner()
            {
                Lazy<HostSurfaceFactory, IDesignerMetadataView> exportSurfaceFactory = fileNewDialog.GetHostFactory();
                HostControl hc = new HostControl();
                if (designerCounts.ContainsKey(exportSurfaceFactory.Metadata.ItemType))
                    designerCounts[exportSurfaceFactory.Metadata.ItemType]++;
                else
                    designerCounts.Add(exportSurfaceFactory.Metadata.ItemType, 1);
                string siteName = exportSurfaceFactory.Metadata.ItemType + designerCounts[exportSurfaceFactory.Metadata.ItemType].ToString();
                HostSurface hostSurface = exportSurfaceFactory.Value.CreateNew(siteName);
                hc.InitializeHost(hostSurface);
                string fileName = siteName + "." + exportSurfaceFactory.Metadata.FileExtension;
                TabPage tabpage = new TabPage(fileName + " - Design");
                tabpage.Tag = exportSurfaceFactory.Metadata.Language;
                hc.Parent = tabpage;
                hc.Dock = DockStyle.Fill;
                this.tabControl1.TabPages.Add(tabpage);
                this.tabControl1.SelectedIndex = this.tabControl1.TabPages.Count - 1;
                this.outputWindow.Writeline("Opened new host.");
                this.toolbox.DesignerHost = hostSurface.DesignerHost;
                this.solutionExplorer.AddFileNode(fileName);
                SetupMenus(hostSurface);
            }

    Пример из MEF. Написан неким Dinesh Chandnani.

    Gru, 25 Августа 2009

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

    +139

    1. 1
    dgridPFF1.Rows[1].Cells[1].Value = UtilHelper.Number2String(Convert.ToDouble(UtilHelper.StringToInvariantCulture(dgridPFF1.Rows[0].Cells[1].Value), UtilHelper.getCultureInfo()) / Convert.ToDouble(UtilHelper.StringToInvariantCulture(dgridPFF2.Rows[0].Cells[0].Value),UtilHelper.getCultureInfo()), 2); // String.Format(UtilHelper.getCultureInfo(),UtilHelper.NUMBERIC_FORMAT_2,Convert.ToDouble(dgridPFF1.Rows[0].Cells[1].Value) / Convert.ToDouble(dgridPFF2.Rows[0].Cells[0].Value, UtilHelper.getCultureInfo()));

    Виетнамский jungle code :)

    bugotrep, 16 Августа 2009

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

    +153.1

    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
    function filterVar($value)
    {
        if (get_magic_quotes_gpc())
        {
            $value = stripslashes($value);
        }
        
        $value = strip_tags($value); //режем теги.
        $value = preg_replace('%(<[^>]*(>|$)|>)%e', '', $value);
    
        return str_replace(array("\n", "\r"), array(' ', ''), $value);
    }
    
    foreach ($_GET as $reqValue)
    {
        $reqValue = is_array($reqValue) ? array_filter($reqValue, 'filterVar') : filterVar($reqValue);
    }
    
    $_REQUEST = array_merge ($_GET,$_POST);

    это меня вывело из себя

    junqed, 13 Августа 2009

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

    +153.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
    <?php
            /* ... */
    	$sbj->hasNewMsgs = false;
    	if (User::isLogged()) {
    if (0) {
    		if (/* Condition */) {
    			$sbj->hasNewMsgs = true;
    		}
    }
    	}
            /* ... */
    ?>

    Пишу форум. Выкладываю в публичный доступ более менее стабильную версию. Обнаруживается баг: «когда в теме есть новые сообщения — она не помечается, хотя категория, которая её содержит — помечается, как "с новыми сообщениями"». Неделю ленюсь залезть в исходники, найти, где же этот баг закрался (представляя, сколько кода надо перелопатить). Таки зашёл и сразу к модели, а там...
    Видно, дебажил и забыл убрать «экранизацию»

    Shock, 12 Августа 2009

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