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

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

    +83

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    try
    		{
    			nIndex = Integer.parseInt(sRowIndex.trim());
    		}
    		catch(NumberFormatException e)
    		{
    			//异常处理
    			nIndex = -2;
    		}
    		if(nIndex < 0) return;

    Китайцы продолжают отжигать.

    lucidfox, 14 Июня 2011

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

    +167

    1. 1
    $r = $this->client->getBerechneteGrundversorgungsTarifebyPLZundVerbrauchKundenart($this->params);

    По сути не говнокод, но нечитабельность налицо...

    vov4ik, 13 Июня 2011

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

    +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
    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
    public function getRelatedDataProvider($relationName,$config=array(),$params=array()){
    		
    		$md = $this->getMetaData();
    		if(!isset($md->relations[$relationName])){
    			throw new CDbException(Yii::t('yii','{class} does not have relation "{name}".',
    				array('{class}'=>get_class($this), '{name}'=>$relationName)));
    		}
    		
    		$relation = $md->relations[$relationName];
    		if(!($relation instanceof CHasManyRelation || $relation instanceof CManyManyRelation)){
    			throw new CDbException(Yii::t('yii','Связь {class}.{name} имеет тип, отличный от Has_Many и Many_Many.',
    				array('{class}'=>get_class($this), '{name}'=>$relationName)));
    		}
    		
    		// return new CArrayDataProvider($this->getRelated($relationName,true,$params), $config);
    		
    		var_dump($relation);
    		
    		// копируем критерии из связи
    		$criteria = new CDbCriteria;
    		foreach(array('select', 'condition', 'params', 'limit', 'offset', 'order', 'group', 'join', 'having', 'with', 'alias', 'index', 'together') as $param){
    			$criteria->$param = $relation->$param;
    		}
    		
    		// склеиваем параметры с критерией
    		$criteria->mergeWith(
    			is_string($params)
    				? array('condition' => $params)
    				: $params
    		);
    		
    		// добавляем связь через fk
    		// ВОТ ТУТ Я НИЧЕГО НЕ ПОНИМАЮ :)
    		$thisTable = $this->getTableAlias();
    		$childModel = CActiveRecord::model($relation->className);
    		$childMd = $childModel->getMetaData();
    		$childTable = empty($relation->alias) ? $childModel->getTableAlias() : $relation->alias;
    		//$criteria->join .= " {$relation->joinType} {$thisTable} ON {$thisTable}.{$relation->foreignKey}={$childTable}.{$childMd->tableSchema->primaryKey}";
    		$criteria->params[':fkrel'] = $this->{$relation->foreignKey};
    		$criteria->addCondition("{$childTable}.{$relation->foreignKey}=:fkrel");
    		
    		
    		// собираем кофиг для CActiveDataProvider
    		$dpConfig = array(
    			'criteria' => $criteria,
    		) + $config;
    		
    		echo "CActiveDataProvider( {$relation->className} , criteria: ".var_export($dpConfig['criteria']->toArray(),true)." )";
    		
    		// 
    		$dataProvider = new CActiveDataProvider(
    			$relation->className,
    			$dpConfig
    		);
    		
    		return $dataProvider;
    	}
    	
    }

    res-nullis, 26 Мая 2011

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

    +128

    1. 1
    long.Parse(Convert.ToString(Convert.ToSingle(Item.Value.ToString())))

    wiz, 17 Мая 2011

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

    +162

    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
    public static function create_folder ( $path, $rights = self::default_rights )
    	{
    		$result = true;
    		// Получаем список папок
    		$folders = explode( DIRECTORY_SEPARATOR, trim( self::get_absolute_path( $path ), DIRECTORY_SEPARATOR ) );
    		$exists = true;
    		// Ищем существующую папку
    		while ( $exists && sizeof( $folders ) )
    		{
    			$exists_folder[] = array_shift( $folders );
    			$exists = realpath( implode( DIRECTORY_SEPARATOR, $exists_folder ) );
    		}
    		if ( !file_exists( implode( DIRECTORY_SEPARATOR, $exists_folder ) ) )
    		{
    			array_unshift( $folders, array_pop( $exists_folder ) );
    		}
    		$parent = implode( DIRECTORY_SEPARATOR, $exists_folder );
    		unset( $exists_folder );
    		// поочередно создаем папки
    		foreach ( $folders as & $folder )
    		{
    			$parent .= DIRECTORY_SEPARATOR . $folder;
    			$result = mkdir( $parent, $rights );
    		}
    		clearstatcache( );
    		return $result;
    	}

    Вот что значит не знать про необязательный аргумент recursive у mkdir...

    GhOsTMZ, 14 Февраля 2011

    Комментарии (41)
  7. Куча / Говнокод #5313

    +134

    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
    .стиль3 {font-family: Arial; font-size: 22px; font-style: italic;}
    .стиль4 {font-family: Arial; font-size: 18px; font-style: italic; color: rgb(102,0,0);}
    .стиль5 {font-family: Arial; font-size: 18px; font-weight: bold; color: rgb(0,0,204);}
    .стиль6 {font-family: Arial; font-size: 20px; font-weight: bold; color: rgb(32,0,240);}
    .стиль7 {font-family: Arial; font-size: 20px; font-weight: bold; color: rgb(48,0,240);}
    .стиль8 {font-family: Arial; font-size: 20px; font-weight: bold; color: rgb(64,0,240);}
    .стиль9 {font-family: Arial; font-size: 24px; font-weight: bold; color: rgb(255,0,0);}
    .стиль108 {font-family: Arial, sans-serif; font-size: 8px; font-weight: bold; color: rgb(64,0,240);}
    .стиль111 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt;}
    .стиль10 {font-family: Arial, sans-serif; font-size: 10px; font-weight: bold; color: rgb(64,0,240);}
    .стиль12 {font-family: Arial; font-size: 12px; font-weight: bold; color: rgb(64,0,240);}
    .стиль14 {font-family: Arial; font-size: 14px; font-weight: bold; color: rgb(255,0,0);}
    .стиль15 {font-family: Arial; font-size: 12px; color: rgb(0,0,255);}
    .стиль16 {font-family: Arial; font-size: 16px; font-style: italic; color: rgb(255,0,0);}
    .стиль36 {font-size: 36px; color: rgb(102,0,204);}
    .стиль18 {font-family: Arial, Helvetica, sans-serif; font-size: 18px; color: rgb(102,0,0);}

    Цссник сайта одного препода. Я чуть под стол не упал когда увидел:)
    Даешь браузерам цсс кирилицей!

    moonie, 18 Января 2011

    Комментарии (41)
  8. Си / Говнокод #5133

    +132

    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
    struct 
    {
    	unsigned char * low;  //младшая часть адреса
      	unsigned char * high; //страшая часть адреса(только младших 3 бита)
    } padr;
    
    void filladdr(unsigned int * addr) //подготовка адресных ног МК
    {
    	padr.low = (unsigned char *)addr;
    	padr.high = padr.low + 1;
    	PORTB = *padr.low;
    	PORTE &= 0x8;
    	PORTE |= *padr.high;
    
    }
    
    unsigned char readFromSRAM(unsigned int * adrss)
    {
    	char outD;
    	TRISD = 0xFF;
    	filladdr(adrss);
    	PORTA &= 0xFC;
    	NOP(); // задержка на время доступа
    	outD = PORTD;
    	PORTA |= 0x7;
    	return outD;
    }
    
    void writeToSRAM(unsigned int * adrss, unsigned char * data)
    {
    	TRISD = 0x0;
    	filladdr(adrss);
    	PORTD = *data;
    	PORTA &= 0xF8;
    	NOP();  // задержка на время доступа
    	PORTA |= 0x7;
    	PORTD = 0x0;
    }

    говнокод для работы с 2кб внешней SRAM памяти для микроконтролеров pic

    nice_penguin, 02 Января 2011

    Комментарии (41)
  9. Pascal / Говнокод #4943

    +92

    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
    unit uncrt;
    
    interface
    
    procedure ClrScr;
    procedure Sound(Hz: Word);
    procedure NoSound;
    
    procedure TextColor(Color: Byte);
    procedure TextBackground(Color: Byte);
    
    var
      TextAttr: Byte; { Для особо продвинутых случаев }
    
    implementation
    
    procedure ClrScr;
    begin end;
    
    procedure Sound(Hz: Word);
    begin end;
    procedure NoSound;
    begin end;
    
    procedure TextColor(Color: Byte);
    begin end;
    procedure TextBackground(Color: Byte);
    begin end;
    
    end.

    Вас достала школота, раскрашивающая свои бибикающие программы?
    Вам поможет этот модуль!

    TarasB, 16 Декабря 2010

    Комментарии (41)
  10. Си / Говнокод #4210

    +129

    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
    #include <iostream>
    #include <windows.h>
    #include <pthread.h>
     
    void * func_MyThread(void * args)
    {
     
    int S=0; //
     
       int i;
     
       int j;
     
    int k;
     
    pthread_t MyThread;
     
    pthread_create(&MyThread,NULL,func_MyThread,NULL); 
     
    for (i=1; i <=8; i++)//
     
    pthread_join(MyThread,NULL);
     
    {
     
        S +=i+1; //
    }
     
       pthread_create(&MyThread,NULL,func_MyThread,NULL); 
     
     for (j=4; j <=12; j++)//
     
    pthread_join(MyThread,NULL);
     
    {
     
    S+=j; //
     
    }
     
    pthread_create(&MyThread,NULL,func_MyThread,NULL);
     
    for (k=5; k<=20; k++)
     
    pthread_join(MyThread,NULL);
     
    {
     
        S += k*(2*k-1); 
    }
     
    {
     
    std::cout <<"S= \t" <<S; //
     
    return 0;// 
    }

    студент решал задачу по распределенному программированию.
    все очень серьезно.

    niXman, 09 Сентября 2010

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

    +162

    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
    if ($is_home) {
    			echo '<script>
    function chkcbfrm() {
    	var el = $(\'#inppleasecallback\')[0];
    	if ((el.value == \'\') || (el.value == el.defaultValue)) {
    		alert(\'Введите номер телефона...\');
    		return false;
    	} else
    		return true;
    }
    </script>';
    			echo '<form method="post" id="frmcallback" onsubmit="return chkcbfrm();">';
    			echo '<p>Введите пожалуйста телефон в формате +7-3812-XXXXXX</p>';
    			echo '<input type="text" class="textboxcontact" style="width: 220px" id="inppleasecallback" name="please_callback" value="Введите номер телефона" onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value = this.defaultValue;" />';
    			echo '<a href="#" class="butmore" onclick="if (chkcbfrm()) $(\'#frmcallback\').submit(); return false;">Перезвоните</a>';		
    			echo '<form>';
    		} else {
    			
    			$ЕБАНУТЫЙ_ТЕКСТ = 'Введите пожалуйста телефон в формате +7-3812-XXXXXX (код страны - код города - номер), название организации, ФИО контактного лица и предмет интереса (XXX, XXX, металлопрокат, XXXXXX, крановое хозяйство)';
    			
    			echo '<form method="post" id="frmcallback" onsubmit="if ($(\'#inppleasecallback\')[0].value == $(\'#inppleasecallback\')[0].defaultValue) { alert(\'Введите номер телефона...\'); return false; }">';
    			echo '<textarea class="textareacontact" style="width: 220px; height: 150px;" id="inppleasecallback" name="please_callback" onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value = this.defaultValue;">'.$ЕБАНУТЫЙ_ТЕКСТ.'</textarea>';
    			echo '<input class="submitcontact" type="submit" value="Перезвоните" />';
    			echo '<form>';
    		}

    по просьбе заказчика текст менялся 2-3 раза на дню, за что и получил такое название

    shuchkin, 24 Августа 2010

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