1. Список говнокодов пользователя Говногость

    Всего: 188

  2. Java / Говнокод #4956

    +70

    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
    public class HttpServer {
    
        public static void main(String[] args) throws Throwable {
            ServerSocket ss = new ServerSocket(8080);
            while (true) {
                Socket s = ss.accept();
                System.err.println("Client accepted");
                new Thread(new SocketProcessor(s)).start();
            }
        }
    
        private static class SocketProcessor implements Runnable {
    
            private Socket s;
            private InputStream is;
            private OutputStream os;
    
            private SocketProcessor(Socket s) throws Throwable {
                this.s = s;
                this.is = s.getInputStream();
                this.os = s.getOutputStream();
            }
    
            public void run() {
                try {
                    readInputHeaders();
                    writeResponse("<html><body><h1>Hello from Habrahabr</h1></body></html>");
                } catch (Throwable t) {
                    /*do nothing*/
                } finally {
                    try {
                        s.close();
                    } catch (Throwable t) {
                        /*do nothing*/
                    }
                }
                System.err.println("Client processing finished");
            }
    
            private void writeResponse(String s) throws Throwable {
                String response = "HTTP/1.1 200 OK\r\n" +
                        "Server: YarServer/2009-09-09\r\n" +
                        "Content-Type: text/html\r\n" +
                        "Content-Length: " + s.length() + "\r\n" +
                        "Connection: close\r\n\r\n";
                String result = response + s;
                os.write(result.getBytes());
                os.flush();
            }
    
            private void readInputHeaders() throws Throwable {
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                while(true) {
                    String s = br.readLine();
                    if(s == null || s.trim().length() == 0) {
                        break;
                    }
                }
            }
        }
    }

    Это весь код вебсервера.
    К слову сказать, это от сюда:
    http://habrahabr.ru/blogs/java/69136/

    Говногость, 17 Декабря 2010

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

    +162

    1. 1
    2. 2
    while(!ThreadActivateFlag)
      Sleep(0);

    Говногость, 15 Декабря 2010

    Комментарии (46)
  4. C++ / Говнокод #4936

    +147

    1. 1
    int*& HochuVOtpusk = *new int*;//:(

    Говногость, 15 Декабря 2010

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

    +145

    1. 1
    2. 2
    3. 3
    int min = 100000; 
    for(int i=0; i<N; (i++)+1 )
    if(A[ i ] < min) min := a{ i ];

    Говногость, 15 Декабря 2010

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

    +159

    1. 1
    2. 2
    SetClipboardData(CF_TEXT, hMems);
    SetClipboardData(RegisterClipboardData(CFSTR_SHELLURL), hMems);

    Говногость, 15 Декабря 2010

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

    +165

    1. 1
    throw new std::bad_alloc();

    У нас в кодеконвеншене принято передавать исключения по указателю. Вчера обнаружил вот это во многих перегрузках оператора new, да и в прочих местах по проекту.

    Говногость, 01 Июля 2010

    Комментарии (12)
  8. C++ / Говнокод #3609

    +168

    1. 1
    2. 2
    3. 3
    SystemDiskLogSingleton::Instance().Add("Системный диск не отвечает на попытки записи данных. Возможно завис его драйвер.", 152, SystemDiskAccessError);
    printStr("Системный диск висит. Обратитесь к системному администратору.");
    loo54: goto loo54;

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

    Говногость, 30 Июня 2010

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

    +169

    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
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    struct IText{
     
    	typedef boost::shared_ptr<IText> SPtr;
     
    	virtual void draw() = 0;
     
    	virtual void add(const SPtr&) {
    		throw std::runtime_error("IText: Can't add to a leaf");
    	}
     
    	virtual void remove(const SPtr&){
    		throw std::runtime_error("IText: Can't remove from a leaf");
    	}
    };
     
    struct CompositeText: public IText{
     
    	void add(const SPtr& sptr){
    		children_.push_back(sptr);
    	}
     
    	void remove(const SPtr& sptr){
    		children_.remove(sptr);
    	}
     
    	void replace(const SPtr& oldValue, const SPtr& newValue){
    		std::replace(children_.begin(), children_.end(), oldValue, newValue);
    	}
     
    	virtual void draw(){
    		BOOST_FOREACH(SPtr& sptr, children_){
    			sptr->draw();
    		}
    	}
     
    private:
    	std::list<SPtr> children_;
    };
     
    struct Letter: public IText{
     
    	Letter(char c):c_(c) {}
     
    	virtual void draw(){
    		std::cout<<c_;
    	}
     
    private:
    	char c_;
    };
     
     
    int main(){
     
    	CompositeText sentence;
     
    	IText::SPtr lSpace(new Letter(' '));
    	IText::SPtr lExcl(new Letter('!'));
    	IText::SPtr lComma(new Letter(','));
    	IText::SPtr lNewLine(new Letter('\n'));
    	IText::SPtr lH(new Letter('H')); // letter 'H'
    	IText::SPtr le(new Letter('e')); // letter 'e'
    	IText::SPtr ll(new Letter('l')); // letter 'l'
    	IText::SPtr lo(new Letter('o')); // letter 'o'
    	IText::SPtr lW(new Letter('W')); // letter 'W'
    	IText::SPtr lr(new Letter('r')); // letter 'r'
    	IText::SPtr ld(new Letter('d')); // letter 'd'
    	IText::SPtr li(new Letter('i')); // letter 'i'
     
    	IText::SPtr wHello(new CompositeText);
    	wHello->add(lH);
    	wHello->add(le);
    	wHello->add(ll);
    	wHello->add(ll);
    	wHello->add(lo);
     
    	IText::SPtr wWorld(new CompositeText); // word "World"
    	wWorld->add(lW);
    	wWorld->add(lo);
    	wWorld->add(lr);
    	wWorld->add(ll);
    	wWorld->add(ld);
     
    	sentence.add(wHello);
    	sentence.add(lComma);
    	sentence.add(lSpace);
    	sentence.add(wWorld);
    	sentence.add(lExcl);
    	sentence.add(lNewLine);
     	sentence.draw();  // ptrints "Hello, World!\n"
     	IText::SPtr wHi(new CompositeText); // word "Hi"
    	wHi->add(lH);
    	wHi->add(li);
     	sentence.replace(wHello, wHi);
    	sentence.draw();  // ptrints "Hi, World!\n"
     	sentence.remove(wWorld);
                 sentence.remove(lSpace);
    	sentence.remove(lComma);
    	sentence.draw();  // ptrints "Hi!\n"

    Hi, World! Психологическая зависимость от надуманного ООП убивает проекты и их создателей. Всё хорошо в меру. (Найдено на просторах интернета).

    Говногость, 25 Июня 2010

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

    +174

    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
    signed ToBool(signed b){unsigned t=b;return ( ((t<<0)>>31)  |  ((t<<1) >>31)  |  ((t<<2) >>31)  |  ((t<<3) >>31)  |  ((t<<4) >>31) | ((t<<5) >>31) | ((t<<6) >>31) | ((t<<7) >>31) | ((t<<8) >>31) | ((t<<9) >>31) | ((t<<10) >>31) | ((t<<11) >>31) | ((t<<12) >>31) | ((t<<13) >>31) | ((t<<14) >>31) | ((t<<15) >>31) | ((t<<16) >>31) | ((t<<17) >>31) | ((t<<18) >>31) | ((t<<19) >>31) | ((t<<20) >>31) | ((t<<21) >>31) | ((t<<22) >>31) | ((t<<23) >>31) | ((t<<24) >>31) | ((t<<25) >>31) | ((t<<26) >>31) | ((t<<27) >>31) | ((t<<28) >>31) | ((t<<29) >>31) | ((t<<30) >>31) | ((t<<31) >>31) );};
    signed NotBool(signed b){/*signed b=ToBool(b);*/unsigned t=(~b)<<31;return t>>31;};
    signed isZero(signed a){return NotBool(ToBool(a));};
    signed isNotZero(signed a){return NotBool(isZero(a));};
    signed isSign(signed a){unsigned t=a;return (t>>31);};signed isNotSign(signed a){return NotBool(isSign(a));};
    signed isEqual(signed a,signed b){	return isZero(a-b);};
    signed isNotEqual(signed a,signed b){return NotBool(isEqual(a,b));};
    signed isLess(signed a,signed b){return isSign(a-b);};
    signed isEqualMore(signed a,signed b){return NotBool(isLess(a,b));};
    signed isEqualLess(signed a,signed b){return isEqual(a,b)|isLess(a,b);};
    signed isMore(signed a,signed b){return NotBool(isEqualLess(a,b));};
    signed Equal(signed a,signed b,signed success,signed fail){signed t=isEqual(a,b);return (success*t)+(fail*NotBool(t));};
    signed NotEqual(signed a,signed b,signed success,signed fail){signed t=NotBool(isEqual(a,b));return (success*t)+(fail*NotBool(t));};
    signed Less(signed a,signed b,signed success,signed fail){signed t=isLess(a,b);return (success*t)+(fail*NotBool(t));};
    signed More(signed a,signed b,signed success,signed fail){signed t=isMore(a,b);return (success*t)+(fail*NotBool(t));};
    signed EqualLess(signed a,signed b,signed success,signed fail){signed t=isEqualLess(a,b);return (success*t)+(fail*NotBool(t));};
    signed EqualMore(signed a,signed b,signed success,signed fail){signed t=isEqualMore(a,b);return (success*t)+(fail*NotBool(t));};

    Вот такое форматирование... Хотя функции какие-то сомнительные...

    Говногость, 23 Июня 2010

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

    +170

    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
    //Файл teamWorkFile.h:
    static int teamWork(int e)
    {
    #if N==0
    	return 0;
    #elif N==1
    	return Work52(e+1);
    #elif
    	return WorkN(N);
    #endif
    };
    
    //Файл teamWork.h:
    //...
    #define MaxProc 6
    typedef int (*ProcTypeTeamWork)(int e);
    ProcTypeTeamWork Proc[MaxProc]; 
    #define N 0
    #define teamWork ProcName0
    #include "teamWorkFile.h"
    #undef teamWork
    #undef N
    #define N 1
    #define teamWork ProcName1
    #include "teamWorkFile.h"
    #undef teamWork
    #undef N
    int InitMultiProc()
    {
    	Proc[0]=ProcName0;
    	Proc[1]=ProcName1;
    	Proc[2]=ProcName1;
    	Proc[4]=ProcName0;
    	Proc[5]=ProcName1;
    	return 0;
    };
    
    //Файл teamWorkLib.cpp:
    #include "teamWork.h"
    //...
    InitMultiProc();
    ProcTypeTeamWork SuperProc=Proc[5];
    //Дальше в этом файле вызовы в стиле Proc[i](e);, SuperProc(255); и тд...

    Удивительный код состоит из 3х файлов(teamWorkLib.cpp, teamWork.h, teamWorkFile.h), но он того стоит.

    Говногость, 23 Июня 2010

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