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

    В номинации:
    За время:
  2. 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)
  3. Куча / Говнокод #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)
  4. 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)
  5. 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)
  6. 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)
  7. Си / Говнокод #3258

    +105

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

    raorn, 18 Мая 2010

    Комментарии (1)
  8. 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)
  9. PHP / Говнокод #3208

    +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
    <?php
      $cssf="./_css/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/$type/_all.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>
      <?php
      $cssf="$cssdir/$type/$name.css";
      if(file_exists($cssf)) {
      	echo "<link rel='stylesheet' href='$cssf' />";
      }
      ?>

    из кода 8летней давности личного сайта, классика.
    я знаю, что можно и лучше, иначе бы не выкладывал )

    Lure Of Chaos, 12 Мая 2010

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

    +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
    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
    int check_process(pid_t pid, char *search) {
      char file[1024], buf[1024];
      FILE *FH=NULL;
      int rc, ret=0;
    
      snprintf(file, 1024, "/proc/%d/cmdline", pid);
      rc = check_file(file);
      if (!rc) {
        // cmdline exists
        ret = 1;
        if (search) {
          // check if cmdline contains 'search'
          FH = fopen(file, "r");
          if (FH) {
    	bzero(buf, 1024);
    	while(fgets(buf, 1024, FH)) {
    	  char *p;
    	  while((p = memchr(buf, '\0', 1024))) {
    	    *p = 'X';
    	  }
    	  buf[1023] = '\0';
    	  if (strstr(buf, search)) {
    	    ret = 0;
    	  }
    	}
    	fclose(FH);
          }
        } else {
          ret = 0;
        }
      } else {
        ret = 1;
      }
      return(ret);
    }

    Суровые калифорнийские студенты суровы.

    raorn, 11 Мая 2010

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

    +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
    if (this.orderMode == 'alphabetically') {
        Element.writeAttribute(butSortByName, 'disabled');
        Element.addClassName(butSortByName, 'current_state');
       }
       if (this.orderMode == 'bygroup') {
        Element.writeAttribute(butSortByGroups, 'disabled');
        Element.addClassName(butSortByGroups, 'current_state');
       }
       if (this.orderMode == 'byvalue') {
        Element.writeAttribute(butSortByValues, 'disabled');
        Element.addClassName(butSortByValues, 'current_state');
       }

    ну вот разве это нормально ? ... (c) Valery

    dimas_art, 06 Мая 2010

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