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

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

    −4

    1. 1
    2. 2
    // please don't change this
    #define NUM_INVISIBLE_TYPES 1

    Выдержка из исходников civilization 5.

    Да, да, прекрасно, усложняйте моддинг

    kindofbear, 16 Сентября 2013

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

    +157

    1. 1
    2. 2
    3. 3
    public function set($index) {
    	$this->data[$name] = $val;
    }

    Встретился метод при рефакторинге :-)

    aleksssmix, 10 Сентября 2013

    Комментарии (7)
  4. Objective C / Говнокод #13742

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    NSArray* arry = [NSArray arrayWithObjects:arrayWithObjects:prev, next, nil];
    [arry performSelector:NSSelectorFromString(@"retain")];
    //---
    [actionSheet performSelector:@selector(setTag:) withObject:arry];

    АРЦ нельзя кастовать указатели? Хватит это терпеть!

    Psionic, 05 Сентября 2013

    Комментарии (7)
  5. JavaScript / Говнокод #13722

    +150

    1. 1
    parseInt($("#index").val()) == $("#index").val()

    Нашел на каком-то сайте, проверка на данных на числа. Люди не знаю что такое регулярки)

    farit_slv, 02 Сентября 2013

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

    +9

    1. 1
    // When F does not contain result_type, result_of<F(T1, T2, ..., TN)>::type is F::result<F(T1, T2, ..., TN)>::type when N > 0 or void when N = 0.

    http://www.boost.org/doc/libs/1_54_0/libs/utility/utility.htm#result_of
    > void when N = 0.
    Создатели boost::result_of решили, что если функция принимает 0 аргументов, то она не может ничего возвращать кроме void.

    LispGovno, 20 Августа 2013

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private readonly bool[] showDetails = new bool[20]
                                                      {
                                                          false, false, false, false, false, false, false, false, false, false,
                                                          false, false, false, false, false, false, false, false, false, false
                                                      };

    taburetka, 12 Августа 2013

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

    +150

    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
    this.getMediaFileWithMaxBitrate = function(streamIndex, maxBitrate) {
    		var streamItem = this.playlist[streamIndex];
    		var urls = streamItem.urls;
    		var resultBitrate = 0;
    		var highestBitrate = 2000;
    		var lowestBitrate = 800;
    		//var resultUrl = urls[0].url;
    		var resultUrl = "";
    		//v2.1
    		// Util.log("##########################getMediaFileWithMaxBitrate ####################");
    		// Util.log("take the highest of the bitrate range from"
            //          +lowestBitrate+" to "+highestBitrate+" Mbps else");
    		for (var i = 0; i < urls.length; i++) {
    			if(urls[i].type == "video/mp4"){
    				if (urls[i].bitrate >= lowestBitrate &&
                        urls[i].bitrate <= highestBitrate && urls[i].bitrate > resultBitrate) {
    					resultUrl = urls[i].url;
    					resultBitrate = urls[i].bitrate;
    					// Util.log(">> " + urls[i].bitrate + " " + urls[i].url);
    				}
    			}
    		}
    		if (resultUrl == "") {
    			// Util.log("If there is no MediaFile with type �video/mp4�" +
    			// "within this range ("+lowestBitrate+"-"+highestBitrate+
                //          "Mbps) take the next highest MediaFile");
    			for (var i = 0; i < urls.length; i++) {
    				if (urls[i].type == "video/mp4") {
    					if (urls[i].bitrate > highestBitrate &&
                            (urls[i].bitrate < resultBitrate || resultBitrate == 0)) {
    						resultUrl = urls[i].url;
    						resultBitrate = urls[i].bitrate;
    						// Util.log(">> " + urls[i].bitrate + " " + urls[i].url);
    					}
    				}
    			}
    		}
    		if (resultUrl == "") {
    			// Util.log("If there is no higher MedieFile with type" +
                //          "�video/mp4� take the next lowest MedieFile");
    			for (var i = 0; i < urls.length; i++) {
    				if(urls[i].type == "video/mp4"){
    					if (urls[i].bitrate < lowestBitrate && urls[i].bitrate > resultBitrate) {
    						resultUrl = urls[i].url;
    						resultBitrate = urls[i].bitrate;
    						//Util.log(">> " + urls[i].bitrate + " " + urls[i].url);
    					}
    				}
    			}
    		}
    		if (resultUrl == "" && urls[0].type == "video/mp4") {
    			resultUrl = urls[0].url;
    		}
    		// Util.log(">>>>>>>>>>>>>> AdController.getMediaFileWithMaxBitrate " +
            //          maxBitrate + " " + resultBitrate + " " + resultUrl);
    		return resultUrl;
    	};

    Замечательный алгоритм поиска видео более-менее соответствующего критерию "битрейт в диапазоне [а, б], либо первый в (б, *), либо последний в (*, а)".

    wvxvw, 08 Августа 2013

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

    +20

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    template<class T> 
    void FuncSmth(T value) 
    { 
      if(typeid(T) == typeid(int)) 
          FuncInt(value); 
      else if(typeid(T) == typeid(char*)) 
          FuncCharPtr(value); 
    }

    Оттуда

    falsting, 06 Августа 2013

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <Target Name="AfterBuild">
      <PropertyGroup>
        <base>$(ProjectDir.Replace('\', '/'))</base>
      </PropertyGroup>
      <Exec Command="$(bash) -c 'cd $(base)doc ; thor md:generate $(base)doc/doc.md'" />

    Генерация документации по феншую.

    wvxvw, 05 Августа 2013

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

    +19

    1. 1
    }while(1  <--  index);

    LispGovno, 30 Июля 2013

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