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

    +50.4

    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
    map<string, int> M;
    ...
    M["one"] = 1;
    M["two"] = 2;
    M["google"] = 1e100;
    ...
    // найдём сумму всех значений --- т.е. всех правых частей 
    // пар <string, int>
    int r = 0;
    tr(M, it) {
       r += it->second; 
       // (*it).first == [string], (*it).second == [int]
    }

    и это на сайте обучения программирования!!!
    http://informatics.mccme.ru/moodle/mod/book/view.php?id=492&chapterid=216

    Novi4oK, 21 Января 2010

    Комментарии (26)
  2. Java / Говнокод #2464

    +77.3

    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
    protected static Map<Long, List<Bank.BankMoney>> getWinnersBanksMap(Map<Long, List<Bank.BankMoney>> sharedBank) {
            Map<Long,List<Bank.BankMoney>> winnersWithBanks = new HashMap<Long, List<Bank.BankMoney>>();
    
            for (Map.Entry<Long, List<Bank.BankMoney>> longListEntry : sharedBank.entrySet()) {
                    Long playerId = longListEntry.getKey();
                    List<Bank.BankMoney> banksWonOnThisIteration = longListEntry.getValue();
    
                    List<Bank.BankMoney> banks1 = winnersWithBanks.get(playerId);
                    if (banks1 == null) {
                        banks1 = new ArrayList<Bank.BankMoney>();
                        winnersWithBanks.put(playerId, banks1);
                    }
                    banks1.addAll(banksWonOnThisIteration);
                }
            return winnersWithBanks;
        }

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

    dvb, 21 Января 2010

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

    +70.8

    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
    lseek( h, headerSize+0x500, SEEK_SET );
    	if( _read( h, &buf, sizeof buf ) != sizeof buf )
    		goto __read_error;
    
    	for( int i = 0; i < NUM_EL(sig); ++i ) {
    		if( *(long*)&buf[sig->offs] != *(long*)sig->str ) {
    __wrong_format:
    			message( .... );
    			_close( h );
    			return FALSE;
    		}
    	}
    	if( *(long*)&buf[0x2C] != *(long*)"_TAG" ) {
    		message( .... );
    		_close( h );
    		return FALSE;
    	}
    	if( *(long*)&buf[0x32] != *(long*)"_VER" )
    		goto __wrong_format;
    
    	*platform = *(ushort*)&buf[0x30];
    	if( ver ) {
    		long verOffs = headerSize + ((ulong)(*(ushort*)&buf[0x38]) << 4) + *(ushort*)&buf[0x36];
    		lseek( h, verOffs, SEEK_SET );
    		if( _read( h, ver, sizeof(float) ) != sizeof(float) )
    			goto __read_error;
    	}
    	_close( h );

    Нужно было посмотреть, как делается одна вещь, залез в исходники некоторого старого __С++__(!!!!!!!!!!!!!!)(так что не надо "где здесь с++"=) ) проекта, там классы и все, как положено =)
    Причем писал не школьник, а взрослый дядька, у которого опыта больше, чем у меня сознательной жизни(ну это я образно=) ) Я до сих пор пребываю в состоянии культурно-эстетического шока =)

    ISith, 21 Января 2010

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

    +65.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
    #include <iostream>
    #include <math.h>
    using namespace std;
    double absolute( double x ) {
         return (( x >= 0.0 ) ? x : x*(-1) );
        }
    double get_cof( double time ) {
         if( time ==1 ) return 1;
         double rettime = ( time + 1 ) / time;
         return rettime;
        }
    double get_disnow( double time, double speed ) {
          double disnow = get_cof( time ) * speed;
          return disnow;
         }
    double get_distance( double time, double speed ) {
         if( time ==1 ) return 20;
         double distance =  get_disnow( time, speed );
         return distance;
        }
    using namespace std;
    int main( int argc, char **argv ) {
         double x = 0.0;
         for( double t = 1.0; t < 10000 ;t+=1 )
             {
               x += get_distance( t, 10.0 );
               x *= get_cof( t );
               if( (absolute( x - (t * 100 ) ) < 5) || t == 6480 )
                {
                    cout << " hallelua  time = " << t << endl;
                    cout << "  Moskitos  =     " << x << " cm;   ";
                    cout << ",  Man       =     " << t * 100 << " cm;   " << endl;
                }
             }
         return 0;
        }

    Даже не знаю, что здесь самое интересное. Просто прочитайте.

    Abrosov, 21 Января 2010

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

    +138.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
    char serverName[MAX_NAME];
    char buttonName[MAX_NAME];
    char serverIdStr[3];
    serverIdStr[2] = '\0';
    int currentSpot = 0;
    
    // ...... получение serverName и currentSpot
    
    serverIdStr[0] = '0' + ((currentSpot+1)/10);
    serverIdStr[1] = '0' + ((currentSpot+1)%10);
    strcpy(buttonName, buttonPrefix);
    strcat(buttonName, serverIdStr);

    Кто то не знает про существование sprintf...

    pushkoff, 20 Января 2010

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

    +129.4

    1. 1
    2. 2
    3. 3
    <a class="btn" href="#" onclick="{if $client->getId()}xmlrpc_choose_playlist(this,{$mp3->getId()},1,'top_month_mp3');return false;{else}xmlrpc_load_popup('login', null);{/if}">
    <img src="views/default/images/add.gif" width="8" height="8" alt="Добавить в плейлист" title="Добавить в плейлист" />
    </a>

    Это кусок смартявского шаблона
    Типа песенку в плейлист добавляем


    а иногда таких песен на странице ни одна сотня )))

    paranoid, 20 Января 2010

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

    +144.8

    1. 1
    2. 2
    3. 3
    4. 4
    $("a.set_mark_link",$(".new_email_form").parents(".sub_chapter")).css("background-color","#f00");
    $("a.set_mark_link",$(".new_email_form").parents(".sub_chapter")).bind("click",mark_email);
    
    $("a.set_mark_link",$(".new_email_form").parents(".sub_chapter")).live("click",mark_email);

    Интерестно, почему первые две конструкции работают, а последняя - нет?

    SilentImp, 20 Января 2010

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

    +137.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
    if (e.Source.GetType().Name.ToString()=="Square")
                        {
                            if (((Square)e.Source).Background == SystemColors.ControlBrush)
                            {
                                if ((((Square)e.Source).Content.Equals("")))
                                {
                                    ((Square)e.Source).Background = Brushes.Blue;
                                }
                            }
                            else
                            {
                                if (((Square)e.Source).Background != Brushes.White)
                                    if (((Square)e.Source).Background != Brushes.Red)
                                        if (((Square)e.Source).Background != Brushes.Green)
                                        ((Square)e.Source).Background = SystemColors.ControlBrush;
                            }
                        }

    poacher, 20 Января 2010

    Комментарии (4)
  9. Perl / Говнокод #2457

    −113.6

    1. 1
    2. 2
    3. 3
    4. 4
    sub append {
        my $appendstring = @_[0];
        $returnstring = "$returnstring$appendstring";
    }

    Из плагина к nagios'у, который проверяет состояние интерфейсов на cisco-девайсах. http://svn.opsview.org/opsview/trunk/opsview-core/nagios-plugins/check_snmp_cisco_ifstatus .

    aag, 20 Января 2010

    Комментарии (16)
  10. Куча / Говнокод #2456

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Как корабль назовешь, как говорится...
    Кто сможет объяснить, почему пользователь sbb (т.е. я) на говнокоде присутствует 2 раза?
    
    http://www.govnokod.ru/user/92
    http://www.govnokod.ru/user/91

    sbb, 20 Января 2010

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