1. Куча / Говнокод #12021

    +133

    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
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {		
    	// ...skipped...
    });  
    </script>
    <!-- end script vert menu -->
    
    <!-- spoiler -->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"> </script>
    <script type="text/javascript"> 
    $(document).ready(function(){ 
    // ...skipped...
    });
    </script>
    <!-- spoiler -->
    
    <!-- up-->
    <script language="JavaScript" type="text/javascript"
    src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
    </script><!--up-->
    <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js' type='text/javascript'></script>
    <script type="text/javascript" src="ajax.js"></script>
    <!-- gallery -->  
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>

    jQuery в организме не хватает?..

    telnet, 29 Октября 2012

    Комментарии (6)
  2. ActionScript / Говнокод #12020

    −122

    1. 1
    2. 2
    if (activeObject && (((activeObject is LevelObjectBirdBlack) || (activeObject is LevelObjectBirdOrange)) || (activeObject is LevelObjectBirdOrange)) && (!(activeObject as LevelObjectBird).specialPowerUsed || activeObject.getSpecialAnimationProgress() >= 0 ) )
    {...}

    primerno tak vyglyadit angry birds from inside

    iliakot, 29 Октября 2012

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

    +18

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    template <class TBitMap, int MMCROffset>
    class TControllerMemoryMappedRegister: public TBaseControllerMemoryMappedRegister<MMCROffset>
    {
    public:
    	static void set(TBitMap::E Bit) { setBit(Bit); }
    	static void reset(TBitMap::E Bit) { resetBit(Bit); }
    };

    Говногость, 29 Октября 2012

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    revision = String.Format("{0}{1:d2}{2:d2}",
    				DateTime.Now.Year.ToString().Substring(2),
    				DateTime.Today.Month,
    				DateTime.Today.Day);

    видно автор хотел сделать
    revision = DateTime.Today.ToString("yyMMdd");

    http://www.codeproject.com/Articles/272551/Custom-Assembly-Versioning-with-VS-2010-and-MSBUIL

    graph_di5, 28 Октября 2012

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

    +15

    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
    #include <iostream>
    #include <cxxabi.h>
    #include <typeinfo>
    
    int main(void)
    {
       uint8_t i = 63;
       int  status;
    
       std::cout << i << std::endl;
    
       char *realname = abi::__cxa_demangle(typeid(i).name(), 0, 0, &status);
       std::cout << "Real type of uint8_t is: " << realname << std::endl;
       delete (realname);
    
       std::cout << (unsigned int)i << std::endl;
    
    return 0;
    }

    ...нативный 8bit-ый беззнаковый int.

    sayidandrtfm, 28 Октября 2012

    Комментарии (33)
  6. Си / Говнокод #12016

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int next_id() {
        static int id = 0;
        __sync_add_and_fetch(&id, 1);
        return id;
    }

    "Атомарная" раздача айдишек.

    bormand, 28 Октября 2012

    Комментарии (52)
  7. Python / Говнокод #12015

    −94

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #!/usr/local/bin/cpython
    
    回答 = 读入('你认为中文程式语言有存在价值吗 ? (有/没有)')
     
    如 回答 == '有':
            写 '好吧, 让我们一起努力!'
    不然 回答 == '没有':
            写 '好吧,中文并没有作为程式语言的价值.'
    否则:
            写 '请认真考虑后再回答.'

    http://ru.wikipedia.org/wiki/ChinesePython

    Сопроваждай, пробуй!

    sayidandrtfm, 28 Октября 2012

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

    +137

    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
    static /*public*/ string GenerateRandomJpegName()
            {
                return GenerateRandomString() + ".jpg";
            }
     
            static string GenerateRandomString()
            {
                bool UseSigns = true;
                bool UseUpperLetters = true;
                bool UseLetters = true;
                int Length;
            NewLabel:
                try
                {
                    Length = new Random(DateTime.Now.Millisecond - DateTime.Now.Second + new Random(DateTime.Now.Millisecond).Next(0, 100) / new Random(DateTime.Now.Millisecond - DateTime.Now.Second).Next(0, 10)).Next(0, 100);
                }
                catch { goto NewLabel; }
                string result = "C:/";
                try
                {
                    int Seed = 0;
                    char[] letters = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
                    char[] signs = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
                    List<char> keyWords = new List<char>();
                    List<char> upperLetters = new List<char>();
                    foreach (char c in letters)
                        upperLetters.Add(Convert.ToChar(c.ToString().ToUpper()));
                    if (UseLetters)
                        foreach (char c in letters)
                            keyWords.Add(c);
                    if (UseSigns)
                        foreach (char c in signs)
                            keyWords.Add(c);
                    if (UseUpperLetters)
                        foreach (char c in upperLetters)
                            keyWords.Add(c);
                    int MaxValue = keyWords.Count;
                    for (int i = 0; i <= Length; i++)
                    {
                        try
                        {
                            Random mainrand = new Random(Seed);
                            char RandChar = keyWords[mainrand.Next(0, MaxValue)];
                            result += RandChar;
                            Seed += DateTime.Now.Millisecond + Seed - new Random().Next(10) + new Random(DateTime.Now.Millisecond + 800 * 989 / 3).Next(10);
                        }
                        catch { continue; }
                    }
                }
                catch { }
                return result;
            }

    Вместо одного вызова Path.GetRandomFileName

    psina-from-ua, 28 Октября 2012

    Комментарии (21)
  9. PHP / Говнокод #12012

    +50

    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
    if(!$category = $this->EE->product_model->get_category_by_key($key)){
        $this->EE->functions->redirect($this->EE->functions->create_url($this->EE->config->item('site_404')));
        exit();
    }
    // Эти 4 строчки достают все продукт которые относятся к выбранной категории. Дальше веселее .. 
    
    // Build our variable data
    				$vars[0] = array(
    									'site_id' =>  $category[0]['site_id'],
    									'category_id' => $category[0]['category_id'],
    									'category_image' => $img,
    									'category_detail' => $category[0]['detail'],
    									'parent_id' =>  $category[0]['parent_id'],
    									'category_title' =>  $category[0]['title'],
    									'url_title' =>  $category[0]['url_title'],
    									'meta_title' =>  $category[0]['meta_title'],
    									'meta_keyword' =>  $category[0]['meta_keyword'],
    									'meta_descr' =>  $category[0]['meta_descr'],
    									'total_results' => count($category[0]["products"]),
    									'results' => $category[0]["products"],
    									'no_results' => array(),
    									'result_filter_set' => '', 
                                                                            'breadcrumb_parent_categories' => $breadcrumb_parent_categories,
                                                                            'catalog_guest_flag' => $flag_catalog,
                                                                            'catalog_price_visible' => $catalog_visible
    								);
    
    // Filter the results
    if(count($category[0]["products"]) != 0)
         $vars = $this->_filter_results($vars,$key,true);
    
    // А теперь count($vars['results']) == $this->EE->config->products_per_page;
    // И самое веселое - 
    
    foreach($vars[0]['results'] as $rst){
    				$tmp = $this->_get_product($rst["product_id"]);
    				$results[] = $tmp[0];
    			}
    			$vars[0]['results'] = $results;
    
    // Функция _get_product() получает все данные о продукте: отзывы, описание, цена, куча опций. Пара строчек оттуда:
    
                         if($product_id == ''){
    				// Get product by param or dynamically
    				$product_id = $this->EE->TMPL->fetch_param('product_id');
    				$url_title = $this->EE->TMPL->fetch_param('url_title');
    				if($product_id != ''){
    					$products = $this->EE->product_model->get_products($product_id);
    				}else{
    					// get by url key
    					$key = ($url_title == '') ? $this->EE->uri->segment(2) : $url_title;
    					if(!$products = $this->EE->product_model->get_product_by_key($key)){
    						 // Not a product page
    						 return false;
    					}
    				}
    			}else{
    				if(!$products = $this->EE->product_model->get_products($product_id)){
    					return false;
    				}
    			}
    
    // Очень интересен вызов функции get_products(), эта ф-ция вызывается и для продуктов в каталоге и на странице продукта.
    // Каждый вызов тянет за собой 25 запросов в базу, если на странице 40 продуктов * 25 = 1000 запросов = ~ 20 секунд на загрузку страницы

    кусочек кода который выводит продукты в каталог, взят из eCommerce плагина BrilliantRetail для ExpressionEngine. Плагин кстати говоря стоит 150 баксов, мда )

    Archont12, 27 Октября 2012

    Комментарии (19)
  10. Perl / Говнокод #12011

    −148

    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
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    use Data::Dumper;
    
    sub get0 { print("get0\n"); return 0; }
    sub get2 { print("get2\n"); return 2; }
    
    my ($a, $b) = (1, 1);
    $a ? $b = get0() : $b = get2();
    
    print Dumper({
        'a' => $a,
        'b' => $b,
    });

    Результат несколько обескураживает :)
    http://ideone.com/V60Y1L

    Elvenfighter, 27 Октября 2012

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