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

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

    +156.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
    function getElementsByClass(searchClass,node,tag) {
    	var classElements = new Array();
    	if ( node == null )
    		node = document;
    	if ( tag == null )
    		tag = '*';
    	var els = node.getElementsByTagName(tag);
    	var elsLen = els.length;
    	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    	for (i = 0, j = 0; i < elsLen; i++) {
    		if ( pattern.test(els[i].className) ) {
    			classElements[j] = els[i];
    			j++;
    		}
    	}
    	return classElements;
    }
    
    function show_im_gal (id)
    {
    .............
    	$("#tabs"+id+" img").css({opacity:1});
    	tab = getElementsByClass ('tabNavigation',null,null);
    .............
    }

    Судя по строке 22, автор знает, что проект использует jQuery. Но дальше юзает додревний getElementsByClass, выкопанный на лучших складах говноскриптов 1990-х!

    deraider, 27 Марта 2010

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

    +162.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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    while( $db->next_record() ) {
    				$parent_id = $db->f( "product_parent_id" ) ;
    				if( ($db->f( "product_id" ) != $curr_product) && @$child_id ) {
    					continue ;
    				}
    				// Start row for this child
    				$q = "SELECT product_id, attribute_name FROM #__{vm}_product_attribute_sku " ;
    				$q .= "WHERE product_id='" . $db->f( "product_parent_id" ) . "' ORDER BY attribute_list ASC" ;
    				$db_sku->query( $q ) ;
    				$attrib_value = array( ) ;
    				
    				while( $db_sku->next_record() ) {
    					$q = "SELECT attribute_name,attribute_value " ;
    					$q .= "FROM #__{vm}_product_attribute WHERE " ;
    					$q .= "product_id='" . $db->f( "product_id" ) . "' AND " ;
    					$q .= "attribute_name='" . $db_sku->f( "attribute_name" ) . "'" ;
    					$db_item->setQuery( $q ) ;
    					$db_item->query() ;
    					while( $db_item->next_record() ) {
    						if( $ci == 0 ) {
    							$attrib_heading[] = $db_item->f( "attribute_name" ) ;
    							$tpl->set( 'headings', $attrib_heading ) ;
    						}
    						$attrib_value[] = $db_item->f( "attribute_value" ) ;
    					}
    				}

    Не знаю выкладывал ли кто, но захотелось покрыть все матом :(((

    Джумла + вирт. март.
    Выше этого лежит ещё два цикла. С помощью данного участка кода и выше, который я опустил ибо в него долго въезжать, т.к. слишком много букофф - разгоняет нагрузку на бд до 800 запрос ради вывода десяти товаров.

    matrix, 27 Марта 2010

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

    +971.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    string[] dateStringParts = dateString.Split(new [] {DateTimeFormatInfo.CurrentInfo.DateSeparator}, StringSplitOptions.RemoveEmptyEntries);
    
    if (dateStringParts.Count() != 3)
    {
        dateStringParts = DateTime.Now.ToString("dd MMMM yyyy").Split(' ');
    }
    
    string day = dateStringParts[0];
    string month =  dateStringParts[1];
    string year = dateStringParts[2];
    string shortYear = dateStringParts[2].Substring(dateStringParts[2].Length - 2, 2);

    Учитесь парсить дато! :)

    adoconnection, 24 Марта 2010

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

    +175.6

    1. 1
    2. 2
    3. 3
    $header = fopen('base.txt', "r");
    $base = file('base.txt');
    fclose($header);

    Navin, 23 Марта 2010

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

    +160.6

    1. 1
    uniqid(uniqid(uniqid()))

    Получить длинный идентификатор

    mrtaryk, 23 Марта 2010

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

    −139

    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
    #!/bin/bash
    
      upSeconds=`cat /proc/uptime`;
      upSeconds=${upSeconds%%.*};
      let secs=$((${upSeconds}%60))
      let mins=$((${upSeconds}/60%60))
      let hours=$((${upSeconds}/3600%24))
      let days=$((${upSeconds}/86400))
      echo -n 'Время работы: '
      if [ "${days}" -ne "0" ]
      then
       echo -n "${days} дней"
      fi
      echo -n "${hours} часов ${mins} минут"

    Кавайненько показываем uptime компьютера вместо унылого вывода $uptime *_*

    snoopcatt, 22 Марта 2010

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

    −136.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    FREEKB=$[$(sed -n 2p /proc/meminfo  |  awk '{ print $2 }')+$(sed -n 3p /proc/meminfo  |  awk '{ print $2 }')+$(sed -n 4p /proc/meminfo  |  awk '{ print $2 }') ]
    USEDKB=$[$(head -n 1 /proc/meminfo | awk '{ print $2 }')-$FREEKB ]
     
    echo "Свободно: $[$FREEKB/1024] Мегабайт ($FREEKB килобайт)"
    echo "Занято: $[$USEDKB/1024] Мегабайт ($USEDKB килобайт)"

    Получение свободной и использованной оперативной памяти (;

    snoopcatt, 22 Марта 2010

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

    +144.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
    public class Main {
        public static void main(String[] args) {
        	f0();//this is call of f0() from line 4
        	f0();//this is call of f0() from line 4
        }
    
        public static void f0(){
        	System.out.println("hi, I am f0");
        	Exception e = new Exception();
        	if(e.getStackTrace()[1].getLineNumber()==3){
        		f1();
        	} else if(e.getStackTrace()[1].getLineNumber()==4){
    			f2();
        	} 
        }
        
    	public static void f1(){
    		System.out.println("hi, I am f1");
    	}
    
    	public static void f2(){
    		System.out.println("hi, I am f2");
    	}
    }

    вот кусочек, который выполняется по разному в зависимости от того с какой строчки в исходном коде он вызван. Сам сочинил.

    pcherkas, 17 Марта 2010

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

    −131.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
    ТаблицаДоговоров = ДоговораМенеджера.Выгрузить();
    ТаблицаДоговоров.Свернуть("Договор");
    
    		
    ЗапросПоДоговорам = новый Запрос;
    ЗапросПоДоговорам.УстановитьПараметр("НаДату", Дата);
    ЗапросПоДоговорам.УстановитьПараметр("СписокДоговоров", ТаблицаДоговоров.ВыгрузитьКолонку("Договор"));
    
    ЗапросПоДоговорам.Текст = "ВЫБРАТЬ
    								  |	ОтветственныеПоДоговорамСрезПоследних.Договор,
    								  |	ОтветственныеПоДоговорамСрезПоследних.Приложение,
    								  |	ОтветственныеПоДоговорамСрезПоследних.ВидОтветственного,
    								  |	ОтветственныеПоДоговорамСрезПоследних.Ответственный,
    								  |	СтатусыДоговоровСрезПоследних.Статус,
    								  |	ПриложенияДоговоровСрезПоследних.КонецПриложения
    								  |ИЗ
    								  |	РегистрСведений.ОтветственныеПоДоговорам.СрезПоследних(&НаДату, Договор В (&СписокДоговоров)) КАК ОтветственныеПоДоговорамСрезПоследних
    								  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыДоговоров.СрезПоследних(&НаДату, Договор В (&СписокДоговоров)) КАК СтатусыДоговоровСрезПоследних
    								  |		ПО ОтветственныеПоДоговорамСрезПоследних.Договор = СтатусыДоговоровСрезПоследних.Договор
    								  |			И ОтветственныеПоДоговорамСрезПоследних.Приложение = СтатусыДоговоровСрезПоследних.Приложение
    								  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПриложенияДоговоров.СрезПоследних КАК ПриложенияДоговоровСрезПоследних
    								  |		ПО ОтветственныеПоДоговорамСрезПоследних.Договор = ПриложенияДоговоровСрезПоследних.Договор
    								  |			И ОтветственныеПоДоговорамСрезПоследних.Приложение = ПриложенияДоговоровСрезПоследних.Приложение";
    								  
    		
    		ТаблицаДоговоровИСтатусов = ЗапросПоДоговорам.Выполнить().Выгрузить();

    так вот пишет наш ведущий программист. Зачем сворачивать???

    Sameccc, 16 Марта 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $file=file('list_less.dat'); 
     for ($i=0;$i<count($file);$i++)
     {
        $f_abbr=substr($file[$i], 0, strpos($file[$i], '|'));
        $f_name=substr($file[$i], strpos($file[$i], '|')+1, strlen($file[$i]));
        $select.='<option value='.$f_abbr.'>'.$f_name;
      }

    почему то
    $file=file('list_less.dat');
    for ($i=0;$i<count($file);$i++)
    {
    $expl=explode('|', $file[$i]
    $f_abbr=$expl[0];
    $f_name=$expl[1]
    $select.='<option value='.$f_abbr.'>'.$f_name;
    }
    мне показалось слишком просто о_О =)(=
    Писал вроде трезвый

    /*Найдено в одном проекте*/

    NFL, 14 Марта 2010

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