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

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

    −854.3

    1. 1
    2. 2
    -- I found table with 20 millions rows, that nobody read just add new rows again and again :(
    -- table size was 1 GB.

    Я описал в коде.

    bugotrep, 10 Ноября 2009

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

    +150.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
    {if eq($view_parameters.affichage,'avis')} 
        <!-- complete comment -->
        <script type="text/javascript">
            var object_id = {$next_prev.object.id};
            var url_alias = {$next_prev.url_alias|ezurl()};
        </script> 
        {include uri="design:inc/esi/esi_complete_comment.tpl" object_id=$node.object.id class_identifier=$next_prev.object.class_identifier}
    {else}
        <!-- full comment --> 
        <script type="text/javascript">
            var object_id = {$next_prev.object.id};
            var url_alias = {$next_prev.url_alias|ezurl()};
        </script> 
        {include uri="design:inc/esi/esi_full_comment.tpl" object_id=$next_prev.object.id class_identifier=$next_prev.object.class_identifier}
    {/if}

    Комментарии французов в шаблоне eZ Publish понятны как никогда.

    isage, 29 Октября 2009

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

    −164.9

    1. 1
    ORA-600 [12235]: Oracle process has no purpose in life!

    Даже Оракл знает что такое смысл жизни

    dim1r, 27 Октября 2009

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

    +66.7

    1. 1
    2. 2
    mNewFrame->SetName (new char [MAX_TOKEN]);
    strcpy (mNewFrame->GetName(), mXFrame->Attribute("name"));

    Умелая работа со строками....

    benin, 25 Октября 2009

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

    +135.2

    1. 1
    2. 2
    3. 3
    4. 4
    foreach (Label ticketText in ticketFieldsToPrint)
    {
        g.DrawString(ticketText.Text, ticketFont, Brushes.Black, new PointF((Int32.Parse(iLeft.Text) * Int32.Parse(PPm.Text) / Int32.Parse(PPm.Text)) + ticketText.Left / Int32.Parse(PPm.Text), ((Int32.Parse(iTop.Text) * Int32.Parse(PPm.Text)) / Int32.Parse(PPm.Text)) + ticketText.Top / Int32.Parse(PPm.Text)));
    }

    Вывод всех лейблов на форме на печать.

    nolka4, 16 Октября 2009

    Комментарии (1)
  7. Java / Говнокод #1976

    +74.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
    20. 20
    21. 21
    22. 22
    public class MyDateFormat extends FormatData {
        // массив месяцев
        private static String[] months = new String[]{"января", "февраля", "марта", "апреля", "мая",
                "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"};
    
        /**
         * Метод предназначен для форматирования даты <"dd" month yyyy г.>
         *
         * @param date - дата
         * @return строку отформатированной даты
         */
        public static String DayMonthYear(Date date) {
            if (null != date) {
                return " «" + date.toString().substring(8, 10) + "» "
                        + months[(Integer.parseInt(date.toString().substring(5, 6).replace("0", "") 
                        + date.toString().substring(6, 7))) - 1] +
                        "  " + date.toString().substring(0, 4) + "г.";
            } else {
                return "";
            }
        }
    }

    и правильно! зачем настоящим тру кодерам ResourceBundle, DateFormat и Locale?
    а наследование добавлено, видимо, для солидности

    Jk, 14 Октября 2009

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

    +161.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function read_file($path)
    {if(!is_file($path))return false;
    elseif(!filesize($path))return array();
    elseif($array=file($path))return $array;
    else while(!$array=file($path))sleep(1);
    return $array;}

    интересный способ чтения файла в WR-Counter )))

    inso, 14 Октября 2009

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

    +158.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    case 'down':
    	if (parseInt(pageTop) + parseInt(pageHeight) - parseInt(elementTop) - parseInt(elementHeight) - parseInt(elementBorderTop) - parseInt(elementBorderBottom) >= parseInt(stepOfMove)) {
    		var topParam = parseInt(elementTop) - 0 + parseInt(stepOfMove) + 'px';
    		elementToMove.style.top = topParam;
    		this.updateElementsParams(id,'top',topParam);
    	} else {
    		stepOfMoveElement.value = parseInt(pageTop) - 0 + parseInt(pageHeight) - parseInt(elementTop) - parseInt(elementHeight) - parseInt(elementBorderTop) - parseInt(elementBorderBottom);
    	}
    break;

    и так миллион тыщ раз...

    Sadie, 21 Сентября 2009

    Комментарии (1)
  10. ActionScript / Говнокод #1860

    −91.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
    function upHandler(event:MouseEvent):void 
    {
            //r_arr[event.currentTarget.index].stopDrag();
    				
    	event.currentTarget.stopDrag();
    				
            //r_arr[event.currentTarget.index].removeChildAt(2);
    
    	if((r_arr[event.currentTarget.index].x>550)||(r_arr[event.currentTarget.index].x<160)||(r_arr[event.currentTarget.index].y>400)||(r_arr[event.currentTarget.index].y<0))
    	{
    	        r_arr[event.currentTarget.index].x=546;
    		r_arr[event.currentTarget.index].y=(r_arr[event.currentTarget.index].index+1)*30;
    	}
    }

    Сама семантика малопримечательна. Вся соль в способе адресации к объекту массива r_arr при совершении события мыши прямо над этим же объектом. Методы и свойства объекта достаются через ***у по индексу из-за пазухи: r_arr[event.currentTarget.index].removeChildAt(2)
    вместо достаточного: event.currentTarget.removeChildAt(2)

    t8apb, 17 Сентября 2009

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

    +132.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    cboRole.DataSource = Controller.GetViewForRole();
    cboRole.DataBind();
    
    try {
       cboRole.SelectedValue = roleId.ToString();
    } catch (ArgumentOutOfRangeException) {
       cboRole.Items.Add(new ListItem(roleName, roleId.ToString()));
       cboRole.SelectedValue = roleId.ToString();
    }

    Нету значения - не проблема, создадим и присвоим. Не беда, что инициализация рядом...

    batonkolbas, 17 Сентября 2009

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