1. 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)
  2. PHP / Говнокод #13569

    +162

    1. 1
    if(count($pacients)>-1) {

    зачем так сложно писать if(true) ? да и зачем вообще..

    shitcoder, 08 Августа 2013

    Комментарии (119)
  3. C# / Говнокод #13568

    +137

    1. 1
    2. 2
    private static OfficerResponse ToPerson<TField, TTitle>(IEnumerable<TField> fields, IEnumerable<TTitle> titles, Func<TField, string> getName, Func<TField, string> getValue, Func<TTitle, string> getTitle, bool active, TextType1 bio, YMDType birth, ContactInformationType contactInformation, string tickers, DegreeType1[] educationHistory, CertificateType[] certifications, PositionInformationType positionInformation, AffilationType[] corporateAffiliations, string officerId, OfficerDirectorType info,string repNo)
    {...}

    нашел вот...

    fade, 08 Августа 2013

    Комментарии (17)
  4. Куча / Говнокод #13567

    +138

    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
    Шаблон 
    
    (\$*(\d*(\.+\d+)?){1})
    
    Шаблон замены
    
    **$&
    
    Вход
    
    $1.30
    
    Выход
    
    **$1.30**
    
    А теперь вопрос знатокам: Каким жестоким человеком нужно быть, что бы засунуть в пример регулярку, которая может соответствовать 0(?!) символов?

    Все та же статья MSDN
    http://msdn.microsoft.com/ru-ru/library/az24scfc.aspx

    kegdan, 08 Августа 2013

    Комментарии (12)
  5. PHP / Говнокод #13566

    +147

    1. 1
    2. 2
    //вынести куда-нибудь в index.php что-ли... а то используется уже в трёх местах
    //a: по всему порталу так, не парься

    Комментарий к коду где-то в середине файла.

    franzose, 08 Августа 2013

    Комментарии (2)
  6. PHP / Говнокод #13564

    +161

    1. 1
    $papks = scandir($dir, 1);

    Вот есть $files? Значит и $papks тоже бывает.

    deep, 07 Августа 2013

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    if (preg_match(
            '@^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+\@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$@',
            $email
        )

    валидация email-а

    shmaltorhbooks, 07 Августа 2013

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

    +156

    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
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    registrationButtons = (function ()
      {
        var initRequestInviteButton = function ()
        {
          $("#btnRequestInvite").on('click', function ()
          {
            $('#login-registry-form').submit();
          });
        };
        var initRequestConfirmationButton = function ()
        {
          $("#btnRequestConfirmation").on('click', function ()
          {
            $('#login-registry-form').submit();
          });
        };
        var initForgotPasswordButton = function ()
        {
          $("#btnForgotPassword").on('click', function ()
          {
            $('#login-forgot-form').submit();
          });
        };
        var initLoginBrandButton = function ()
        {
          $("#buttonRegisterBrands").on('click', function ()
          {
            $('#login-brand-form').submit();
          });
        };
        var initSignInFromFacebookButton = function ()
        {
          $("#buttonSignInFromFacebook").on('click', function ()
          {
            $('#login-form').submit();
          });
        };
        var initStartPampingButton = function ()
        {
          $("#btnStartPamping").on('click', function ()
          {
            $('#login-options-form').submit();
          });
        };
        var initRequestInviteTwitterButton = function ()
        {
          $("#btnRequestInviteTwitter").on('click', function ()
          {
            $('#login-form').submit();
          });
        };
        var initSetPasswordButton = function ()
        {
          $("#btnSetPassword").on('click', function ()
          {
            $('#login-reset-form').submit();
          });
        };
        var external = {
          init: function ()
          {
            initRequestInviteButton();
            initRequestConfirmationButton();
            initForgotPasswordButton();
            initLoginBrandButton();
            initSignInFromFacebookButton();
            initStartPampingButton();
            initRequestInviteTwitterButton();
            initSetPasswordButton();
          },
          initRequestInviteButton: function ()
          {
            initRequestInviteButton();
          },
          initFBButtons: function ()
          {
            initSignInFromFacebookButton();
          },
          initForgotPasswordButton: function ()
          {
            initForgotPasswordButton();
          },
          initStartPampingButton: function ()
          {
            initStartPampingButton();
          },
          initTwitterButtons: function ()
          {
            initRequestInviteTwitterButton();
          },
          initSetPasswordButton: function ()
          {
            initSetPasswordButton();
          }
        };
        return external;
      })();

    DarkThinker, 07 Августа 2013

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

    +141

    1. 1
    2. 2
    3. 3
    bool eventWasRaised = false;
    
    eventWasRaised.Should().Be.False();

    иногда удивляет до чего доходят .NET unit testing фреймворки.
    пруф http://joseoncode.com/2010/04/29/event-aggregator-with-reactive-extensions/
    эту конструкцию глядишь и эксепшеном вырвет если не false.

    Irdis, 07 Августа 2013

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

    +117

    1. 1
    \d+[\+-x\*]\d+\d+[\+-x\*\d+

    Даже не говнокод, а фиг знает что. Решил сегодня поизучить регеспы, почитал пару мануалов, зашел на MSDN

    http://msdn.microsoft.com/ru-ru/library/az24scfc.aspx

    А там этот пример. И указано что он находит "2+2" и "3*9" в "(2+2) * 3*9"

    Я подозреваю, что они хотели написать @"\d+[+-\\*]\d+". Печально, когда человек, день знакомый с регулярками, находит в их примерах ошибки(

    kegdan, 06 Августа 2013

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