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

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!empty($errors)) {
    	return $errors;
    } else {
    	return array();
    }

    $errors это массив ошибок

    ghost404, 19 Декабря 2011

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

    +146

    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 ActionResult RenderDesigner()
    {
        // Get the received text
        var received = string.Empty;
        using(var reader = new StreamReader(Request.InputStream))
        {
            received = reader.ReadToEnd();
        }
    
        // Possible texts received
        var xml = "";
        var id = "";
        var moveId = "";
        int distance = 0;
        
        // Get all string from received
        var keys = received.Split('&');
        for (var i = 0; i < keys.Length; i++)
        {
            // XML
            if(keys[i].StartsWith("xml="))
            {
                xml = Server.UrlDecode(keys[i].Split('=')[1]);
            }
    
            // ID
            else if (keys[i].StartsWith("id="))
            {
                id = keys[i].Split('=')[1];
            }
            // Position
            else if (keys[i].StartsWith("distance="))
            {
                distance = int.Parse(keys[i].Split('=')[1]);
            }
    
            // Move ID
            else if (keys[i].StartsWith("moveId="))
            {
                moveId = keys[i].Split('=')[1];
            }
        }
    }

    разбор параметров POST запроса в стиле MVC

    Eugene, 15 Декабря 2011

    Комментарии (2)
  4. SQL / Говнокод #8816

    −111

    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
    95. 95
    96. 96
    97. 97
    98. 98
    CREATE TABLE "A" 
    ( "ID" NUMBER, 
    "A" NUMBER, 
    "B" VARCHAR2(20), 
    CONSTRAINT "A_PK" PRIMARY KEY ("ID") ENABLE
    )
    /
    
    CREATE OR REPLACE TRIGGER "A_2" 
    AFTER
    insert or update on "A"
    for each row
    begin
    
    mut_table.bef_tr(:NEW.ID,:NEW.A);
    
    end;
    /
    ALTER TRIGGER "A_2" ENABLE
    /
    
    CREATE OR REPLACE TRIGGER "A_3" 
    AFTER
    insert on "A"
    declare
    b number;
    
    begin
    mut_table.aft_tr;
    end;
    /
    ALTER TRIGGER "A_3" ENABLE
    /
    
    CREATE OR REPLACE TRIGGER "A_AT" 
    BEFORE
    insert or update on "A"
    for each row
    declare 
    v number;
    PRAGMA AUTONOMOUS_TRANSACTION;
    begin
    
    :NEW.A:=:NEW.A+1;
    :NEW.B:='!!!!!!!!!!';
    
    commit;
    
    end;
    /
    ALTER TRIGGER "A_AT" DISABLE
    /
    
    CREATE OR REPLACE TRIGGER "A_I_S" 
    BEFORE
    insert or update on "A"
    begin
    mut_table.set_initial_state;
    end;
    /
    ALTER TRIGGER "A_I_S" ENABLE
    /
    
    CREATE OR REPLACE TRIGGER "A_T1" 
    BEFORE
    insert or update on "A"
    for each row
    
    begin
    
    update A set 
    A = :NEW.A+1,
    B = 'was incremented'
    where A = :NEW.A;
    end;
    /
    ALTER TRIGGER "A_T1" DISABLE
    /
    
    CREATE OR REPLACE TRIGGER "BI_A" 
    before insert on "A" 
    for each row 
    begin 
    if :NEW."ID" is null then 
    select "A_SEQ".nextval into :NEW."ID" from dual; 
    end if; 
    end; 
    
    /
    ALTER TRIGGER "BI_A" ENABLE
    /
    
    
    create or replace package MUT_TABLE as
    
    procedure set_initial_state;
    procedure bef_tr(ID number,A NUMBER);
    procedure aft_tr;

    kikis, 14 Декабря 2011

    Комментарии (2)
  5. ActionScript / Говнокод #8806

    −118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //reassign the dataprovider in order to trigger chart update
    var tempArrayColl:ArrayCollection = new ArrayCollection();
    tempArrayColl.addAll(costChartDataProvider);
    costChartDataProvider.removeAll();
    costChartDataProvider.addAll(tempArrayColl);

    Можно было обойтись

    costChartDataProvider.refresh()
    . Но проблема глубже, флексовые биндинги которые и приводят к появлению такого кода.

    wvxvw, 13 Декабря 2011

    Комментарии (2)
  6. SQL / Говнокод #8775

    −114

    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
    DECLARE 
      CURSOR get_col1 IS
        SELECT DISTINCT 
    	a.constraint_name, 
      a.constraint_type,
      a.table_name,
      a.r_constraint_name,
      b.column_name
        FROM all_constraints a, all_cons_columns b
        WHERE a.table_name = b.table_name
      AND a.constraint_type in ('P', 'R')
      AND a.constraint_name = b.constraint_name
      --AND rownum < 20
        ORDER by 1;
      
      CURSOR get_col2 IS
        SELECT table_name, column_name 
        FROM all_cons_columns
        WHERE constraint_type = 'R';
        
    BEGIN
      dbms_output.ENABLE;
      dbms_output.put_line(rpad('Имя ограничения', 30)
                ||rpad('Тип', 5)
                ||rpad('Имя столбца', 20)
                ||rpad('Имя таблицы', 20)
                ||rpad('Имя таблицы', 20)
                ||rpad('Имя столбца', 20));
      dbms_output.put_line(rpad('-', 115, '-'));
      
      FOR main_col IN get_col1 LOOP
        dbms_output.put_line(rpad(to_char(main_col.constraint_name), 30)
          ||rpad(to_char(main_col.constraint_type), 5)
          ||rpad(to_char(main_col.column_name), 20)
          ||rpad(to_char(main_col.table_name), 20));
        
        /*IF (main_col.constraint_type = 'R') THEN
          dbms_output.put_line(lpad(rpad('Comment', 11), 37)||': '||main_col.comments);
        END IF;*/
        
        FOR sec_col IN get_col2 LOOP
          IF (main_col.constraint_type = 'R') THEN
            dbms_output.put_line(rpad('Index', 10)
            ||rpad('Index', 10)': '||ind_col.index_name);
          END IF;
        END LOOP;
        dbms_output.new_line();  
      END LOOP;
    END;
    /

    kikis, 09 Декабря 2011

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

    +159

    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
    notify: function(evt) {
    	var state = this.prevFirst === null ? 'init' : (this.prevFirst < this.first ? 'next' : 'prev');
    
    	// Load items
    	this.callback('itemLoadCallback', evt, state);
    
    	if (this.prevFirst !== this.first) {
    		this.callback('itemFirstInCallback', evt, state, this.first);
    		this.callback('itemFirstOutCallback', evt, state, this.prevFirst);
    	}
    
    	if (this.prevLast !== this.last) {
    		this.callback('itemLastInCallback', evt, state, this.last);
    		this.callback('itemLastOutCallback', evt, state, this.prevLast);
    	}
    
    	this.callback('itemVisibleInCallback', evt, state, this.first, this.last, this.prevFirst, this.prevLast);
    	this.callback('itemVisibleOutCallback', evt, state, this.prevFirst, this.prevLast, this.first, this.last);
    },

    Популярный jQuery плагин - "jCarousel"
    http://sorgalla.com/projects/jcarousel/

    2 часа пытался реализовать инициализацию элементов "конвеера" до появления их на экране.
    Но не тут-то было. Все 7 событий, регулирующих смену позиции - вызываются в один момент времени (при занятии элементом итогового положения).
    • itemLoadCallback
    • itemFirstInCallback
    • itemFirstOutCallback
    • itemLastInCallback
    • itemLastOutCallback
    • itemVisibleInCallback
    • itemVisibleOutCallback

    *this.callback сводится до fn.call()

    Centry, 06 Декабря 2011

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

    +145

    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
    <?php
    $tmp = mcc_get_contacts();
    if (!empty($tmp)) {
      $i = 0;
      foreach ($tmp as $k => $v) {
        if (empty($v['coords'])) {
          echo '<div class="s_adr" style="width: 275px;">' . "\r\n";
          echo 'г. <span>' . $v['city'] . '</span><br /><br />' . "\r\n";
          if (!empty($v['telfax'])) foreach ($v['telfax'] as $v_t) {
            echo 'Тел/факс: <span>' . $v_t . '</span><br />' . "\r\n";
          }
          if (!empty($v['tel'])) foreach ($v['tel'] as $v_t) {
            echo 'Телефон: <span>' . $v_t . '</span><br />' . "\r\n";
          }
          echo 'e-mail: <a href="mailto:' . $v['email'] . '">' . $v['email'] . '</a><br />' . "\r\n";
          echo '</div>' . "\r\n";
        } else {
          echo '<div class="s_cont">' . "\r\n";
          if ($i === 0) {
            echo '<div class="print-icon"><a href="#print" onclick="window.print(); return false;">Печать</a></div>' . "\r\n";
          }
          echo '<div class="map" id="map' . $k . '">' . $v['coords'] . '</div>' . "\r\n";
          echo '<div class="s_adr" >' . "\r\n";
          echo 'г. <span>' . $v['city'] . '</span><br /><br />' . "\r\n";
          echo '<p>';
          if (!empty($v['telfax'])) foreach ($v['telfax'] as $v_t) {
            echo 'Тел/факс: <span>' . $v_t . '</span><br />' . "\r\n";
          }
          if (!empty($v['tel'])) foreach ($v['tel'] as $v_t) {
            echo 'Телефон: <span>' . $v_t . '</span><br />' . "\r\n";
          }
          echo 'e-mail: <a href="mailto:' . $v['email'] . '">' . $v['email'] . '</a></p>' . "\r\n";
          echo '<p>';
          if (!empty($v['metro'])) {
            echo 'м. &quot;' . implode('&quot; / &quot;', $v['metro']) . '&quot;,<br />' . "\r\n";
          }
          echo $v['address'] . '</p>' . "\r\n";
          echo '</div>' . "\r\n";
          echo '</div>' . "\r\n";
          echo '<div class="hr"></div>' . "\r\n";
        }
        $i++;
      }
    }
    ?>
    
    <div class="hr"></div>
    
    <script src="<?php bloginfo('stylesheet_directory'); ?>/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAY78XWK5-Zy3qhkiV3w_m0hTPoZqTU4uhKIMSNHImBFQOd4WjahSr_Q8JwRSdhkeCWJkgoFFnVWj2Aw" type="text/javascript"></script>
    <script type="text/javascript"><!--
    $(document).ready(function(){
      var show_map = function(o, p3, p2, p1, p0, p4) {
        if (o.length) {
          o.empty().show();
    
          var s = $('<img class="print" />').attr('alt', '');
          s.attr('src', 'http://maps.google.com/staticmap?center=' + p0 + ',' + p1 + '&zoom=' + p4 + '&size=580x312&maptype=roadmap&markers=' + p2 + ',' + p3 + '&hl=ru&key=ABQIAAAAY78XWK5-Zy3qhkiV3w_m0hTPoZqTU4uhKIMSNHImBFQOd4WjahSr_Q8JwRSdhkeCWJkgoFFnVWj2Aw');
          o.next().after(s);
    
          var map = new GMap2(o.get(0));
          map.addControl(new GSmallMapControl());
          map.setCenter(new GLatLng(p0, p1), p4);
          var marker = new GMarker(new GLatLng(p2, p3));
          map.addOverlay(marker);
        }
      };
      if (GBrowserIsCompatible()) {
        $('div.map').each(function () {
          var p = $(this).text().split(',');
          show_map($(this), parseFloat(p[1]), parseFloat(p[0]), parseFloat(p[3]), parseFloat(p[2]), parseInt(p[4]));
        });
      }
    });
    //--></script>

    varg242, 01 Декабря 2011

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

    +148

    1. 1
    eval(' ~ function ( __ , ___ ) {  _  =  __ ( ___ ( "__",  "return __ ") ({}) ) } (eval, Function) ,  _[("_")] = _ ');

    не могу понять как работает =(

    __proto__, 28 Ноября 2011

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

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <ui:param name="success_style" value="color:green;"/>
    <ui:param name="error_style" value="color:red;"/>
    
    <!-- some code -->
    
    <h:outputText rendered="#{model.successSubmitted}"
        value="#{membershipReportsLabels.serviceSucceed}"
        style="#{success_style}"/>
    
    <h:outputText rendered="#{model.unSuccessSubmitted}"
        value="#{membershipReportsLabels.serviceUnSucceed}"
        style="#{error_style}"/>

    Вроде jsf тут ещё не было. Яркое подтверждение того, что CSS придумали трусы.

    roman-kashitsyn, 25 Ноября 2011

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

    +147

    1. 1
    if(($c>0 or $pusto) <...>) ...

    Нашел тут в недрах компьютера своего какое-то говноподелие, открыл index.php, ужаснулся.
    Но тут мой взгляд остановился на переменной-флаге (наверное) с отличным названием.

    7ion, 24 Ноября 2011

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