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

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

    +45

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Matrix::~Matrix()
    {    
    	data = NULL;
    	delete [] data;
    };

    no comments

    coll3ctor, 07 Сентября 2012

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

    +35

    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
    function month_name($m) { 
      switch ($m) { 
        case 1:  
          return 'January';  
          break; 
        case 2:  
          return 'February';  
          break; 
        case 3:  
          return 'March';  
          break; 
    // ...
      } 
    }

    С PHPClasses. Номинировано на что-то там
    http://www.phpclasses.org/browse/file/41300.html

    Tairesh, 04 Сентября 2012

    Комментарии (16)
  4. JavaScript / Говнокод #11695

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    функция foo( arr ) {
      для( пер i = 0; i < arr.length; i++ ) {
        если( arr[ i ] === неопредел ) {
          arr[ i ] = нуль;
        }
      }
      возврат arr;
    }

    http://eclipsesource.com/blogs/2012/09/03/js-i18n/ говорит, что мы можем писать такой джяваскрипт при условии использования http://fhtr.org/js-i18n/

    makc3d, 03 Сентября 2012

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

    +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
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    #include <iostream>
    using std::cin;
    using std::cout;
    using std::endl;
    
    #include <cmath>
    
    double mySqrt( float, float );
    
    int main() {
        float a, n;
        cin >> a >> n;
        
        cout << mySqrt( a, n ) << endl;
        return 0;    
    }
    
    double mySqrt( float a, float n ) {
        const double EPSILON = 0.00001;
        double precision;
        
        double x = 0, x_prev = 1.0;
        
        do {
            x = (x_prev * (n - 1.0) + a / pow( x_prev, n - 1.0 )) / n;
            precision = fabs( x - x_prev );
            
            x_prev = x;
        } while( precision > EPSILON );
        
        return x;
    }

    Студентота, да.
    Извлечение корней.

    vortexx1, 28 Июля 2012

    Комментарии (16)
  6. Java / Говнокод #11481

    +100

    1. 1
    2. 2
    3. 3
    synchronized(new Object()){
    ...
    }

    http://stackoverflow.com/questions/9840959/how-to-judge-which-object-to-be-synchronized-in-java-thread

    3.14159265, 27 Июля 2012

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

    +19

    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
    // хелпер чтобы конвертить типы строк
    template <class S1, class S2>
    struct str_convert {
    	static S1 conv(S2 const & s2) { return str_convert<S2, S1>::conv(s2); }		// по умолчанию ищет специализацию для пары S2, S1
    	static S2 conv(S1 const & s1) { return str_convert<S2, S1>::conv(s1); }
    };
    
    // специализация, чтобы не конвертить одно в одно
    template <class S>
    struct str_convert<S, S> {
    	static S const & conv(S const & s) { return s; };
    };
    
    // специализация, чтобы конвертить std::string <-> std::wstring
    template <>
    struct str_convert<std::string, std::wstring> {
    	static std::string conv(std::wstring const & ws) { return boost::locale::conv::utf_to_utf<char>(ws); }
    	static std::wstring conv(std::string const & s)  { return boost::locale::conv::utf_to_utf<wchar_t>(s); }
    };
    
    // специализация QString <-> std::string
    // skipped
    
    template <class StringType = std::string>
    struct some 
    {
    	typedef StringType		string_type;
    	typedef std::string		utf8_string_type;
    
    	some(string_type const & s = string_type())
    		: inner_string_(s)
    	{}
    
    	template <class S>
    	some(S const & s)
    		: inner_string_(str_convert<S, string_type>::conv(s))
    	{}
    
    	string_type inner_string_;
    };
    
    int main()
    {
    	std::string s = "hello!";
    	some<> test0(s);		  // ok
    	some<> test2("hello!"); // ха-ха, вот еще, пытаться самостоятельно привести к std::string, пиши специализацию для массивов, сука!
    	return 0;
    }

    сегодня ради красоты передачи "literal" в конструктор писал говноспециализации для PodType[N]

    defecate-plusplus, 04 Июля 2012

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

    −33

    1. 1
    2. 2
    bool operator()(int x,int y)
    {return x<y;}

    Вторая часть) реально интересуются люди
    "надо два объекта моего класса сравнить, так?"
    ну, вообще жесть

    Diss, 11 Июня 2012

    Комментарии (16)
  9. Куча / Говнокод #10598

    +126

    1. 1
    http://piratepad.net/OOYgV8E8HL

    возможно, не все увидели... высказывайтесь, плиз

    Lure Of Chaos, 06 Июня 2012

    Комментарии (16)
  10. JavaScript / Говнокод #10564

    +148

    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
    65. 65
    66. 66
    67. 67
    ISQ.Translation.Infra.extractJobIdFromText=function(k){
        var d;
        var g=k.toLowerCase();
        var j=g.indexOf("<"+ISQ.Translation.Infra.jobIdMarkerTag);
        if(j===-1){
    	j=g.indexOf("< "+ISQ.Translation.Infra.jobIdMarkerTag)
        }
        if(j===-1){
    	if(ISQ.Widget&&ISQ.Widget.Log){
    	    ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: Couldnt parse jobIdMarker from text! "+k,ISQ.Widget.Log.statusEnum.RED)
    	}
    	return{id:-1,text:k}
        }
        var b=k.indexOf(">",j);
        if(b===-1){
    	if(ISQ.Widget&&ISQ.Widget.Log){
    	    ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid!",ISQ.Widget.Log.statusEnum.RED)
    	}
    	return{id:-1,text:k}
    
        }
        b+=1;
        var h=g.substring(j,b);
        var e=h.indexOf(ISQ.Translation.Infra.jobIdMarkerTag);
        if(e===-1){
    	if(ISQ.Widget&&ISQ.Widget.Log){
    	    ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid!",ISQ.Widget.Log.statusEnum.RED)
    	}
    	return{id:-1,text:k}
        }
        e+=ISQ.Translation.Infra.jobIdMarkerTag.length;
        var f="";
        var a;
        do
        {
    	if(e>h.length){
    	    break
    	}
    	a=h.charAt(e++);
    	if(a.charCodeAt(0)<48||a.charCodeAt(0)>57){
    	    break
    	}
    	f+=a
        }
        while(true);
        d=parseInt(f);
        if(isNaN(d)){
    	if(ISQ.Widget&&ISQ.Widget.Log){
    	    ISQ.Widget.Log.add(
    		"ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid: could not parse id#",
    		ISQ.Widget.Log.statusEnum.RED)
    	}
    	return{id:-1,text:k}
        }
        var i;
        if(j===0){
    	i=k.substring(b)
        }
        else
        {
    	i=k.substring(0,j);
    	if(b<k.length){
    	    i+=k.substring(b)
    	}
        }
        return{id:d,text:i}
    };

    Закомммммммммммментировал!

    wvxvw, 04 Июня 2012

    Комментарии (16)
  11. Си / Говнокод #10549

    +136

    1. 1
    2. 2
    /* eventData1 - аргумент функции, причем он не может быть меньше 1 по определению. */
    CS_OF=(eventData1-1)/2==(eventData1-1)*0.5;

    klaks, 04 Июня 2012

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