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

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    // sumEqual reports whether u + v == w exactly.
    func sumEqual(u, v, w float64) bool {
    	return (u+v == w) && (u == w-v) && (v == w-u)
    }

    https://github.com/golang/geo/blob/a8523298cefedcf7b70bbbf4eeef24cbb3258376/s2/edge_clipping.go#L182

    походу питух-затейник опять сбежал

    Fike, 21 Марта 2020

    Комментарии (61)
  3. bash / Говнокод #26019

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #!/bin/sh
    IFS=:
    echo "Login\tUID"
    while read LOGIN _ UID _;
    do
      echo "$LOGIN\t$UID"
    done < /etc/passwd

    давайте обсуждать шелл-программирование

    MAKAKA, 07 Ноября 2019

    Комментарии (61)
  4. Assembler / Говнокод #25106

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    MOV     CX,4                    ;All devices are 4 letters
    REPE    CMPSB                   ;Check for name in list
    JZ      IOCHK                   ;If first 3 letters OK, check for the rest
    ADD     SI,CX                   ;Point to next device name

    Вроде не обсуждали код MS-DOS
    https://github.com/Microsoft/MS-DOS

    vistefan, 21 Ноября 2018

    Комментарии (61)
  5. 1C / Говнокод #25089

    −1

    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
    Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт
    
    	Если СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120 Тогда
    		Возврат 20;
    	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда
    		Возврат 10;
    	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда
    		Возврат 18;
    	КонецЕсли;
    
    	Возврат 0;
    
    КонецФункции

    Банально.
    Рарус.

    3oJIoTou_xyu, 16 Ноября 2018

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

    0

    1. 1
    2. 2
    А когда исправят "1. CSRF VERIFICATION ERROR"?
    Или только у меня так?

    csrfverificatinho, 13 Сентября 2018

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

    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
    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
    char *r_or_mem() {
        if ( get_mod() == 3 )
            return regs [ ( size << 3 ) | ( look & 7 ) ] ;
        else {
            static char buf [ 32 ] ;
            char *s = buf ;
            *s++ = '[' ;
            if ( ! ( look & 4 ) ) {
                *s++ = 'B' ;
                *s++ = ( look & 2 ) ? 'P' : 'X' ;
                *s++ = '+' ;
                *s++ = ( look & 1 ) ? 'D' : 'S' ;
                *s++ = 'I' ;
                if ( mod ) *s++ = '+' ;
            } else {
                if ( ( look & 7 ) == 6 && ! mod ) mod = 2 ;
                else {
                    if ( look & 2 ) {
                        *s++ = 'B' ;
                        *s++ = ( look & 1 ) ? 'X' : 'P' ;
                    } else {
                        *s++ = ( look & 1 ) ? 'D' : 'S' ;
                        *s++ = 'I' ;
                    }
                    if ( mod ) *s++ = '+' ;
                }
            }
            if ( mod ) {
                read_value ( s , mod == 2 ) ;
                s = s + strlen ( s ) ;
            }
            *s++ = ']' ;
            *s = 0 ;
            return buf ;
        }
    }
    
    void checkorder() {
        if ( ! dest ) {
            char *tmp = op1 ;
            op1 = op2 ;
            op2 = tmp ;
        }
    }
    
    void rm ( char *s ) {
        sprintf ( decoded , "%s\t" , s ) ;
        decoded += strlen ( decoded ) ;
        get_ds() ;
        read() ;
        op1 = get_reg() ;
        op2 = r_or_mem() ;
        checkorder() ;
        sprintf ( decoded , "%s , %s" , op1 , op2 ) ;
    }

    Чассть моего дизассемблера для 16-анального x86, что читает операндыы.

    yet_another_one_shit, 19 Апреля 2018

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

    +1

    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
    from lxml import html
    import urllib
    import time
    import os
    
    last = ""
    img_path = "/tmp/avatar.png"
    
    while True:
    	try:
    		tree = html.parse(urllib.urlopen("http://govnokod.ru/comments"))
    
    		date = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/a')[0].get('name')
    		if date != last:
    			last = date
    
    			image = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/img')[0].get('src')
    			name = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/strong/a')[0].text_content()
    			comment = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/div')[0].text_content()
    			avatar = urllib.urlretrieve(image, img_path)
    			os.system('notify-send -i {} \'{}\' \'{}\''.format(img_path, name, comment.encode('utf-8')))
    
    		time.sleep(10)
    		
    	except Exception:
    		time.sleep(10)

    vistefan, 19 Октября 2017

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

    +4

    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
    import java.util.Scanner;
    import java.io.*;
    
    public class Multiply {
    
        public static int multiplyNumbers(int n, int m)
        {
            int i = 0, result = 0;
            for(i = 0; i < m; i ++)
                result += n;
            return result;
        }
    
        public static void main(String [] args) {
            Scanner sc = new Scanner(System.in);
            int n,m,ans;
            n = sc.nextInt();
            m = sc.nextInt();
            ans = multiplyNumbers(n,m);
            System.out.println(ans);
        }
    }

    joker1484, 08 Августа 2016

    Комментарии (61)
  10. ActionScript / Говнокод #18327

    −91

    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
    tekstovoye_pole = new TextField ()
    				oblast_opisaniya_elementa.addChild (tekstovoye_pole);		
    				tekstovoye_pole.x = 65
    				tekstovoye_pole.y = 16
    				tekstovoye_pole.text = "Расход";
    				tekstovoye_pole.textColor = 0x000000;
    				tekstovoye_pole.autoSize  = TextFieldAutoSize.LEFT;
    				tekstovoye_pole.selectable = false			
    				tekstovoye_pole.setTextFormat(textformat_III);
    				
    				tekstovoye_pole = new TextField ()
    				oblast_opisaniya_elementa.addChild (tekstovoye_pole);		
    				tekstovoye_pole.x = 220
    				tekstovoye_pole.y = 16
    				tekstovoye_pole.text = "т/ч";
    				tekstovoye_pole.textColor = 0x000000;
    				tekstovoye_pole.autoSize  = TextFieldAutoSize.LEFT;
    				tekstovoye_pole.selectable = false			
    				tekstovoye_pole.setTextFormat(textformat_III);
    				
    				tekstovoye_pole = new TextField ()
    				oblast_opisaniya_elementa.addChild (tekstovoye_pole);		
    				tekstovoye_pole.x = 288
    				tekstovoye_pole.y = 16
    				tekstovoye_pole.text = String(buhgalteriya.massiv_G[0]).split(",")[0]
    				tekstovoye_pole.textColor = 0x000000;
    				tekstovoye_pole.autoSize  = TextFieldAutoSize.LEFT;
    				tekstovoye_pole.selectable = false			
    				tekstovoye_pole.setTextFormat(textformat_III);
    				
    				tekstovoye_pole = new TextField ()
    				oblast_opisaniya_elementa.addChild (tekstovoye_pole);		
    				tekstovoye_pole.x = 405
    				tekstovoye_pole.y = 16
    				tekstovoye_pole.text = String(buhgalteriya.massiv_G[0]).split(",")[1]
    				tekstovoye_pole.textColor = 0x000000;
    				tekstovoye_pole.autoSize  = TextFieldAutoSize.LEFT;
    				tekstovoye_pole.selectable = false			
    				tekstovoye_pole.setTextFormat(textformat_III);

    Обратите внимание: какой милый копипаст, для создания 4 надписей. Всё это создает таблицу. Таких копипастнутых блоков - тыщи. Понимаете, да, как здорово добавить одну строчку в эту таблицу?

    teoadal, 11 Июня 2015

    Комментарии (61)
  11. JavaScript / Говнокод #18230

    +142

    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
    "use strict"
            var carousel = document.getElementById("carousel");
            var carouselItems = document.getElementsByClassName("carousel-item");
            var carouselIndecarors = document.getElementsByClassName("carousel-indicator");
            var carouselActiveInt = 0;
            var carouselInterval;
            
            var carouselRefresh = function(){
                
            }
            
            for(var i=0;i<document.getElementsByClassName("carousel-indicator").length;i++){
                document.getElementsByClassName("carousel-indicator")[i].onclick = function(){carouselIndecarorChange(this)};
            }
            var carouselIndecarorChange = function(id){
                carouselItems[carouselActiveInt].classList.toggle("carousel-item__active");
                carouselIndecarors[carouselActiveInt].classList.toggle("carousel-indicator__active");
                
                carouselActiveInt = id.getAttribute("data-slide-to");
                
                carouselItems[carouselActiveInt].classList.toggle("carousel-item__active");
                carouselIndecarors[carouselActiveInt].classList.toggle("carousel-indicator__active");
    
            }
            
            
            
            
            
            var carouselNext = function(){
                            console.log(carouselActiveInt);
                
                            carouselItems[carouselActiveInt].classList.toggle("carousel-item__active");
                            carouselIndecarors[carouselActiveInt].classList.toggle("carousel-indicator__active");
                
                        if(carouselActiveInt == carouselItems.length-1){
                            carouselActiveInt=0;
                        }
                        else{
                            carouselActiveInt++;
                        }
                            carouselItems[carouselActiveInt].classList.toggle("carousel-item__active");
                            carouselIndecarors[carouselActiveInt].classList.toggle("carousel-indicator__active");
            }
    
            
            
    		var carouselAutoPlay = function(time){
                carouselInterval = setInterval(
                    function(){carouselNext()},time)
            }
            
            carouselAutoPlay(5000);
            carousel.onmouseover = function(){clearInterval(carouselInterval)};
            carousel.onmouseout = function(){carouselAutoPlay()};

    Слайдер

    mcheguevara2, 23 Мая 2015

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