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. PHP / Говнокод #25469

    −102

    1. 1
    2. 2
    3. 3
    4. 4
    <?php
    
    $st = $db->prepare("select id from huis where len > :len");
    $st->execute(array("len" => 20));

    Перепост http://govnokod.ru/20125#comment340813

    bormandyan, 24 Марта 2019

    Комментарии (61)
  5. 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)
  6. 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)
  7. Куча / Говнокод #24753

    0

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

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

    Комментарии (61)
  8. Си / Говнокод #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)
  9. 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)
  10. 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)
  11. 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)