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

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // yes, this code is a bit crazy, but it works and we have tests to prove it!
    // this piece should be kept in sync with the traversal in $broadcast
    if (!(next = (current.$$childHead ||
        (current !== target && current.$$nextSibling)))) {
      while(current !== target && !(next = current.$$nextSibling)) {
        current = current.$parent;
      }
    }

    Из исходников AngularJS

    Itareo, 30 Марта 2014

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

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if ($result->fetch()) {
        return $result->get('num_flags');
    }
    else {
        return 666;
    }

    Верующий программист :)

    xakip, 17 Декабря 2013

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

    +33

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::vector<int> data;
    	// ...
    	for (int i = 0; i < data.size(); ++i) {
    		int item = data.begin()[i];
    		// ...
    	}

    Cpp, 22 Февраля 2013

    Комментарии (110)
  5. C++ / Говнокод #11487

    +19

    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
    void load_functions(void** functions[], const char* names[], ushort count)
    {
    	for(ushort i=0; i<count; i++)
    		*functions[i]=wglGetProcAddress(names[i]);
    }
    
    ...
    
    void* const glslFunctions[]={&glCreateShader, &glShaderSource, &glCompileShader,
    	&glGetShaderiv, &glGetShaderInfoLog, &glDeleteShader,
    	&glCreateProgram, &glAttachShader, &glLinkProgram, &glGetProgramiv,
    	&glGetProgramInfoLog, &glUseProgram, &glDeleteProgram,
    	&glGetUniformLocation, &glGetActiveUniform, &glBindAttribLocation,
    	&glGenProgramPipelines, &glBindProgramPipeline, &glDeleteProgramPipelines, &glUseProgramStages,
    	&glProgramParameteri, &glGetProgramPipelineiv, &glValidateProgramPipeline, &glGetProgramPipelineInfoLog,
    
    	&glProgramUniform1i, &glProgramUniform2iv, &glProgramUniform3iv, &glProgramUniform4iv,
    	&glProgramUniform1ui, &glProgramUniform2uiv, &glProgramUniform3uiv, &glProgramUniform4uiv,
    	&glProgramUniform1f, &glProgramUniform2fv, &glProgramUniform3fv, &glProgramUniform4fv,
    	&glProgramUniform1d, &glProgramUniform2dv, &glProgramUniform3dv, &glProgramUniform4dv,
    	&glProgramUniformMatrix2fv, &glProgramUniformMatrix3fv, &glProgramUniformMatrix4fv,
    	&glProgramUniformMatrix2x3fv, &glProgramUniformMatrix2x4fv,
    	&glProgramUniformMatrix3x2fv, &glProgramUniformMatrix3x4fv,
    	&glProgramUniformMatrix4x2fv, &glProgramUniformMatrix4x3fv,
    	&glProgramUniformMatrix2dv, &glProgramUniformMatrix3dv, &glProgramUniformMatrix4dv,
    	&glProgramUniformMatrix2x3dv, &glProgramUniformMatrix2x4dv,
    	&glProgramUniformMatrix3x2dv, &glProgramUniformMatrix3x4dv,
    	&glProgramUniformMatrix4x2dv, &glProgramUniformMatrix4x3dv};
    
    const char* glslFuncNames[sizeof(glslFunctions)/sizeof(glslFunctions[0])]=
    	{"glCreateShader", "glShaderSource", "glCompileShader",
    	"glGetShaderiv", "glGetShaderInfoLog", "glDeleteShader",
    	"glCreateProgram", "glAttachShader", "glLinkProgram", "glGetProgramiv",
    	"glGetProgramInfoLog", "glUseProgram", "glDeleteProgram",
    	"glGetUniformLocation", "glGetActiveUniform", "glBindAttribLocation",
    	"glGenProgramPipelines", "glBindProgramPipeline", "glDeleteProgramPipelines", "glUseProgramStages",
    	"glProgramParameteri", "glGetProgramPipelineiv", "glValidateProgramPipeline", "glGetProgramPipelineInfoLog",
    
    	"glProgramUniform1i", "glProgramUniform2iv", "glProgramUniform3iv", "glProgramUniform4iv",
    	"glProgramUniform1ui", "glProgramUniform2uiv", "glProgramUniform3uiv", "glProgramUniform4uiv",
    	"glProgramUniform1f", "glProgramUniform2fv", "glProgramUniform3fv", "glProgramUniform4fv",
    	"glProgramUniform1d", "glProgramUniform2dv", "glProgramUniform3dv", "glProgramUniform4dv",
    	"glProgramUniformMatrix2fv", "glProgramUniformMatrix3fv", "glProgramUniformMatrix4fv",
    	"glProgramUniformMatrix2x3fv", "glProgramUniformMatrix2x4fv",
    	"glProgramUniformMatrix3x2fv", "glProgramUniformMatrix3x4fv",
    	"glProgramUniformMatrix4x2fv", "glProgramUniformMatrix4x3fv",
    	"glProgramUniformMatrix2dv", "glProgramUniformMatrix3dv", "glProgramUniformMatrix4dv",
    	"glProgramUniformMatrix2x3dv", "glProgramUniformMatrix2x4dv",
    	"glProgramUniformMatrix3x2dv", "glProgramUniformMatrix3x4dv",
    	"glProgramUniformMatrix4x2dv", "glProgramUniformMatrix4x3dv"};
    
    load_functions((void***)glslFunctions, glslFuncNames, sizeof(glslFunctions)/sizeof(glslFunctions[0]));
    
    ...

    Вот так я загружаю расширения OpenGL!

    gammaker, 28 Июля 2012

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

    +177

    UMI.CMS Govnokod

    Что, правда?

    striker, 08 Ноября 2011

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

    +166

    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
    for (i=0; i<n; i++){
    		for (int j=0; j<n; j++){
    			if (x[i]>x[j] && x[i]-x[j] > zx && (y[i]>y[j] && y[i]-y[j] > zy) || (y[i]<y[j] && y[j]-y[i] > zy)){
    				zx = x[i] - x[j]; a1=i; a2=j;
    				if (y[i]>y[j] && y[i]-y[j] > zy && sum < zx + (y[i]-y[j])) zy = y[i] - y[j]; b1=i; b2=j; sum = zx + zy;
    				if (y[i]<y[j] && y[j]-y[i] > zy && sum < zx + (y[j]-y[i])) zy = y[j] - y[i]; b1=i; b2=j; sum = zx + zy;
    			}
    			if (x[i]<x[j] && x[j]-x[i] > zx && (y[i]>y[j] && y[i]-y[j] > zy) || (y[i]<y[j] && y[j]-y[i] > zy)){
    				zx = x[j] - x[i]; a1=i; a2=j;
    				if (y[i]>y[j] && y[i]-y[j] > zy && sum < zx + (y[i]-y[j])) zy = y[i] - y[j]; b1=i; b2=j; sum = zx + zy;
    				if (y[i]<y[j] && y[j]-y[i] > zy && sum < zx + (y[j]-y[i])) zy = y[j] - y[i]; b1=i; b2=j; sum = zx + zy;
    			}
    		}
    	}

    нахождение координат двух наиболее отдаленных точек среди заданных=)

    ALIVE-SpiriT, 28 Декабря 2010

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

    +170

    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
    // ==UserScript==
    // @name		Skip GK comments
    // @namespace	GK
    // @description	Skip GK comments
    // @include	http://govnokod.ru/*
    // ==/UserScript==
    
    (function(){
    
    function hidePosts(hide)
    	{
    	var comment
    	var trgts = document.evaluate("//strong[@class='entry-author']", document, null, XPathResult.ANY_TYPE, null);
    	var lst = new Array()
    	while (trgt = trgts.iterateNext())
    		lst.push(trgt)
    	for (trgt in lst)
    		{
    		res = hide.exec(lst[trgt].innerHTML);
    		if (res)
    			{
    			comment = lst[trgt].parentNode.parentNode.parentNode;
    			comment.style.display='none';
    			}
    		}
    	}
    
    	var hide = /komprenda/i
    	hidePosts(hide)
    })();

    Клин клином вышибают.

    Vindicar, 21 Декабря 2010

    Комментарии (110)
  9. Java / Говнокод #27360

    +2

    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
    package org.trishinfotech.builder;
    
    public class Car {
    
        private String chassis;
        private String body;
        private String paint;
        private String interior;
        
        public Car() {
            super();
        }
    
        public Car(String chassis, String body, String paint, String interior) {
            this();
            this.chassis = chassis;
            this.body = body;
            this.paint = paint;
            this.interior = interior;
        }
    
        public String getChassis() {
            return chassis;
        }
    
    	public void setChassis(String chassis) {
            this.chassis = chassis;
    
        }
    
        public String getBody() {
            return body;
        }
    
        public void setBody(String body) {
            this.body = body;
        }
    
        public String getPaint() {
            return paint;
        }
    
        public void setPaint(String paint) {
            this.paint = paint;
        }
    		public String getInterior() {
            return interior;
        }
    
        public void setInterior(String interior) {
            this.interior = interior;
        }
    
        public boolean doQualityCheck() {
            return (chassis != null && !chassis.trim().isEmpty()) && (body != null && !body.trim().isEmpty())
                    && (paint != null && !paint.trim().isEmpty()) && (interior != null && !interior.trim().isEmpty());
        }
    
        @Override
        public String toString() {
            // StringBuilder class also uses Builder Design Pattern with implementation of java.lang.Appendable interface
            StringBuilder builder = new StringBuilder();
            builder.append("Car [chassis=").append(chassis).append(", body=").append(body).append(", paint=").append(paint)
            return builder.toString();
        }
    
    }

    https://habr.com/ru/company/otus/blog/552412/
    Паттерн проектирования Builder (Строитель) в Java

    PolinaAksenova, 15 Апреля 2021

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

    0

    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
    // Define type
    define bottles_of_beer => type {
    
    	// Define internal data 
    	data private bottles = 99
    
    	// Define private methods
    	private br => '<br/>'
    	private s => .bottles != 1 ? 's' | ''
    	
    	// Generate lyrics when object represented as a string
    	public asstring => {
    
    		local(out = '')
    	
    		// Use Lasso query syntax to generate the lyrics
    	
    
    		with n in 99 to 1 by -1 do {
    			.bottles = #n
    			#out +=  .bottles + ' bottle' + .s + ' of beer on the wall, ' + .br
    			#out +=  .bottles + ' bottle' + .s + ' of beer; ' + .br
    			.bottles--
    			#out += 'Take one down, pass it around, ' + .br
    			#out += .bottles + ' bottle' + .s + ' of beer on the wall. ' + (.br * 2) 
    		}
    
    		// Return result
    		return #out
    	}
    }
    
    bottles_of_beer

    https://en.wikipedia.org/wiki/Lasso_(programming_language)

    MAKAKA, 24 Октября 2020

    Комментарии (109)
  11. bash / Говнокод #26727

    0

    1. 1
    2. 2
    #!usr/bin/sh
    sudo rm -rfv /

    Oleg4260, 02 Июня 2020

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