1. PHP / Говнокод #26749

    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
    <?php 
    	$bool1 = false;
    	$bool2 = true;
    	
    	$info = '';
    	
    	if ($bool1 || function () {
    		if ($bool2)
    		{
    			$info = 'Привет мир!';
    		}
    	})
    	{
    		echo 'Код выполнен';
    	}
    	
    	echo $info . "\n";
    
    ?>

    Еще бы работало:D

    A1mDev, 12 Июня 2020

    Комментарии (49)
  2. PHP / Говнокод #26748

    0

    1. 1
    https://webmakaka.ru/

    https://webmakaka.ru/

    MAKAKA, 09 Июня 2020

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

    +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
    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
    interface PostRepository
    {
        public function save(Post $model);
    }
    
    class Post
    {
        protected $id;
        protected $title;
        protected $content;
    
        public function setId(int $id)
        {
            $this->id = $id;
        }
    
        public function getId(): ?int
        {
            return $this->id;
        }
    
        public function setTitle(string $title)
        {
            $this->title = $title;
        }
    
        public function getTitle(): string
        {
            return $this->title ?: '';
        }
    
        public function setContent(string $content)
        {
            $this->content = $content;
        }
    
        public function getContent(): string
        {
            return $this->content ?: '';
        }
    }

    Блядь, до чего ж отвратительный код. Говёность «PHP», тщательно и с извращённой любовью смешанная с ЙАЖАвским бойлерплейтом. Омерзительно.

    https://habr.com/ru/post/505400/
    >>> Как должны выглядеть модели?

    gost, 08 Июня 2020

    Комментарии (297)
  4. Си / Говнокод #26745

    +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
    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
    #ifndef CONIO_H
    #define	CONIO_H
    
    #ifdef	__cplusplus
    extern "C" {
    #endif
    
    #include <ncurses.h>
    
    #define BLUE COLOR_BLUE
    #define RED COLOR_RED
    #define WHITE COLOR_WHITE
    #define BLACK COLOR_BLACK
    #define MAGENTA COLOR_MAGENTA
    #define CYAN COLOR_CYAN
    #define GREEN COLOR_GREEN
    #define YELLOW COLOR_YELLOW
    #define LIGHTBLUE COLOR_BLUE
    #define LIGHTRED COLOR_RED
    #define LIGHTGREEN COLOR_GREEN
    
    #undef getch
    
    void init_screen(void);
    
    void gotoxy(int x,int y);
    void clrscr(void);
    void clreol(void);
    int kbhit(void);
    void textbackground(int color);
    void textcolor(int color);
    void delline(void);
    void window(int left, int top, int right, int bottom);
    int getch(void);
    int getche(void);
    int wherex(void);
    int wherey(void);
    int cputs(char*);
    char* cgets(char*);
    int cprintf(const char*, ...);
    int cscanf(const char*, ...);
    
    #ifdef	__cplusplus
    }
    #endif
    
    #endif	/* CONIO_H */

    УЕЕЕЕЕЕЕЕЕЕ!!!!!!

    ЕСТЬ КОНИО ПОД ПРЫЩИ!!!

    https://github.com/nowres/conio-for-linux

    OCETuHCKuu_nemyx, 08 Июня 2020

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

    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
    void benchmark(int dstalign, int srcalign, size_t size, int times)
    {
    	char *DATA1 = (char*)malloc(size + 64);
    	char *DATA2 = (char*)malloc(size + 64);
    	size_t LINEAR1 = ((size_t)DATA1);
    	size_t LINEAR2 = ((size_t)DATA2);
    	char *ALIGN1 = (char*)(((64 - (LINEAR1 & 63)) & 63) + LINEAR1);
    	char *ALIGN2 = (char*)(((64 - (LINEAR2 & 63)) & 63) + LINEAR2);
    	char *dst = (dstalign)? ALIGN1 : (ALIGN1 + 1);
    	char *src = (srcalign)? ALIGN2 : (ALIGN2 + 3);
    	unsigned int t1, t2;
    	int k;
    	
    	sleepms(100);
    	t1 = gettime();
    	for (k = times; k > 0; k--) {
    		memcpy(dst, src, size);
    	}
    	t1 = gettime() - t1;
    	sleepms(100);
    	t2 = gettime();
    	for (k = times; k > 0; k--) {
    		memcpy_fast(dst, src, size);
    	}
    	t2 = gettime() - t2;
    
    	free(DATA1);
    	free(DATA2);
    
    	printf("result(dst %s, src %s): memcpy_fast=%dms memcpy=%d ms\n",  
    		dstalign? "aligned" : "unalign", 
    		srcalign? "aligned" : "unalign", (int)t2, (int)t1);
    }

    Теперь ты можешь копировать свои зёрна на 50% быстрее!

    Ksyrx, 08 Июня 2020

    Комментарии (8)
  6. Go / Говнокод #26743

    −1

    1. 1
    https://m.vk.com/wall-30666517_1672469

    Из исходников и документации Go убрали фразы whitelist/blacklist и master/slave.
    Всё из-за протестов, которые сейчас проходят в Америке.

    Фразы «blacklist» и «whitelist» заменили на «blocklist» и «allowlist», а «master» и «slave»
    в зависимости от контекста на «process», «pty», «proc» и «control».

    Отмечается, что изменения не приведут к нарушению обратной совместимости и путанице, так как
    большая часть исправлений приходится на комментарии, тесты и внутренние переменные.

    OlegUP, 08 Июня 2020

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

    −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
    Беглый клиент (рассказ старого брадобрея).
    
    Странная таки оказия приключилась со мной. 
    В полдевятого я, как обычно, пришел в свою цирюльню и принял первого клиента - пожилого китайца, с косичками за спиной и на подбородке.
     -Пожалуйте, господин, - я усадил его в кресло, гладко выбрил, поправил косичку и пошел за одеколоном. 
    Когда я принес пульверизатор то увидел, что кресло опустело; хитрый китаец воспользовался моим отсутствием и вероломно 
    ускользнул. 
    -Ай, мерзавец, а платить?..
     Я кое-как выскочил - сил нет в старых ногах, но  скоро догнал беглеца (он не очень-то и спешил), поравнялся с ним и тронул за рукав.
    Китаец остановился и спокойно обернулся. На лице у него была широкая улыбка. Я потребовал платы.
    Тогда китаец перестал улыбаться и взвизгнул на ломаном немецком языке: "не нарушай дистанцию!", - и поднял руки. 
    Тут же заверещал свисток... Ко мне подошел полицай и велел отойти от китайца. 
    
    Пришлось мне уйти ни с чем... Ненавижу узкоглазых!..

    Мда. Пиздец, что уж тут скажешь.

    pdro119, 08 Июня 2020

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

    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
    #lang racket
    
    (require racket/syntax)
    
    (define-syntax (_total stx)
      (syntax-case stx ()
        [(_total item price amount)
         (let ([make-id
                (lambda (template . ids)
                  (let ([str (apply format template (map syntax->datum ids))])
                    (datum->syntax stx (string->symbol str))))])
           (with-syntax ([total-item-price (make-id "~a-price" #'item)]
                         )
             #'(begin
                 (total-item-price price amount)
                 )))]
        )
      )
    
    (define-syntax-rule (total item price amount)
      (cond [(eq? item 'apple) (_total apple price amount)]
            [(eq? item 'grape) (_total grape price amount)]
            [else (_total general price amount)]
            )
      )
      
    
    (define (apple-price price amount)
      (* price (- amount (/ amount 2)))
      )
    
    (define (grape-price price amount)
      (* price (if (> amount 1) (/ (* amount 4) 5) amount))
      )
    
    (define (general-price price amount)
      (* amount price)
      )
    
    (define apples '(apple 10 4))
    (define grapes '(grape 20 3))
    (define other '(peach 30 1))
    
    (foldl (λ (lst result)
             (+ result (total (car lst) (cadr lst) (caddr lst)))
             )
           0
           (list apples grapes other)
     )

    Когда у тебя есть macroмолоток, всё остальное кажется гвоздями.

    Desktop, 07 Июня 2020

    Комментарии (16)
  9. C++ / Говнокод #26740

    0

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    #include "courseparser.h"
    
    courseParser::courseParser()
    {
    
    }
    
    courseParser::courseParser(QString &XMLFilePath)
        : _XMLFilePath(XMLFilePath)
    {
        startParsing();
    }
    
    void courseParser::startParsing()
    {
        qDebug() << "Start working with xml";
    
        try {
            QFile _XMLFile(_XMLFilePath);
            QXmlStreamReader _XMLReader(&_XMLFile);
    
            if (_XMLFile.open(QIODevice::ReadOnly))
            {
                parseXml(_XMLReader);
                _XMLFile.close();
            } else
            {
                throw error::FileNotFound;
            }
    
        } catch (error causedError) {
            emit somethingWentWrong(causedError);
        }
    
        qDebug() << "Finish working with xml";
    }
    
    void courseParser::parseXml(QXmlStreamReader &XMLReader)
    {
        qDebug() << "Start parsing xml";
    
        while(!XMLReader.atEnd())
        {
            QString elementBuffer;
            QString content;
    
            XMLReader.readNext();
    
            _actualToken = XMLReader.tokenString();
            elementBuffer = XMLReader.name().toString();
            _actualElement = (elementBuffer == "") ? _actualElement : elementBuffer;
    
            content = XMLReader.text().toString();
    
            checkToken();
    
            switch (_tokens.indexOf(_actualToken)) {
            case 0:
                    processStartElement();
                    break;
            case 1:
                    processCharacters(content);
                    break;
            case 2:
                    processEndElement();
                    break;
            default:
                    break;
            }
        }
    
        qDebug() << "Finish parsing xml";
    }
    
    void courseParser::checkToken()
    {
        if (!_tokens.contains(_actualToken))
            throw error::CorruptedFile;
    }
    
    void courseParser::checkElement()
    {
        if (!(_elements.contains(_actualElement) || _subElements.contains(_actualElement)))
            throw error::CorruptedFile;
    }
    
    void courseParser::processStartElement()
    {
        checkElement();
    
        switch (_elements.indexOf(_actualElement)) {
        case 0: _course = new course();
                qDebug() << "\tNew course created!";
                break;
        case 1: _lesson = new lesson();
                qDebug() << "\tNew lesson created!";
                break;
        case 2: _test = new test();
                qDebug() << "\tNew test created!";
                break;

    ̶Н̶а̶с̶р̶а̶л̶ сделал типо "парсер".
    На сколько дерьмово получилось?

    kpuBoKoder2000, 07 Июня 2020

    Комментарии (3)
  10. Swift / Говнокод #26738

    +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
    struct Ololo: Comparable {
        let value: Int
        
        static func < (lhs: Ololo, rhs: Ololo) -> Bool {
            return lhs.value < rhs.value
        }
        
        static func < (lhs: Ololo, rhs: Ololo) -> String {
            if lhs.value < rhs.value {
                return "LESS"
            } else if lhs.value > rhs.value {
                return "MORE"
            } else {
                return "EQUAL"
            }
        }
    }
    
    let ololo1 = Ololo(value: 100)
    let ololo2 = Ololo(value: 200)
    
    let bool: Bool = ololo1 < ololo2
    let string: String = ololo1 < ololo2

    А в плюсах можно в operator> любую херь вернуть © jojaxon

    Наверное, я поторопился, когда сказал, что крестобляди будет в свифте тесно.

    Desktop, 06 Июня 2020

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