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

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ㅌㄹ ㄱㅌ		; Помещаем в BX текущее значение регистра ES	<───────┐
    ㅈㅿ		; Загружаем младший байт регистра флагов в AH		│
    		;							│
    ㅊㅋ		; В пару ES:DI кладем то, что сейчас находится в AX	│
    		;							|
    ㄹㅅ		; Дважды увеличиваем значение регистра DI		|
    ㄹㅅ		; на одну единицу					|
    		;							│
    ㅎㅋ ㅿㅈ		; Образуем бесконечный цикл			>───────┘

    Господа, ОНО вернулось. Следующая итерация всеми нами любимого и восхваляемого [имя, которое нель̸̗̠̘̘̪̳̩зя произносить]. Я б̞̫͔̜ы на вашем ме̤̣̺͇̫с̨͈те покинул стр̵а̻̘̪̙͎̳̕н̬̙̤̙̪̝̺͠ицу. С̫е̜й̱͎ч̦̦̝͔а̙͓͓с̛̩̞̘ ̫̹͙̲̤̖͉ж̶͉̻е҉̼̦.

    h7381514, 05 Ноября 2018

    Комментарии (50)
  3. C# / Говнокод #24942

    +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
    public class TransactionRequestViewModel
    {
            public string X_login { get; set; }
    
            public double X_amount { get; set; }
    
            public int X_fp_sequence { get; set; }
    
            public int X_fp_timestamp { get; set; }
    
            public string X_fp_hash { get; set; }
    
            public string X_show_form { get; set; }
    
            public string X_receipt_link_method { get; set; }
    
            public string X_receipt_link_text { get; set; }
    
            public string X_receipt_link_url { get; set; }
    
            public string X_currency_code { get; set; }
    
            public string X_line_item { get; set; }
    }

    Этот "Х" добавляет +80 к читаемости.

    Moses, 19 Октября 2018

    Комментарии (50)
  4. Куча / Говнокод #24280

    −5

    1. 1
    Эмуляторы

    Объясните пожалуйста, почему пишут эмуляторы всяких там GBA, но нет ни одного транслятора в самодостаточную программу? И почему все заботься о том, что бы эмулятор работал с такой же скоростью, как и настоящий процессор?

    dm_fomenok, 17 Мая 2018

    Комментарии (50)
  5. JavaScript / Говнокод #23851

    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
    // ==UserScript==
    // @name     syomaGKignore
    // @description x-cross to ban GK users for syoma
    // @version  0
    // @match    http://govnokod.ru/*
    // @match    http://www.govnokod.ru/*
    // @grant    none
    // ==/UserScript==
    
    
    window.addEventListener('load', function() {
      localStorage.setItem('banned', localStorage.getItem('banned') || JSON.stringify([]));
      
      var banned = JSON.parse(localStorage.getItem('banned'));
      for (var i = 0; i < banned.length; i++) {
        var hide = document.querySelectorAll('.entry-author a[href$="/' + banned[i] + '"]');
        for (var j = 0; j < hide.length; j++) {
          hide[j].parentNode.parentNode.parentNode.style.display = 'none';
        }
      }
      
      var count = document.querySelector('.enrty-comments-count');
      count.style.cursor = 'pointer';
      count.addEventListener('click', function() {
        localStorage.setItem('banned', JSON.stringify([]));
        location.reload();
      });
      
      var votes = document.querySelectorAll('.comment-vote');
      for (var i = 0; i < votes.length; i++) {
        
        var cross = document.createElement('div');
        cross.innerHTML = '☓';
        
        cross.style.display = 'inline-block';
        cross.style.color = 'black';
        cross.style.marginLeft = '10px';
        cross.style.cursor = 'pointer';
        
        cross.addEventListener('click', function() {
          var id = this.parentNode.querySelector('.entry-author a').href.replace(/^.*\//, '');
      		var banned = JSON.parse(localStorage.getItem('banned'));
          if (banned.indexOf(id) < 0)
          	banned.push(id);
          localStorage.setItem('banned', JSON.stringify(banned));
          location.reload();
        });
        
        votes[i].parentNode.insertBefore(cross, votes[i]);
      }
    });

    Крестик для Сёмы на чистейшем JS, без $ и сложных евентов на аяксы. Работает только на страницах конкретных постов (другие и не нужны, с бормандстока кликнул по ссылке — попал куда надо), и только после полной загрузки страницы. Разбанить всех — это клик по цифре с общим количеством комментариев под постом, рядом со ссылкой на RSS.

    vistefan, 02 Марта 2018

    Комментарии (50)
  6. Java / Говнокод #23553

    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
    import java.io.*;
    
    class Player {
        String name;
        int ch;
    }
    class PlayerTestDrive{
        public static void main(String[] args) throws Exception{
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    
            int count = 0;
            int count1 = 0;
    
            Player p1 = new Player();
            Player p2 = new Player();
    
            System.out.print("Введите имя первого игрока: ");
            p1.name = reader.readLine();
    
            System.out.print("Введите имя второго игрока: ");
            p2.name = reader.readLine();
    
            System.out.print(p1.name + ", введите число: ");
            p1.ch = Integer.parseInt(reader.readLine());
    
            System.out.print(p2.name + ", введите число: ");
            p2.ch = Integer.parseInt(reader.readLine());
    
            int[] a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            int aL = a.length;
            int rand = (int)(Math.random() * aL);
    
    
                if (rand == p1.ch){
                    count = 1;
                }
                if (rand == p2.ch){
                    count1 = 1;
                }
    
             if (count > count1){
                 System.out.println(p1.name + ", вы победили!");
             }else if(count < count1){
                 System.out.println(p2.name + ", вы победили!");
            }else{
                 System.out.println("Ничья, попробуйте еще раз!");
             }
    
        }
    }

    Игра! Два игрока вводят числа с клавиатуры от 1 до 10 , если введенное число какого-либо игрока совпадает с рандомным числом, то он становится победителем, если нет, то игра начинается еще раз! ПРОШУ СТРОГОЙ КРИТИКИ!

    babushkaAntona, 19 Ноября 2017

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SFINAE — это просто
    
    template<typename T> struct has_foo{
    private:  // Спрячем от пользователя детали реализации.
        static int detect(...);  // Статическую функцию и вызывать проще.
        template<typename U> static decltype(std::declval<U>().foo(42)) detect(const U&);
    public:
        static constexpr bool value = std::is_same<void, decltype(detect(std::declval<T>()))>::value;  // Вот видите, готово.
    };

    Программирование на "Modern C++" всё больше и больше становится похожим на отчаянную попытку выебать козла плазменным телевизором.
    via h/205772

    gost, 30 Сентября 2017

    Комментарии (50)
  8. Си / Говнокод #23318

    −16

    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
    char *cat2(char *str1, char *str2)
    {
      int len;
      char *ret;
    
      /* malloc new string */
      len = strlen(str1) + strlen(str2) + 1;
      ret = (char *) malloc(len*sizeof(char));
    
      /* copy the strings */
      strcpy(ret, str1);
      strcat(ret, str2);
    
      /* free old strings */
      free(str1);
      free(str2);
    
      return ret;
    }
    
    char *cat3(char *str1, char *str2, char *str3)
    {
      return cat2(cat2(str1, str2), str3);
    }
    
    char *cat4(char *str1, char *str2, char *str3, char *str4)
    {
      return cat2(cat2(str1, str2), cat2(str3, str4));
    }
    
    char *cat5(char *str1, char *str2, char *str3, char *str4,
    	   char *str5)
    {
      return cat3(cat2(str1, str2), cat2(str3, str4), str5);
    }
    
    char *cat6(char *str1, char *str2, char *str3, char *str4,
    	   char *str5, char *str6)
    {
      return cat3(cat2(str1, str2), cat2(str3, str4), cat2(str5, str6));
    }
    
    char *cat7(char *str1, char *str2, char *str3, char *str4,
    	   char *str5, char *str6, char *str7)
    {
      return cat4(cat2(str1, str2), cat2(str3, str4), cat2(str5, str6), str7);
    }
    
    char *cat8(char *str1, char *str2, char *str3, char *str4,
    	   char *str5, char *str6, char *str7, char *str8)
    {
      return cat4(cat2(str1, str2), cat2(str3, str4),
    	      cat2(str5, str6), cat2(str7, str8));
    }
    
    char *cat9(char *str1, char *str2, char *str3, char *str4,
    	   char *str5, char *str6, char *str7, char *str8,
    	   char *str9)
    {
      return cat5(cat2(str1, str2), cat2(str3, str4), cat2(str5, str6),
    	      cat2(str7, str8), str9);
    }

    d_fomenok, 31 Августа 2017

    Комментарии (50)
  9. Куча / Говнокод #19080

    −1

    1. 1
    2. 2
    "WCT" или "ебанутым нет покоя" - уже на главной Швабра!
    http://habrahabr.ru/post/271519/

    gost, 24 Ноября 2015

    Комментарии (50)
  10. C++ / Говнокод #18975

    +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
    class CBaseEntity {
    
            // ...
    
    	void (CBaseEntity ::*m_pfnThink)(void);
    
    	virtual void Think( void ) { if (m_pfnThink) (this->*m_pfnThink)(); };
    
            // ...
    
    	// Ugly code to lookup all functions to make sure they are exported when set.
    
    #ifdef _DEBUG
    	void FunctionCheck( void *pFunction, char *name ) 
    	{ 
    		if (pFunction && !NAME_FOR_FUNCTION((uint32)pFunction) )
    			ALERT( at_error, "No EXPORT: %s:%s (%08lx)\n", STRING(pev->classname), name, (uint32)pFunction );
    	}
    
    	BASEPTR ThinkSet( BASEPTR func, char *name ) 
    	{ 
    		m_pfnThink = func; 
    		FunctionCheck( (void *)*((int *)((char *)this + ( offsetof(CBaseEntity,m_pfnThink)))), name ); 
    		return func;
    	}
    
            // ...
    
    };
    
    // Ugly technique to override base member functions
    // Normally it's illegal to cast a pointer to a member function of a derived class to a pointer to a 
    // member function of a base class.  static_cast is a sleezy way around that problem.
    
    #ifdef _DEBUG
    
    #define SetThink( a ) ThinkSet( static_cast <void (CBaseEntity::*)(void)> (a), #a )
    
    // ...
    
    #else
    
    #define SetThink( a ) m_pfnThink = static_cast <void (CBaseEntity::*)(void)> (a)
    
    // ...
    
    #endif

    https://github.com/ValveSoftware/halflife/blob/5d761709a31ce1e71488f2668321de05f791b405/dlls/cbase.h

    > it's illegal
    В крестах всё легально, главное - попросить прощения в комментах...

    bormand, 05 Ноября 2015

    Комментарии (50)
  11. Ruby / Говнокод #18439

    −114

    1. 1
    2. 2
    3. 3
    def days(index)
      ((15662003>>(2*(index-1)))&3) + 28
    end

    Вычисление количества дней в месяце по индексу.

    yuryroot, 06 Июля 2015

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