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

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

    +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
    public static bool isSupportedFrameworkVersion()
    	{
    		try
    		{
    			string s = null;
    			string m = s + "";
    		}
    		catch
    		{
    			return false;
    		}
    		return true;
    	}

    Нашел в нашем проекте. Не поверил. Проверил. Взлолировал.
    http://ideone.com/laV7up

    LispGovno, 12 Апреля 2016

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function decode_php_abbr($abbr){
    	if(strpos($abbr,'PHP')!==false){
    		$abbr=str_replace('PHP','PHP: Hypertext Preprocessor',$abbr);
    		decode_php_abbr($abbr);
    	}
    	else echo $abbr;
    }
    
    decode_php_abbr('PHP');

    Расшифровываем аббревиатуру PHP или когда на работе немного скучно.

    VokaMut, 13 Января 2015

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

    +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
    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    <?php
    
    /**
     * Get category tree.
     * 
     * @param db $db
     * @return array
     */
    function getCategoryTree ($db) {
    	$query = $db->query('SELECT * FROM dle_category ORDER BY posi');
    	
    	if ($query->num_rows <= 0) {
    		return FALSE;
    	}
    	
    	$categories = $query->fetch_all(MYSQLI_ASSOC);
    	
    	$tree = array();
    	
    	foreach ($categories as $cat) {
    		if ($cat['parentid'] == '0') {
    			$tree[$cat['id']] = $cat;
    		}
    		else {
    			$tree[$cat['parentid']]['subcategories'][] = $cat;
    		}
    	}
    	
    	return $tree;
    }
    
    /**
     * Display categories.
     * Sorry for my french 'echo'.
     * 
     * @param array $category
     */
    function displayCategory ($category) {
    	$html = '';
    	
    	foreach ($category as $cat) {
    		$html .= '<li class="lonely "><a href="/">' . $cat['name'] . '</a>';
    		
    		if ($cat['subcategories']) {
    			$html .= '<span class="accordion"></span><ul>';
    			$html .= displayCategory ($cat['subcategories']);
    			$html .= '</ul>';
    		}
    		
    		$html .= '</li>';
    	}
    	
    	return $html;
    }
    
    // Getting categories
    $categories = getCategoryTree($db);
    
    if ($categories) {
    	echo displayCategory ($categories);
    }
    else {
    	echo '<li>Нету категорий</li>';
    }

    Мой говно модуль для DLE для отображения дерева категорий в меню.
    Почему DLE разработчики не могли это из коробки сделать? И почему там куча говнокода внутри? (на Англ. комментарии потому что привык)

    volter9, 17 Сентября 2014

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

    +58

    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
    void Model::setPosition(GLfloat x, GLfloat y, GLfloat z) {
            if (m_position == NULL) {
                m_position = (float *) malloc(3 * sizeof(float));
            }
    
            if (m_position != NULL) {
                m_position[0] = x;
                m_position[1] = y;
                m_position[2] = z;
            }
        }
    
        void Model::setRotate(GLfloat x, GLfloat y, GLfloat z) {
            if (m_rotate == NULL) {
                m_rotate = (float *) malloc(3 * sizeof(float));
            }
    
            if (m_rotate != NULL) {
                m_rotate[0] = x;
                m_rotate[1] = y;
                m_rotate[2] = z;
            }
        }

    http://code.google.com/p/forget3d/
    Во первых, умиляет умение людей взяв современный супернавороченый удобный автомат, вместо того чтоб нажать на курок и выстрелить в противника, взять этот автомат наперевес как дубинку, и идти им пиздить противника по голове. Я о сишке, слегка прикрытой крестами.
    И во вторых, этот код при недостатке памяти просто нифига не делает, что чревато непонятками - вроде и повертел модель, вроде и подвинул, а оно никак не вертится и не двигается.

    Pythoner, 27 Августа 2014

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

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (enabled)
                    {
                        tabPanel.Tabs[FilesTabKey].Enabled = filesAndDocumentsForm.HaveReadPermission(EstateId);
                    }
                    else
                    {
                        tabPanel.Tabs[FilesTabKey].Enabled = false;
                    }

    zxxc, 26 Июля 2014

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

    +81

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static final String EMPTY_STRING = "";
    public static final String SLASH = "/";
    public static final String BACKSLASH = "\\";
    
    public static final char SLASH_CHAR = '/';
    public static final char CARRIAGE_RETURN_CHAR = '\r';
    public static final char NEW_LINE_CHAR = '\n';
    public static final char LEFT_BRACKET= '[';
    public static final char RIGHT_BRACKET= ']';

    Константа головного мозга.

    pingw33n, 07 Июля 2014

    Комментарии (69)
  8. JavaScript / Говнокод #16032

    +154

    1. 1
    2. 2
    3. 3
    function deleteCookie(name, path, domain) {
    	if (getCookie(name)) document.cookie = name + '=' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + '; expires=Thu, 01-Jan-1970 00:00:00 GMT';
    }

    ...

    gost, 21 Мая 2014

    Комментарии (69)
  9. Си / Говнокод #15673

    +131

    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
    /*
    =====================
    Q_acos
    
    the msvc acos doesn't always return a value between -PI and PI:
    
    int i;
    i = 1065353246;
    acos(*(float*) &i) == -1.#IND0
    
    	This should go in q_math but it is too late to add new traps
    	to game and ui
    =====================
    */

    Астрологи объявили неделю Деда Лайна - количество говнокода и костылей увеличилось вдвое.

    gost, 05 Апреля 2014

    Комментарии (69)
  10. bash / Говнокод #14289

    −119

    1. 1
    echo `getent passwd | awk -F: '{ if($1 == "myaut") print $3; }'`

    Определяет id пользователя myaut. Откопано в старой (моей) переписке. Эх...

    myaut, 27 Декабря 2013

    Комментарии (69)
  11. Java / Говнокод #14124

    +65

    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
    public class Path {
    	private String path;	
    	private char winSep = '\\';
    	private char unixSep = '/';
    	
    	public void set(String path){				
    		if(!path.endsWith(File.separator)){ 
    			path.concat(File.separator);
     		}
    		this.path = path;
    		if(File.separatorChar == winSep && path.charAt(0) == unixSep){ 
    			this.path = path.replace(unixSep, winSep).substring(1); 
     		}		
    				
    	 }
    
    	public String get(){
    		String path = new String(this.path);
     		return path;  	
    	}
    	
    	public String getRoot(){
    		String root = null;
    		 if(File.separatorChar == unixSep){ 
    			root = "/";
    		} 		
    		if(File.separatorChar == winSep){ 
    			root = this.path.substring(0, this.path.indexOf(winSep)+1);
    		}		
    		return root;
    	}
    	
    }

    в 6 йаве нету класса Path, пришлось самому делать костыль-велосипед. тут где-то ошибочка есть, пока не смотрел.

    spivti, 22 Ноября 2013

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