1. 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)
  2. PHP / Говнокод #1679

    +161

    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
    $id_country = 0;
    $id_region = 0;
    $id_city = 0;
    $zip_code = 0;
    if(isset($_REQUEST["id_country"]))
    {
        $id_country=$_REQUEST["id_country"];
    }
    if(isset($_REQUEST["id_region"]))
    {
        $id_region=$_REQUEST["id_region"];
    }
    if(isset($_REQUEST["id_city"]))
    {
        $id_city=$_REQUEST["id_city"];
    }
    if(isset($_REQUEST["zip_code"]))//проверка zip кода
    {
        $zip_code=$_REQUEST["zip_code"];
    }
    
    $id_country=strip_tags(trim(strval($_REQUEST["id_country"])));
    $id_region=strip_tags(trim(strval($_REQUEST["id_region"])));
    $id_city=strip_tags(trim(strval($_REQUEST["id_city"])));
    $zip_code=strip_tags(trim(strval($_REQUEST["zip_code"])));
    
    ..........................
    //переходим на Шаг 2 решистрации
    header("location: ./registration.php?sel=2");
    ..........................

    Индусы среди нас!

    Bartelby, 25 Августа 2009

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

    +150.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
    //$arr - array with arbitrary keys
    
    end($arr);
    do {
           if( <some condition> ) {
                <something of no importance>
                unset($arr[key($arr)]);
            }
            else {
                <something of no importance>
            } 
    } while( prev($arr) !== false );

    Предполагалось, что на входе будет непустой массив. Потом он будет пролистан с конца (это необходимо) и из него по некоторому условию исключаются элементы. При этом после первого исключения итератор оказывается вне массива и prev() возвращает false (в самом массиве false не размещён заведомо).

    interested, 25 Августа 2009

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

    +47.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
    IsSimpleAssign = ( !isIfWhileForReturn&&
                        ( _currString->ecoString )->IsAtOncePresent( equalsSign )&&
                        ( _currString->ecoString )->IsAtOncePresent( star ) &&
                        ( _currString->ecoString )->IsAtOncePresent( amper ) &&
    
                        ( ( ( _currString->ecoString )->GetCharPos( amper ) <
                        ( _currString->ecoString )->GetCharPos( star ) ) ||
                        ( ( _currString->ecoString )->GetCharPos( amper ) >
                        ( _currString->ecoString )->GetCharPos( star ) ) ) &&
    
                        ( ( ( _currString->ecoString )->GetCharPos( equalsSign ) <
                        ( _currString->ecoString )->GetCharPos( star ) ) &&
                        ( ( _currString->ecoString )->GetCharPos( amper ) <
                        ( _currString->ecoString )->GetCharPos( equalsSign ) )
    
                        ||
                        ( ( _currString->ecoString )->GetCharPos( equalsSign ) >
                        ( _currString->ecoString )->GetCharPos( star ) ) &&
                        ( ( _currString->ecoString )->GetCharPos( amper ) >
                        ( _currString->ecoString )->GetCharPos( equalsSign ) ) )
    
                        );

    где-то в недрах рукописного парсера

    gilya, 25 Августа 2009

    Комментарии (1)
  5. 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)
  6. Perl / Говнокод #1675

    −118.3

    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
    if ( $in{s} )
    {
    
    #	максимальная вложенность =3 - сформируем строку для чекбокса по-простому 
    	my %ha = db_select_row [ 'id', 'title', 'parent_id' ], "catalog_section", "id=$in{s}			AND `object_id`=1";
    	if (%ha)    																				          		    ¦
    	{           																				          			¦
    		$selected_only[ $ha{parent_id} ] = 'selected';    										          			
    	}    																						              		¦
    	     																						          			¦
    	my %parent = db_select_row [ 'title', 'parent_id' ], "catalog_section",  "id=$ha{parent_id}		AND `object_id`=1";
    	my %parent2 = db_select_row [ 'title', 'parent_id' ], "catalog_section", "id=$parent{parent_id}	AND `object_id`=1";
    	my $only_title = $ha{title};
    
    	$only_title = "$parent{title} &mdash; $only_title"  if %parent;
    	$only_title = "$parent2{title} &mdash; $only_title" if %parent2;
    	$only_this_cat_string = "";
    
    	if ( %parent || %parent2 )
    	{
    
    		#%ha
    		$only_this_category_text = qq~
    			<span>
    				<input type="checkbox" name="only_this_cat" id="only_this_cat" $checked_only onchange="checkSelect();">
    				<label for="only_this_cat">Искать только в разделе &laquo;$only_title&raquo;</label>
    			</span>~;
    
    	}
    }

    по-простому

    nolka4, 25 Августа 2009

    Комментарии (3)
  7. JavaScript / Говнокод #1674

    +155.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function ValidatorEnable(val, enable) 
    {
        val.enabled = (enable != false);
        ValidatorValidate(val);
        ValidatorUpdateIsValid();
    }

    Обратите внимание на третью строку!
    (Сначала кажется, что она ничего не делает, но на самом деле она переводит тип в boolean), но обычно пишут все-таки
    val.enabled = !!enable

    Trams, 25 Августа 2009

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

    +160

    1. 1
    foreach($query->result_array() as $row) $res[] = $row;

    P.s на сайте не работает галочка "принять рецензию" в 4 хроме, а в 6 ие(который я включил, чтобы здесь накласть) не видно текстареи, но вроде работает :)

    xscript, 24 Августа 2009

    Комментарии (14)
  9. VisualBasic / Говнокод #1672

    −130.3

    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
    Public Overrides Sub OnViewInitialized()
                Dim userId As String = _guard.GetCurrentUserId()
    
                BindGroups()
                Bind()
                DoHackyStuff()
            End Sub
    
            Private Function GetUrls() As Dictionary(Of String, String)
    
                Dim dic As New Dictionary(Of String, String)
                For Each assembly In AppDomain.CurrentDomain.GetAssemblies()
                    For Each type In assembly.GetTypes.Where(Function(q) q.FullName.EndsWith("Url"))
                        Dim url = CType(_container.GetByType(type), IUrl).Page
                        Dim name = type.FullName.Split(".".ToCharArray)
    
                        dic.Add(url, name.Reverse.First + ", " + name.Reverse.Skip(1).First)
                    Next
                Next
                Return dic
    
            End Function
    
            Private Sub DoHackyStuff()
    
                Dim siteMap = _container.Get(Of ISiteMapGenerator)().GetSiteMap()
                Dim urls = GetUrls()
    
                Dim sb As New StringBuilder
                For Each top In siteMap.Nodes
    
                    sb.AppendLine(String.Format("<top display-name=""{0}"" id=""{1}"">", top.Name, urls(top.Url)))
                    For Each group In top.Nodes
                        sb.AppendLine(String.Format("<group display-name=""{0}"">", group.Name))
                        For Each item1 In group.Nodes
                            sb.AppendLine(String.Format("<item display-name=""{0}"" id=""{1}""/>", item1.Name, urls(item1.Url)))
                        Next
                        sb.Append("</group>")
                    Next
                    sb.Append("</top>")
                Next
    
            End Sub

    Быстро пытался сгенерить xml-ку по ран-тайм структуре.

    Valera, 24 Августа 2009

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

    +158

    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
    for($i=$start; $i<$end; $i++) {
            $v=$items[$idx[$i]];
        }
        $start = 0;
        $end = count($items);
        if (is_array($idx))
        {
        }
        else 
        {
         unset($idx);
         $idx[0] = 0;
        }

    Хоть и вырвано из контекста, но общая красота от этого не теряется.

    stan, 24 Августа 2009

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