1. Куча / Говнокод #16802

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))
    
    VAR = MixedCaseText
    LOWER_VAR = $(call lc,$(VAR))
    
    all:
            @echo $(VAR)
            @echo $(LOWER_VAR)

    как реализовать портабельно lowercase функцию в GNU Make.

    как же я тебя временами лублу, мэйк.

    ЗЫ было случайно найдено в http://stackoverflow.com/questions/664601/in-gnu-make-how-do-i-convert-a-variable-to-lower-case

    Dummy00001, 06 Октября 2014

    Комментарии (37)
  2. Pascal / Говнокод #16801

    +88

    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
    program One;
    
    var
      a, b, c: integer;
    
    begin
      assign(input, 'input.txt'); reset(input);
      assign(output, 'output.txt'); rewrite(output);
      read(a);
      if a = 5 then
        Writeln('25')
      else if (a div 5 = 1) 
        then
        Writeln('Введите число, оканчивающееся на 5!')
      else begin
        b := a div 10;
        c := b * (b + 1);
        Writeln(c, '25');
      end;
    end.

    Dexius, 06 Октября 2014

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    mysql_query('select UNIX_TIMESTAMP(DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(Event.Time) - DATE_FORMAT(Event.Time,"%w") * 60 * 60 * 24), "%Y-%m-%d 00:00:00")) as GroupDate from ...');
    
    // и контрольный:
    $dateFormated = strftime($format, $GroupDate);
    
    // расшифровка (SPOILER):
    // автор пытался найти воскресенье предшествующее дате из Event.Time
    // и вывести его в формате YYYY-MM-DD

    нашел в процессе code review

    pronin, 06 Октября 2014

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

    +162

    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
    function makeRequest(params)
    {
        var tParams = new Object();
        
        try{        
            tParams.accepts = params.accepts
        }
        catch(e){}
    
        try{
            tParams.async = params.async
        }
        catch(e){}
    
        try{
            tParams.beforeSend = params.beforeSend
        }
        catch(e){}
    
        try{
        tParams.cache = params.cache
        }
        catch(e){}

    очередной тревел-стартап
    http://www.corteos.ru/Scripts/helpers.js

    tablecell, 06 Октября 2014

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

    +74

    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
    // TODO: This is not the smartest way to implement the config
    public int getFileFragmentationLevel() {
      return config.getFileFragmentationLevel();
    }
    
    public void setFileFragmentationLevel(int fileFragmentationLevel) {
      config.setFileFragmentationLevel(fileFragmentationLevel);
    }
    
    public int getStackTraceOutputMethod() {
      return config.getStackTraceOutputMethod();
    }
    
    public void setStackTraceOutputMethod(int stackTraceOutputMethod) {
      config.setStackTraceOutputMethod(stackTraceOutputMethod);
    }
    
    public String getOutputDirectory() {
      return config.getOutputDirectory();
    }
    
    public void setOutputDirectory(String outputDirectory) {
      config.setOutputDirectory(outputDirectory);
    }
    
    // и так для всех филдов (геттеров/сеттеров) объекта config

    https://github.com/cbeust/testng/blob/master/src/main/java/org/testng/reporters/XMLReporter.java
    Ну хоть признаёт.

    Actine, 05 Октября 2014

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

    +57

    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
    for (j=0;j<3;j++) {
    			tmp += member[i].V[2][j] * member[i].V[0][j];}
    		if (tmp > LENGTH_EPS) {
    			if ( node[member[i].n0].u_fix.y == 0 ) { //if node #1 is not fixed
    				if ( node[member[i].n0].teta_fix.x == 0 ) { //if node #3 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+1,	FreeDeg*n_number[member[i].n0] +3,	6*EJz/member[i].L*tmp				);} //k(1,3)
    				if ( node[member[i].n1].teta_fix.x == 0 ) {	//if node #9 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+1,	FreeDeg*n_number[member[i].n1] +3,	6*EJz/member[i].L*tmp				);} //k(1,9)
    			}
    			if ( node[member[i].n0].u_fix.z == 0 ) { //if node #2 is not fixed
    				if ( node[member[i].n0].u_fix.x == 0 ) { //if node #0 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+2,  FreeDeg*n_number[member[i].n0],		12*EJy/pow(member[i].L,2)*tmp 	);} //k(2,0)
    				if ( node[member[i].n1].u_fix.x == 0 ) { //if node #6 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+2,  FreeDeg*n_number[member[i].n1],		-12*EJy/pow(member[i].L,2)*tmp 	);} //k(2,6)
    			}
    			if ( node[member[i].n0].teta_fix.y == 0 ) { //if node #4 is not fixed
    				if ( node[member[i].n0].u_fix.x == 0 ) { //if node #0 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+4,	FreeDeg*n_number[member[i].n0],		-6*EJy/member[i].L*tmp 			);} //k(4,0)
    				if ( node[member[i].n1].u_fix.x == 0 ) { //if node #6 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+4,	FreeDeg*n_number[member[i].n1],		6*EJy/member[i].L*tmp 			);} //k(4,6)
    			}
    			if ( node[member[i].n0].teta_fix.z == 0 ) { //if node #5 is not fixed
    				if ( node[member[i].n0].teta_fix.x == 0 ) { //if node #3 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+5,  FreeDeg*n_number[member[i].n0] +3,	4*EJz*tmp				);} //k(5,3)
    				if ( node[member[i].n1].teta_fix.x == 0 ) {	//if node #9 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+5,  FreeDeg*n_number[member[i].n1] +3,  2*EJz/member[i].L*tmp 	);} //k(5,9)
    			}
    			if ( node[member[i].n1].u_fix.y == 0) { //if node #7 is not fixed
    				if ( node[member[i].n0].teta_fix.x == 0 ) { //if node #3 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+1,	FreeDeg*n_number[member[i].n0] +3,	-6*EJz/member[i].L*tmp 			);} //k(7,3)
    				if ( node[member[i].n1].teta_fix.x == 0 ) {	//if node #9 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+1,	FreeDeg*n_number[member[i].n1] +3,	-6*EJz/member[i].L*tmp 			);} //k(7,9)
    			}
    			if ( node[member[i].n1].u_fix.z == 0 ) { //if node #8 is not fixed
    				if ( node[member[i].n0].u_fix.x == 0 ) { //if node #0 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+2,  FreeDeg*n_number[member[i].n0],		-12*EJy/pow(member[i].L,2)*tmp 	);} //k(8,0)
    				if ( node[member[i].n1].u_fix.x == 0 ) { //if node #6 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+2,  FreeDeg*n_number[member[i].n1],		12*EJy/pow(member[i].L,2)*tmp 	);} //k(8,6)
    			}
    			if ( node[member[i].n1].teta_fix.y == 0 ) { //if node #10 is not fixed
    				if ( node[member[i].n0].u_fix.x == 0 ) { //if node #0 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+4,	FreeDeg*n_number[member[i].n0],		-6*EJy/member[i].L*tmp			);} //k(10,0)
    				if ( node[member[i].n1].u_fix.x == 0 ) { //if node #6 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+4,	FreeDeg*n_number[member[i].n1],		6*EJy/member[i].L*tmp 			);} //k(10,6)
    			}
    			if ( node[member[i].n1].teta_fix.z == 0 ) {	//if node #11 is not fixed
    				if ( node[member[i].n0].teta_fix.x == 0 ) { //if node #3 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+5,  FreeDeg*n_number[member[i].n0] +3,	2*EJz*tmp 				);} //k(11,3)
    				if ( node[member[i].n1].teta_fix.x == 0 ) {	//if node #9 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+5,  FreeDeg*n_number[member[i].n1] +3,	4*EJz*tmp 				);} //k(11,9)
    			}
    		}		
    		
    		//SUM(Lzi * Lyi),   i=x0,y0,z0
    		tmp = 0;
    		for (j=0;j<3;j++) {
    			tmp += member[i].V[2][j] * member[i].V[1][j];}
    		if (tmp > LENGTH_EPS) {
    			if ( node[member[i].n0].u_fix.y == 0 ) { //if node #1 is not fixed
    				if ( node[member[i].n0].teta_fix.y == 0 ) { //if node #4 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+1,	FreeDeg*n_number[member[i].n0] +4,	6*EJz/member[i].L*tmp			); //k(1,4)
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+4,	FreeDeg*n_number[member[i].n0] +1,	-6*EJy/member[i].L*tmp 			); //k(4,1)
    				}
    				if ( node[member[i].n1].teta_fix.y == 0 ) { //if node #10 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+1,	FreeDeg*n_number[member[i].n1] +4,	6*EJz/member[i].L*tmp			); //k(1,10)
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+4,	FreeDeg*n_number[member[i].n0] +1,	-6*EJy/member[i].L*tmp			); //k(10,1)
    				}
    			}
    			if ( node[member[i].n1].u_fix.y == 0) { //if node #7 is not fixed
    				if ( node[member[i].n0].teta_fix.y == 0 ) { //if node #4 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+4,	FreeDeg*n_number[member[i].n1] +1,	6*EJy/member[i].L*tmp 			); //k(4,7)
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+1,	FreeDeg*n_number[member[i].n0] +4,	-6*EJz/member[i].L*tmp 			); //k(7,4)
    				}
    				if ( node[member[i].n1].teta_fix.y == 0 ) { //if node #10 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+1,	FreeDeg*n_number[member[i].n1] +4,	-6*EJz/member[i].L*tmp 			); //k(7,10)
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+4,	FreeDeg*n_number[member[i].n1] +1,	6*EJy/member[i].L*tmp 			); //k(10,7)
    				}
    			}
    
    ..............................еще 10 страниц

    математики... бессмысленные и беспощадные.

    FadeToBlack, 04 Октября 2014

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

    +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
    public static byte[] Trim(this byte[] origin_array)
            {
                int findex = -1, eindex = -1;
    
                bool inseq = false;
    
                if (origin_array[0] != 0x00)
                {
                    if (origin_array[origin_array.Length - 1] != 0x00)
                        return origin_array;
                    findex = 0;
                }
    
                for (int i = 0; i < origin_array.Length; i++)
                {
                    if (origin_array[i] == 0x00)
                    {
                        if (inseq)
                            continue;
                        else
                            inseq = true;
                    }
                    else
                    {
                        if (inseq)
                            if (findex == -1)
                                findex = i;
                        eindex = i;
                    }
                }
    
                if (findex == eindex)
                    return new byte[0];
                
                byte[] result_array = new byte[eindex - findex + 1]; 
                Array.Copy(origin_array, findex, result_array, 0, result_array.Length);
                return result_array;
            }

    dzzpchelka, 04 Октября 2014

    Комментарии (32)
  8. PHP / Говнокод #16795

    +157

    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
    // экшен произвольного контроллера, они там все такие
    
    $data['heading_title'] = $this->language->get('heading_title');
    
    $data['text_my_account'] = $this->language->get('text_my_account');
    $data['text_my_orders'] = $this->language->get('text_my_orders');
    $data['text_my_newsletter'] = $this->language->get('text_my_newsletter');
    $data['text_edit'] = $this->language->get('text_edit');
    $data['text_password'] = $this->language->get('text_password');
    
    // еще 20-30 аналогичных строчек
    
    $data['column_left'] = $this->load->controller('common/column_left');
    $data['column_right'] = $this->load->controller('common/column_right');
    $data['content_top'] = $this->load->controller('common/content_top');
    $data['content_bottom'] = $this->load->controller('common/content_bottom');
    $data['footer'] = $this->load->controller('common/footer');
    $data['header'] = $this->load->controller('common/header');
    
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/account/account.tpl')) {
    	$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/account/account.tpl', $data));
    } else {
    	$this->response->setOutput($this->load->view('default/template/account/account.tpl', $data));
    }

    теги: Опенкарт, вчера релизнули, модный паттерн MVC-L, тонкие контроллеры, классика, табы для того и сделаны, чтобы ими отбивать

    https://github.com/opencart/opencart/tree/master/upload/catalog/controller/account

    Fike, 03 Октября 2014

    Комментарии (8)
  9. Python / Говнокод #16794

    −98

    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
    def down_cast_qobject(tp, obj):
        assert obj
        assert isinstance(tp, type)
        assert issubclass(tp, QObject)
        addresses = shiboken.getCppPointer(obj)
        assert isinstance(addresses, collections.Iterable)
        assert len(addresses)
        ptrs = filter(lambda p: p > 0L, addresses)
        assert ptrs
        ptr = ptrs[0]
        assert isinstance(ptr, long)
        wrapped = shiboken.wrapInstance(ptr, tp)
        assert isinstance(wrapped, tp)
        return wrapped

    Paranoid_mode = True

    QBatman, 03 Октября 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $("a").easyTooltip();
    		$("a#link").easyTooltip({
    			tooltipId: "easyTooltip2",
    			content: '<img src="new/img/our_work/mosdacha_g.jpg" />'
    		});

    Неуверенный программист.

    Vasiliy, 03 Октября 2014

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