1. 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) RSS

    • 2 wvxvw:
      Давайте вы просто выложите весь проект на пэйстбин или ещё куда, и линканёте? Такие простыни каждый раз :)
      Ответить
      • Сорри, я больше не буду такие длинные. Но тут специфический случай, т.как размер имеет значение. Т.е. в короткой функции обнаружить while(true); было бы все-таки проще. Я так думаю.
        Ответить
        • Да я даже ничего против этого не имею, запостил просьбу выложить больше потому, что хочется покопаться самому. Потому что отменное.
          Ответить
          • http://www.nanorep.com/
            оно все отсюда, но как бы выкладывать не буду, да и не стоит оно, чтобы его увековечили где-то, ну и противно будет после прочтения - его там по-настоящему много.
            Ответить
            • Что-то сами они используют ASP.NET и несвежий jquery
              Ответить
              • Так оно и есть .NET, более того, код яваскрптовский наполовину сгенерированный (это в часности объясняет длинные названия - его бы так умаялись писать). Но генерировать его на каком-то этапе прекратили, т.как начали доправлять руками (какой урод это начал теперь уже не узнать). И вобщем теперь оно вот такое вот, какое есть.
                Ответить
            • что это?
              Ответить
              • Это компания-производительн последних поставок на ГК.ру. Говнокод производят под личиной программы заменяющей частично тех. поддержку в разных больших организациях, где такую поддержку предоставляют клиентам на которых можно положить. Например: Компании ИКЕА положить на тех, кто у нее приобрел мебель - вот они и устанавливают у себя на сайте робот-автоответчик, который общается с клиентами. Или, другой пример, администрации университета впадлу отвечать студентам и чинить сайт до состояния, когда им можно пользоваться - вот они тоже, платят за аренду бота авотоответчика.
                Ответить
        • Это цикл с инусловием (или цикл с выходом из середины).
          Ответить
          • while (true); <<< тело цикло пустое. Середины нет.
            Ответить
            • Если бы не притаившийся тигрdo.
              Ответить
              • За do { .. } while(..) без веской на то причины, и без пустой строки после while(..) надо убивать. Медленно и жестоко.
                Ответить
                • Само собой. В крайнем случае, чтобы не вводить в заблуждение, как в этом случае, писать
                  /* ... */
                  } while (1);

                  Но цикл с послеусловием, скорее всего, признак нездорового костыля.
                  Ответить
              • Ох. Не увидел я Карлсона под этой простыней...
                Ответить
    • ну и говнище.
      а оно еще и на жабаскрипте.
      Ответить
    • показать все, что скрытоВсем поставил по минусу, СУКИ!
      Ответить

    Добавить комментарий