1. JavaScript / Говнокод #17806

    +160

    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
    function displayFilterElements(typeList){
    	_filter.form.elements["name1"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name2"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["nam3"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name4"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name5"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name6"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name7"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name8"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name9"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name10"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name11"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name12"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name13"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name14"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name15"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name16"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name17"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name18"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name19"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name20"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name21"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name22"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name23"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name24"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name25"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name26"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name27"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name28"].closest("tr").hidden = (typeList === "Type3") ? true : false;
    	_filter.form.elements["name29"].closest("tr").hidden = (typeList === "Type3") ? false : true;
    };
    	
    function stateFilterElements(){
    	let select = false;
    	["name1", "name2", "name3", "name4", "name5", "name6", "name7", "name8", "name9", "name10", "name11", "name12", "name13"].forEach(function(fieldName){
    		if ($.query.hashJSON.has(fieldName))
    			select = true;
    	});
    	return select;
    }

    Получил в доработку модуль сотрудника. Идентификаторы изменены для публикации, не в них суть.

    torbasow, 17 Марта 2015

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

    +131

    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
    Я даже не могу сказать, что не так с "PHP", потому что… Окей. Представьте себе, эмм, коробку с инструментами.
    Набор инструментов. Выглядит нормально, инструменты как инструменты.
    
    Вы берёте отвёртку и видите крестовину с тремя лепестками.
    Окей, не очень полезно для вас, но может когда-нибудь понадобиться.
    
    Берёте молоток и ужасаетесь тому, что он раздвоен с двух сторон.
    Он, конечно, всё ещё пригоден, я имею ввиду, что вы можете забивать гвозди серединой бойка, держась за ручку наоборот.
    
    Берёте плоскогубцы, у которых нет зазубрин; они плоские и гладкие.
    Не так полезно, как могло бы быть, но ими всё ещё можно выкручивать болты.
    
    И так далее. Все инструменты чем-то странные и вывернутые, но не настолько, чтобы
    быть совсем бесполезными. И во всём наборе нет конкретной проблемы; в нём есть все инструменты.
    
    Теперь представьте себе миллионы плотников, использующих такой вот набор
    инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!».
    И плотники показывают вам, построенные ими дома с пятиугольными комнатами и крышей кверху ногами.
    Вы стучитесь в дверь, она просто падает внутрь и они орут на вас за то, что вы сломали их дверь.
    
    Вот что не так с "PHP".

    Время баянчиков.

    gost, 17 Марта 2015

    Комментарии (252)
  3. Си / Говнокод #17804

    +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
    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
    #define poff    acurp + curp * (nSQs+2)        /*probs: offset*/
    long psum() {return  c(poff+ 1);}    long pmax()    {return c(poff+2);}
    long pn     (long n)                {return          c(poff+2+n);   }
    void setp   (long n, long x){set    (poff+2+n, x);} /*prob changes:*/ 
    void setmax         (long x){set    (poff+2,   x);} /*metasearching*/
    void setsum         (long x){set    (poff+1,   x);}
    long get2ndmax()    {long n= poff+2, x=pmax(), m=n,  s=0,end=n+nSQs;   
         do     {n++;}   while  (c(n) != x);  /*find 2nd-highest <=pmax*/     
         do     {m++;    if (s < c(m) && m !=n) s= c(m);}/*jue tncheck?*/
                 while      (s < x    && m < end);       return  s;}
    void addtoSQ(long i, long val) {long x;   /*increase prob of ith SQ*/
         if  (val < 1 || i >nSQs || i<1) return;        /*not possible!*/
         x =  psum()+val;if (x > maxint) return;   /*has max normalizer*/
         setsum (x);    /*normalizer +*/ x =  pn(i)+val; setp(i, x); 
         if (x > pmax()) setmax (x);}   /*maximal SQprob has increased */    
    void subofSQ(long i, long val) {long x;   /*decrease prob of ith SQ*/
         if  (val < 1 || i >nSQs || i<1) return;        /*not possible!*/
         x =  pn(i)-val; if (x < 0)      return;/*no neg probabilities!*/
         setsum (psum()- val);           setp(i,x);/*don't check if =0!*/   
         if (x + val  == pmax()) setmax (get2ndmax());} /*change of max*/
    void incSQ()        {long i= top();  addtoSQ(i,1);} /*top, not pop!*/
    void decSQ()        {long i= top(),  x,y,z; /*decrem prob of the SQ*/
         if  (i> nSQs   || i< 1) return;/*no such search Q number known*/
         x =  pn(i);     if     (x==0)   return;        /*SQ: already 0*/
         y  = psum();    z =     pmax();              
         if  (x == 1 &&  y    <= z+1)    stop    /*leave at least 2 SQs*/
         if  (x == z)    setmax         (get2ndmax());  /*change of max*/
         setp(i, x-1);   setsum (y-1);}                 /*normalizer -1*/
    long upSQ;          /*SQ probability:enumerator  +=  upSQ: increase*/
    void oldSQ()   {long a=pop()+ndecl,  n,i; if(a<0||a> oldp)stop/*bad*/
         n=old[a].size;  a=old[a].start;/*all SQs of old nondecl: +upSQ*/
         tncheck  n+=a;  for(i=a;i<n;i++)addtoSQ(SQ[q[i].Q],     upSQ);}
    
    void setpat()       {long i= pop(); /*instantiate my search pattern*/
         if  (i<0 || i > patp)     stop /*no such search pattern exists*/
         set (acurp,i);}/*next SQ-search defined via new probabilities!*/
    void pupat()        {long    i  =    apatp;   /*push search pattern*/ 
         if  (i>maxpat)  stop    i++;    set(apatp,i);  /*not too many?*/
         cpabn  (poff+1, acurp + 1 + i *(2+ nSQs),       2 + nSQs,  
                                         acurp + 1,      aendpats);     }  
    void popat()        {long i= apatp;  if(i==0)   stop
         set(apatp,i-1); push(i); }                /*pop search pattern*/

    Полный исходник http://www.idsia.ch/~juergen/oopscode.c

    j123123, 17 Марта 2015

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

    +131

    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
    private static List<Vessel> boosterVesselList = new List<Vessel>();
    		/// <summary>
    		/// Вернуть судно по строковому обозначению судна
    		/// </summary>
    
    		private static Vessel GetVesselByIdString(string vesselStrId)
    		{
    			Vessel findVessel = null;
    
    			// Просмотр в ускоряющем списке
    			foreach (Vessel boostVessel in boosterVesselList)
    			{
    				if (boostVessel.Name == vesselStrId)
    				{
    					findVessel = boostVessel;
    					break;
    				}
    			}
    
    			// Если в списке не нашли, ищем в БД
    			if (findVessel == null)
    			{
    				findVessel = VesselBusinessLogic.GetItemByName(vesselStrId);
    
    				if (findVessel == null)
    				{
    					findVessel = new Vessel
    					{
    						Id = -1,
    						Name = vesselStrId
    					};
    
    					findVessel.Id = PublicFunctions.AddOrUpdate(findVessel);
    					boosterVesselList.Add(findVessel);
    				}
    			}
    
    			return findVessel;
    		}

    Это один из методов класса для работы с морскими судами. Я пока не совсем понял как так и зачем так. Боже мой.... мама, роди меня обратно. Комментарии оригинальные.

    alex_lis, 17 Марта 2015

    Комментарии (6)
  5. Си / Говнокод #17802

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    void print_tetral(int i){
        switch(i){
        case 1:
            printf("      January                February                March\n");
            printf("Mo Tu We Th Fr Sa Su   Mo Tu We Th Fr Sa Su   Mo Tu We Th Fr Sa Su\n");
            break;
        case 2:
            printf("       April                   May                    June\n");
            printf("Mo Tu We Th Fr Sa Su   Mo Tu We Th Fr Sa Su   Mo Tu We Th Fr Sa Su\n");
            break;
        case 3:
            printf("        July                  August               September\n");
            printf("Mo Tu We Th Fr Sa Su   Mo Tu We Th Fr Sa Su   Mo Tu We Th Fr Sa Su\n");
            break;
        case 4:
            printf("      October                 November               December\n");
            printf("Mo Tu We Th Fr Sa Su   Mo Tu We Th Fr Sa Su   Mo Tu We Th Fr Sa Su\n");
            break;
        default:
            break;
        }
    }

    alobanov, 16 Марта 2015

    Комментарии (24)
  6. Си / Говнокод #17801

    +132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    int weeks_in_month(int month, int year){
        int weeks=1, first, i=0;  //i - числа месяца
        first = weekday(1, 1, 1, 1, 1, month, year);
        i += 8 - first;
        while(i <= days_in_month(month, year)){
            ++weeks;
            i += 7;
        }
        return weeks;
    }

    alobanov, 16 Марта 2015

    Комментарии (26)
  7. Си / Говнокод #17800

    +132

    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
    void calendar(int year){
        int i, j, k, frst=1, week, length, day = 0;
        printf("                               ");
        if(year < 1000) printf(" ");
        printf("%d\n\n", year);
        int first[3];   // число начала недели (первая неделя - любой день недели, следющие - понедельник)
        for(i = 1; i <= 4; ++i){
            print_tetral(i);
            first[1] = weekday(1, 1, 1, 1, 1, i*3-2, year);
            first[2] = weekday(1, 1, 1, 1, 1, i*3-1, year);
            first[3] = weekday(1, 1, 1, 1, 1, i*3, year);
            length = max(weeks_in_month(i*3-2, year), \
                         weeks_in_month(i*3-1, year), \
                         weeks_in_month(i*3, year));
            for(week = 0; week < length; ++week){
                for(j = 1; j <= 3; ++j){
                    frst = first[j];
                    if(week > 0) frst = 1;
                    if(week == 0)
                        for(k = 1; k < first[j]; ++k)
                            printf("   ");
                    k = frst;
                    day = 0;
                    while(k <= 7 && day < days_in_month(i*3-3+j, year) && week < weeks_in_month(i*3-3+j, year)){
                        day = 7*week + k - first[j] + 1;
                        if(day > days_in_month(i*3-3+j, year)) break;
                        if(day < 10) printf(" %d ", day);
                        else if(day >= 10) printf("%d ", day);
                        ++k;
                    }
                    if(week == length - 1 || day >= days_in_month(i*3-3+j, year))
                        for(; k <= 7; ++k)
                            printf("   ");
                    printf("  ");
                }
                printf("\n");
            }
            printf("\n");
        }
    }

    Печатаем календарь.

    alobanov, 16 Марта 2015

    Комментарии (2)
  8. Си / Говнокод #17799

    +130

    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
    int days_in_month(int month, int year){
        if(month == 2){
            if(is_leap_year(year)) return 29;
            else return 28;
        }
        if(month < 8){
            if(month % 2 == 1) return 31;
            else return 30;
        }
        if(month > 7){
            if(month % 2 == 1) return 30;
            else return 31;
        }
        return 0;
    }

    Количество дней в месяце. Моя первая кучка. Не судите строго ^_^

    alobanov, 16 Марта 2015

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

    +128

    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
    98. 98
    HTML:
    <div id="calendar">
    		<div class="day">
    		<span class="num_job">5</span>
    			<span class="num_day">1</span>
    			<span class="name_day">пн</span>
    			<br/>
    			<span class="month">янв</span>
    			
    			
    			<span class="importance"></span>
    		</div>	
    		<div class="day">
    		<span class="num_job">12</span>
    			<span class="num_day">2</span>
    			<span class="name_day">вт</span>
    			<br/>
    			<span class="month">янв</span>
    			
    			
    			<span class="importance"></span>
    		</div>
    </div>
    CSS:
    body{
    	background: #ddd;
    	width: 1064px;
      margin: 0 auto;
    }
    #calendar{
    	width: 1064px;
    	margin: 0 auto;
    /*	height: 500px;*/
    display: inline-block;
    	background: #fff;
    }
    .day{
    	background: #f1f6f7;
    	border: 1px solid #dddbdb;
    	width: 130px;
    	height: 130px;
    	float: left;
    	margin: 10px;
    }
    .day:hover{
    	background: #6EB1BE;
    	cursor: pointer;
    }
    .day:hover .num_day, .day:hover .month, .day:hover .name_day{
    	color: #fff;
    }
    .day:hover .num_job{
    	color: #6EB1BE;
    	background: #fff;
    }
    
    .num_day{
    	font-family: Arial;
    	font-size: 72px;
    	font-weight: bold;
    	color: #1e99f7;	
    	position: relative;
    	top: -15px;
    	left: 15px;
    	letter-spacing: -6px;
    }
    .month, .name_day{
    	position: relative;
    	font-family: Arial;
    	font-size: 24px;
    	color: #1e99f7;	
    }
    .month{
    	top: -25px;
    	left: 37px;
    }
    
    .name_day{
      font-size: 11px;
      top: -12px;
      left: 15px;
    }
    .num_job{
    	background: #1e99f7;
    	color: #fff;
    	display: block;
    	width: 25px;
    	height: 25px;
    	line-height: 25px;
    	text-align: center;
    	border-radius: 100%;
    	font-family: Arial;
    	font-size: 17px;
    	font-weight: bold;
    	position: relative;
    	top: 5px;
    	left: 100px;
    }

    Вот я сверстал календарик. Подойдёт ли такой код для рабочего варианта? Что добавить? Что убрать? Как будет лучше?

    Simasik, 16 Марта 2015

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $('#Leasing_payment_sum').keyup(function(){
        if($(this).val()/$(this).val()){
            var result = $(this).val()*1+$(this).val()*0.18;
            $('#Leasing_payment_sum_with_nds').val(result.toFixed(2));
        }
    });

    Удивляет проверка...

    creepy-code, 16 Марта 2015

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