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

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

    +924

    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
    // придерживаюсь оригинала как могу
    // код как был:
    
    static char message_buf[64000];  // must be actually 64K == 64<<10 == 65536
    
    class MessageHandler {
       // [...]
       char *header;         // point into the message_buf
       char *content;
       std::list<char *> tlvs; // pointers to the elements of the message
    };
    
    // я пожаловался - пообещали исправить в новой версии по ходу реализации новой фичи.
    
    // новый "усовершенствованый" код, с "поддержкой" многопоточности.
    
    static char message_buf[100][65000];  // 100 == max threads, buffer size now is much closer to the standard
    
    class MessageHandler {
       // [...]
       int threadId;             // index into the new message_buf[]
       char *header;          // point into the message_buf[threadId]
       char *content;
       std::vector<char *> tlvs; // same, but in std::vector because it is "faster"
    };

    вот так кодируют и совершенствуют код матерые шведские программистки.
    самое обидное что мой коллега почти все это пофиксил в оригинальной версии, но из-за важной фичи отказались мержить с новой версией и выкинули почти все его изменения.

    Dummy00001, 26 Апреля 2010

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

    +923.7

    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
    vector<
    #ifdef O_UNICODE
    wstring
    #else
    string
    #endif
    > get_file_list(
    #ifdef O_UNICODE
    wstring
    #else
    string
    #endif
    dir) {
    	#ifdef O_UNICODE
        wdirectory_iterator
        #else
        directory_iterator
        #endif
    	e;
        vector<
        #ifdef O_UNICODE
        wstring
        #else
        string
        #endif
        > ret;
        for (
        #ifdef O_UNICODE
        wdirectory_iterator
        #else
        directory_iterator
        #endif
    	d(dir); d != e; d++) {
            if (is_directory(d->status())) {
                vector<
                #ifdef O_UNICODE
                wstring
                #else
                string
                #endif
                > tmp = get_file_list(dir +
                #ifdef O_UNICODE
                L
                #endif
                "\\" + d->filename());
                for (unsigned int i = 0; i < tmp.size(); i++)
                    ret.push_back(tmp[i]);
            } else
                ret.push_back(dir +
                #ifdef O_UNICODE
                L
                #endif
                "\\" + d->filename());
        }
        return ret;
    }

    Условная компиляция, однако

    braindead, 28 Января 2010

    Комментарии (29)
  4. Java / Говнокод #18561

    +923

    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
    public class AnyNotNull<T> {
    
        public T get(T... args) {
            for(T t : args) {
                if (t != null)
                    return t;
            }
            return null;
        }
    
        public T getOrThrow(T... args) {
            T t = get(args);
            if(t == null)
                throw new NullPointerException("AnyNotNull. everything is null");
            return t;
        }
    
    }

    класс утилита

    _a_o_O, 02 Августа 2015

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

    +922.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    __declspec(noreturn) int FastAdd(const int a, const int b)
    {
      __asm mov eax, a;
      __asm mov ebx, b;
      __asm add eax, ebx;
    };

    Встречаеться множество подобных функций в одном С++ проекте, который в данный момент разгребаю. Хочеться что-нибудь сказать автору. Например: "на XYZ"?

    Говногость, 08 Января 2010

    Комментарии (147)
  6. C++ / Говнокод #2210

    +922

    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
    int proverka_na_chislo(string str){
      int l=0;
      for(unsigned int i=0; i<str.length();i++) {
       if(str.compare(i,i+1,"0")!=0){
         if(str.compare(i,i+1,"1")!=0){
           if(str.compare(i,i+1,"2")!=0){
             if(str.compare(i,i+1,"3")!=0){
               if(str.compare(i,i+1,"4")!=0){
                 if(str.compare(i,i+1,"5")!=0){
                   if(str.compare(i,i+1,"6")!=0){
                     if(str.compare(i,i+1,"7")!=0){
                       if(str.compare(i,i+1,"8")!=0){
                          if(str.compare(i,i+1,"9")!=0){
                            throw std::invalid_argument("invalid argument\n");
                            l=-1;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      return l;
    }

    Проверка на число.

    LocalStorm, 03 Декабря 2009

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

    +918

    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
    #include <iostream>
    
    template<typename T>
    struct A {
      typedef int R();
    
      template<typename U>
      static U *f(int) { 
        return 0; 
      }
    
      static int f() { 
        return 0;
      }
    };
    
    template<typename T>
    bool g() { A<T> a; return !(typename A<T>::R*)a.f<int()>(0); }
    template<typename T>
    bool h() { A<T> a; return !(         A<T>::R*)a.f<int()>(0); }
    
    int main() {
      std::cout << g<void>() << f<void>() << std::endl;
    }

    Как можно было придумать такой синтаксис :(

    Bobik, 25 Августа 2016

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

    +916

    1. 1
    2. 2
    if(!empty($_REQUEST['action_button']))
    			$_REQUEST['action'] = $_REQUEST['action_button'];

    bitrix/modules/main/interface/admin_lib.php:3320

    maxyc, 25 Августа 2016

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

    +913.2

    1. 1
    if (c != "$"[0])

    Без комментария

    Snake2101, 16 Апреля 2010

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

    +912.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ... WndProc (...)
    {
          case WM_PAINT:
               SetPixel (dc, 0, 0, RGB (255, 0, 0));
               if (GetPixel (dc, 0, 0) == RGB (255, 0, 0))
                       printf ("Я знал!");
          break;
    }

    ...

    XAKEP, 18 Апреля 2010

    Комментарии (30)
  11. C++ / Говнокод #2914

    +912.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
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int n;
        cin>>n;
        if(n==1) cout<<"A";
        if(n==2) cout<<"B";
        if(n==3) cout<<"AB";
        if(n==4) cout<<"BAB";
        if(n==5) cout<<"ABBAB";
        if(n==6) cout<<"BABABBAB";
        if(n==7) cout<<"ABBABBABABBAB";
        if(n==8) cout<<"BABABBABABBABBABABBAB";
        if(n==9) cout<<"ABBABBABABBABBABABBABABBABBABABBAB";
        if(n==10) cout<<"BABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBAB";
        if(n==11) cout<<"ABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBAB";
        if(n==12) cout<<"BABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBAB";
        if(n==13) cout<<"ABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBAB";
        if(n==14) cout<<"BABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBAB";
        if(n==15) cout<<"ABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBABABBABBABABBABBABABBABABBABBABABBAB";
        return 0;
    }

    строки Фибаначи. (=

    winprogrammer, 01 Апреля 2010

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