1. C++ / Говнокод #12765

    +13

    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
    class session {
    public:
        session(int id, boost::asio::io_service &io_service) :
            id(id),
            timer(io_service)
        {
            timer.expires_from_now(session_timeout);
            timer.async_wait(boost::bind(&session::on_timeout, this, _1));
        }
    
        void on_timeout(const boost::system::error_code &error) {
            if (error)
                return;
            std::cout << "Session timed out " << id << std::endl;
        }
    
    private:
        int id;
        boost::asio::deadline_timer timer;
    };
    
    std::map<boost::asio::ip::udp::endpoint, boost::shared_pointer<session> > sessions;

    sessions.erase(endpoint) приводит к небольшому насилию над трупом сессии... Ничего конечно не вылетает, и никогда не сломается, но совесть мучает, неприятно пользоваться UB'ом.

    bormand, 18 Марта 2013

    Комментарии (45)
  2. VisualBasic / Говнокод #12764

    −110

    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
    Select Case Figure mod 6  
     ...
     Case chsQueen 'Ферзь
       Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
       Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
       Picture.Circle (X + 0.5 * Side, Y + 0.15 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
       Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
       Picture.Circle (X + 0.3 * Side, Y + 0.25 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
       Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
       Picture.Circle (X + 0.7 * Side, Y + 0.25 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
       Picture.Circle (X + 0.85 * Side, Y + 0.35 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
       Picture.Circle (X + 0.15 * Side, Y + 0.35 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.27 * Side, Y + 0.8 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.73 * Side, Y + 0.8 * Side), Border
       Picture.Circle (X + 0.5 * Side, Y + 0.35 * Side), 0.5 * Side, Border, 1.35 * Pi, 1.65 * Pi
       Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.5 * Side, Border)
       Picture.Circle (X + 0.5 * Side, Y + 1.24 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
       Picture.Circle (X + 0.5 * Side, Y + 1.1 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
       Picture.Line (X + 0.73 * Side, Y + 0.68 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.77 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.68 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.77 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
       Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
       Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
       Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
       Let Picture.FillColor = Border
       Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.7 * Side, Border)
       Call FloodFill(Picture.hdc, X + 0.73 * Side, Y + 0.7 * Side, Border)
       Call FloodFill(Picture.hdc, X + 0.31 * Side, Y + 0.68 * Side, Border)
       Let Picture.FillColor = Fill
     ...
    End Select

    Пишу свои шахматы, с блекджеком и не без них.
    Вот, набацал алгоритм векторного рисования ферзя.
    Только на это ушло около получаса времени чистого с примесями (подстройки, мать их).
    Чую нутром, лучше забить и вырвать клипарт из интернета.

    ckopo, 18 Марта 2013

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

    +137

    1. 1
    long ticksFrom1970 = (long)(serverDateTime - serverDateTimeSubstractor) * 10000000L + (DateTime.Now.Ticks - realDateTimeOfserverDateTime.Ticks);

    Heisenberg, 18 Марта 2013

    Комментарии (8)
  4. JavaScript / Говнокод #12762

    +164

    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
    $(document).ready(function(){
    		//50% прозрачность иконкам голосования
    
    	var minusBig   = $(".photo-rate-block-minus"),
    		plusBig    = $(".photo-rate-block-plus"),
    		minusSmall = $(".photo-rate-block-minus-small"),
    		plusSmall  = $(".photo-rate-block-plus-small");
    
    	$(minusBig).css('opacity', '0.5');
    	$(plusBig).css('opacity', '0.5');
    	$(minusSmall).css('opacity', '0.5');
    	$(plusSmall).css('opacity', '0.5');
    
    	$(".photo-rate-block-minus, .photo-rate-block-plus, .photo-rate-block-minus-small, .photo-rate-block-plus-small").hover( function(){
    		$(this).css('opacity', '1');
    	}, function(){
    		$(this).css('opacity', '0.5');
    	});
    });

    CSS для слабаков

    DrFreez, 17 Марта 2013

    Комментарии (7)
  5. Java / Говнокод #12761

    +76

    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
    private Date getToday() {
            Calendar calendar = new GregorianCalendar();
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int date = calendar.get(Calendar.DATE);
            calendar.set(year, month, date);
            return calendar.getTime();
        }
    
       private Date getYesterday() {
            Calendar calendar = new GregorianCalendar();
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int date = calendar.get(Calendar.DATE);
            calendar.set(year, month, date - 1);
            return calendar.getTime();
        }

    ну не доверяет автор видимо простым констукциям типа new Date();

    Titan, 17 Марта 2013

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

    +86

    1. 1
    https://github.com/wiistriker/govnokod.ru

    Развлечемся?

    striker, 17 Марта 2013

    Комментарии (56)
  7. Perl / Говнокод #12759

    −84

    1. 1
    use constant MAX_INT => 4294967295;

    Code hard.

    P.S. perl -MPOSIX -we 'print INT_MAX'

    Elvenfighter, 17 Марта 2013

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

    +141

    1. 1
    [offtopic] http://propiske.net/sbor-podpisej/ [/offtopic]

    Ребята, извините за офтоп, нужно 100k подписей. Без вас никак.

    bot-minurast, 16 Марта 2013

    Комментарии (10)
  9. Objective C / Говнокод #12757

    −96

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    int arrayCount = [itemArray count];
    if( currentHeight < 10000 ) {
        currentItemType = random() % arrayCount;
    } else if( currentHeight < 50000 ) {
        currentItemType = random() % arrayCount;
    } else if( currentHeight < 100000 ) {
        currentItemType = random() % arrayCount;
    } else {
        currentItemType = random() % arrayCount;
    }

    Чем выше горы - тем рандомней сборы.

    NAlexN, 16 Марта 2013

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

    +15

    1. 1
    2. 2
    3. 3
    String testName;
    //...
    std::swap(testName,  _testName);

    String из thirdparty-библиотеки, а swap везде в нашем коде. По очевидным причинам получаем подение производительности.

    LispGovno, 16 Марта 2013

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