1. PHP / Говнокод #39

    +24.1

    1. 1
    echo 'когда сделают камменты?';

    guest, 30 Ноября 2008

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

    +24.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    session_start();
    if ($_SESSION['ok'] !== 1){
    echo "Сделали , блок сесиией";
    $_SESSION['ok'] = '1';
     } else {
    echo "Блок!";
    }

    Mr_Smile: сматрите ) в первый раз на странице должна быть надпись "Сделали блок сессией"
    Mr_Smile: при последующих обновлениях надпись должн абыть "Блок"
    Mr_Smile: а сколько ни обновляй все кажет "Сделали блок сессией"
    Mr_Smile: я ахутнГ?

    http://www.govnokod.com/171

    guest, 29 Ноября 2008

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

    −34.2

    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
    public boolean foo(...){
      ...
      try{
      ...
      }
      finally{
        if(expr_1){
          return false;
        }
        if(expr_2){
          return false;
        }
        ...
        if(expr_n){
          return false;
        }
      }
      ...
      return true;
    }

    поймал на сопровождении, долго курил (метод на 3 экранах)

    guest, 28 Ноября 2008

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

    +160.5

    1. 1
    2. 2
    3. 3
    if ( strlen( $string ) > 3 ) echo "Имя должно содержать не больше 3-х символов";
    elseif ( strlen( $string ) < 3 ) echo "Имя должно содержать не менее 3-х символов";
    else echo "Вы корректно ввели имя"

    guest, 28 Ноября 2008

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

    +22

    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
    typedef struct tagRECT{
        LONG    left;
        LONG    top;
        LONG    right;
        LONG    bottom;
    } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
    
    typedef const RECT FAR* LPCRECT;
    
    typedef struct _RECTL{
        LONG    left;
        LONG    top;
        LONG    right;
        LONG    bottom;
    } RECTL, *PRECTL, *LPRECTL;
    
    typedef const RECTL FAR* LPCRECTL;

    Вот так тайпдефятся абсолютно одинаковые структуры в windef.h

    guest, 28 Ноября 2008

    Комментарии (55)
  6. Pascal / Говнокод #27

    +24

    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
    program Project1;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    type
      Деньга = record
        Достоинство:integer;
        Количество:integer;
      end;
    
    var
      Лопатник: array of Деньга;
    
    procedure ПоложитьНаЛопату(Купюра:Integer);
    var
      I: Integer;
      УжеПоложили:Boolean;
    begin
      if Купюра=0 then
        Exit;
      УжеПоложили:=False;
      for I := low(Лопатник) to High(Лопатник) do
        if Лопатник[i].Достоинство=Купюра then
          begin
            inc(Лопатник[i].Количество);
            УжеПоложили:=True;
          end;
      if not(УжеПоложили) then
        begin
          SetLength(Лопатник,Length(Лопатник)+1);
          Лопатник[High(Лопатник)].Достоинство:=Купюра;
          Лопатник[High(Лопатник)].Количество:=1;
        end;
    end;
    
    var
      Купюра:integer;
      i:integer;
      ВсегоНаЛопате:integer;
    begin
      repeat
        Readln(Купюра);
        ПоложитьНаЛопату(Купюра);
      until Купюра=0;
      ВсегоНаЛопате:=0;
      for I := low(Лопатник) to High(Лопатник) do
        begin
          WriteLn(Format('Cost = %d Count - %d',[Лопатник[i].Достоинство,Лопатник[i].Количество]));
          inc(ВсегоНаЛопате,Лопатник[i].Достоинство*Лопатник[i].Количество);
        end;
      WriteLn(Format('All money - %d',[ВсегоНаЛопате]));
      ReadLn;
    end.

    Вообще-то это Delphi, но его в списке не было ;)
    Задача была такая:
    пользователь вводит достоинства купюры в произвольном порядке, ввод прекращ

    guest, 28 Ноября 2008

    Комментарии (30)
  7. PHP / Говнокод #26

    +29

    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
    global $page_parent; //Целочисленный массив с айдями родителя страницы
    global $page_title;  //Строковый массив с названиями страниц
    global $page_dir;    //Целочисленный массив массивов списка страниц в странице (o_O)
    global $page_dirs;   //Количество страниц в странице, если 0 то страница не содержит
    
    
    ... some code ...
    
    
    function TreeBuild($ina)
    {
    	foreach($page_dir[$ina] as $ina)
    	{
    		echo $ina.'=>'.$page_dirs[$ina].'<br>';
    		if($page_dirs[$ina] != 0)
    		{
    			TreeBuild($ina);
    		}
    	}
    	return 0;
    }
    
    TreeBuild($i);

    Нихрена не пойме с этой рекурсией

    guest, 28 Ноября 2008

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

    +27.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
    $bCancel = false;
    while(!$bCancel)
    {
    	$bCnt++;
    	$sql = "SELECT id, rDateTime, pDateTime, longitude, latitude, speed, reportId, inputs, peopIn, peopOut, COUNT(*) AS cnt FROM $tbname AS tblCur
    			WHERE ".$repIds." AND pDateTime>'$fd' AND unitId=$unitid
    			GROUP BY pDateTime, reportId ORDER BY pDateTime ASC LIMIT 0, 50";
    	$request = mysql_query($sql) or die(mysql_error());
    	$rCnt = 0;
    	while(!$bCancel)
    	{
    		if($row=mysql_fetch_assoc($request))
    		{
    			if(!arrZoneCoordContains($row['longitude'],$row['latitude'],$arrZoneCoord[$zoneId]))
    			{
    				$bCancel = true;
    			}
    			$fd = $row['pDateTime'];
    	   		array_push($arrRows, $row);
    			$rCnt++;
    		}
    		elseif($rCnt==0)
    		$bCancel=true;
    	}
    }

    O break'aх мы не знаем.

    guest, 27 Ноября 2008

    Комментарии (10)
  9. SQL / Говнокод #24

    −401.4

    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
    SELECT *
    FROM (SELECT n.root, n.nodeid, n.name, UNIX_TIMESTAMP(m.createtime) AS
     updatetime, (SELECT COUNT(*) FROM fs_node WHERE sid = n.sid AND root = n.root
      AND cleft > n.cleft AND cright < n.cright AND clevel = n.clevel + 1 AND
       nodetype = 1) AS objcount FROM fs_node AS n, fs_node AS m WHERE n.sid = $ sid
        AND n.root IN (0, 1, 2, 3) AND n.nodetype = 0 AND m.nodeid =(SELECT MAX(
        nodeid) FROM fs_node WHERE sid = n.sid AND root = n.root AND cleft > n.cleft
         AND cright < n.cright AND clevel = n.clevel + 1 AND nodetype = 1) UNION ALL
         SELECT n.root, NULL, NULL, UNIX_TIMESTAMP(m.createtime) AS updatetime, (
         SELECT COUNT(*) FROM fs_node WHERE sid = $ sid AND root = n.root AND clevel
          = 1 AND nodetype = 1) AS objcount FROM (SELECT 0 AS root UNIONSELECT 1
           UNIONSELECT 2 UNIONSELECT 3) AS n, fs_node AS m WHERE m.nodeid =(SELECT
            MAX(nodeid) FROM fs_node WHERE sid = $ sid AND root = n.root AND clevel
             = 1 AND nodetype = 1)) AS tmp
    ORDER BY updatetime DESC

    guest, 27 Ноября 2008

    Комментарии (17)
  10. SQL / Говнокод #23

    −407.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
    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
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    SELECT   region_key AS region
            ,NAME(containedobjectsbasement_key) AS building
            ,container_node_id
            ,containedobjectsexchange_key
            ,object_name AS ats
            ,number_ranges AS diapazon
            ,exchange_type_name AS tip_ats
            ,exchange_mount_capacity AS emkost
            ,operator_licence_number AS license
            ,trace_line_relay_type_name AS tip_sl
            ,COUNT(trace_line_id) AS count5
            ,otkuda_nax AS otkuda_ats
            ,kuda_blya AS kuda_ats
            ,seven_nation_army
            ,ROWNUM
            ,cable_type_name
            ,logical_cable_length
            ,ATS_NAME
        FROM (SELECT DISTINCT r.object_id AS region_key
                             ,n.node_id AS containedobjectsbasement_key
                             ,n1.container_node_id AS container_node_id
                             ,e.node_id AS containedobjectsexchange_key
                             ,CAST(name2(e.node_id, e.exchange_class_id) AS VARCHAR2(128) ) AS object_name
                             ,e.exchange_mount_capacity AS exchange_mount_capacity
                             ,CAST( (SELECT stragg(first_number || '-' || last_number || '
                             '              )
                                       FROM number_interval
                                      WHERE exchange_id = e.node_id) AS VARCHAR2(1024) ) AS number_ranges
                             ,(SELECT e1.exchange_type_name
                                 FROM exchange_tl e1
                                WHERE e1.exchange_type_id = e.exchange_type_id) AS exchange_type_name
                             ,CAST( (SELECT s3.licence_number
                                       FROM service_operator_type s3
                                      WHERE s3.service_operator_type_id = e.operator_id) AS VARCHAR2(64) ) AS operator_licence_number
                             ,(SELECT t.trace_line_relay_type_name
                                 FROM trace_line_relay_type t
                                WHERE t.trace_line_relay_type_id = s.trace_line_relay_type_id) AS trace_line_relay_type_name
                             ,s.object_id trace_line_id
                             ,NAME(s1.exchange_id) otkuda_nax
                             ,NAME(trace_line.exchange_id) kuda_blya
                             ,(SELECT SUM(TO_NUMBER(n.last_number) - TO_NUMBER(n.first_number) + 1) AS s
                                 FROM number_interval n, region_l r
                                WHERE LENGTH(r.region_add_code || n.last_number) = 10
                                  AND LENGTH(r.region_add_code || n.first_number) = 10
                                  AND n.region_id = r.object_id
                                  AND n.exchange_id = e.node_id) AS seven_nation_army
                             ,ROWNUM
                         FROM region_l r, node n, exchange_l e, node n1, service_trace_line s, trace_line, service_l s1, node n2, OBJECT o
                        WHERE s.object_id = s1.object_id
                          AND s1.exchange_id = e.node_id
                          AND trace_line.service_id = s1.object_id
                          AND e.node_id = n1.node_id
                          AND n1.container_node_id = n.node_id
                          AND e.exchange_class_id = 100
                          AND n2.container_node_id = n.node_id
                          AND n2.entity_id = 108
                          AND n.region_id = r.object_id
                          AND n.node_type_id = 115
                          AND r.object_id = :region_key
                          AND n1.node_id = o.object_id
                          AND o.object_owner_type_id = 3) sel
            ,(SELECT r.object_id AS region_key2
                    ,c.node_id AS containedcoppercross_key
                    ,s2.linkedobjectsinterexchange_key AS linkedobjectsinterexchange_key
                    ,s2.logical_cable_length AS logical_cable_length
                    ,s2.cable_type_name AS cable_type_name
                    ,NAME(sl.exchange_id) AS ATS_NAME
                    ,NAME(el.node_id) AS el
                FROM region_l r
                    ,CROSS c
                    ,exchange_l el
                    ,node n2
                    ,service_l sl
                    ,trace_line tl
                    ,(SELECT l.node_id AS node_id
                            ,l.logical_cable_id AS linkedobjectsinterexchange_key
                            ,l.logical_cable_length AS logical_cable_length
                            ,(SELECT c.type_name
                                FROM cable_type_name c
                               WHERE c.cable_type_name_id = l.cable_type_id) AS cable_type_name
                        FROM logical_cable l
                       WHERE l.logical_cable_type_id = 455) s2
               WHERE s2.node_id(+) = c.node_id
                 AND c.node_id = n2.node_id
                 AND n2.entity_id = 108
                 AND c.node_id = el.cross_id
                 AND sl.exchange_id = el.node_id
                 AND tl.exchange_id = el.node_id
                 AND sl.entity_id = 156
                 AND r.object_id = :region_key) sel2
       WHERE NAME(kuda_blya) = ATS_NAME
    GROUP BY region_key, containedobjectsbasement_key, container_node_id, containedobjectsexchange_key, number_ranges, object_name, exchange_type_name, operator_licence_number, trace_line_relay_type_name, otkuda_nax, kuda_blya, exchange_mount_capacity
            ,operator_licence_number, seven_nation_army, ROWNUM, cable_type_name, logical_cable_length,ATS_NAME
    ORDER BY otkuda_ats

    Вызывает в Oracle10g внутреннюю ошибку
    ORA-00600: internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
    Cause: This is the generic internal error number for Oracle progra

    guest, 27 Ноября 2008

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