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

    Всего: 2

  2. 1C / Говнокод #3617

    −132

    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
    Если ДатаЧисло(НачДата) < 10 Тогда
    	ЧислоДата = "0"+ДатаЧисло(НачДата);
    Иначе
    	ЧислоДата =  ДатаЧисло(НачДата);
    КонецЕсли;
    
    Если ДатаМесяц(НачДата) < 10 Тогда
    	МесяцДата = "0"+ДатаМесяц(НачДата);
    Иначе
    	МесяцДата =  ДатаМесяц(НачДата);
    КонецЕсли;			
    		
    Если ДатаЧисло(КонДата) < 10 Тогда
    	КонЧислоДата = "0"+ДатаЧисло(КонДата);
    Иначе
    	КонЧислоДата =  ДатаЧисло(КонДата);
    КонецЕсли;
    
    Если ДатаМесяц(КонДата) < 10 Тогда
    	КонМесяцДата = "0"+ДатаМесяц(КонДата);
    Иначе                                                                     
    	КонМесяцДата =  ДатаМесяц(КонДата);
    КонецЕсли;			
    
    /// ... где-то ниже
    ЧислоДата+"/"+МесяцДата+"/"+ДатаГод(НачДата)+";"+КонЧислоДата+"/"+КонМесяцДата+"/"+ДатаГод(КонДата)

    У меня это ужалось до 2х строк:
    ДатаСтр = Строка(Формат(НачДата, "ДDDMMYYYY"));
    ДатаСтр = СтрЗаменить(ДатаСтр, ".", "/");

    just_geek, 01 Июля 2010

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

    +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
    if(isMoving)
    {
    	std::map<int, unsigned char> dirToFrame = boost::assign::map_list_of(1, 10)(2, 5)(3, 6)(4, 7)(5, 8)(6, 9)(7, 12)(8, 11);
    	if(dir >= 1 && dir <= 10)
    		return dirToFrame[dir];
    
    	throw std::string("Something very wrong1.");
    }
    else //if(isMoving)
    {
    	std::map<int, unsigned char> dirToFrame = boost::assign::map_list_of(1, 13)(2, 0)(3, 1)(4, 2)(5, 3)(6, 4)(7, 15)(8, 14);
    	if(dir >= 1 && dir <= 10)
    		return dirToFrame[dir];
    
    	throw std::string("Something very wrong1.");
    }

    Кусок кода из open source игры. Выбирает кадр спрайта, в зависимости от направления героя. В ревизии, предшествующей этой, использовался switch.

    just_geek, 18 Августа 2009

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