1. Лучший говнокод

    В номинации:
    За время:
  2. Python / Говнокод #7559

    −88

    1. 1
    2. 2
    exec "a" * 300000000 + " = 'FUCKING_LONG_VARIABLE'" # Создание переменной с длиннннным именем
    exec "print " + ("a" * 300000000) # Выведет 'FUCKING_LONG_VARIABLE'

    Это был эксперимент (не повторять дома!). Хотелось узнать количество значащих символов в имени переменной, оказалось что все:).
    Первая строка кода ужирает около 270 МБ памяти.

    Niceblack, 17 Августа 2011

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

    +160

    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
    /**
    	 * Заменяет все вхождения короткого тега <param/> на длиную версию <param></param>
    	 * Заменяет все вхождения короткого тега <embed/> на длиную версию <embed></embed>
    	 * 
    	 */
    	protected function FlashParamParser($sText) {	
    		if (preg_match_all("@(<\s*param\s*name\s*=\s*\".*\"\s*value\s*=\s*\".*\")\s*/?\s*>(?!</param>)@Ui",$sText,$aMatch)) {				
    			foreach ($aMatch[1] as $key => $str) {
    				$str_new=$str.'></param>';				
    				$sText=str_replace($aMatch[0][$key],$str_new,$sText);				
    			}	
    		}
    		if (preg_match_all("@(<\s*embed\s*.*)\s*/?\s*>(?!</embed>)@Ui",$sText,$aMatch)) {				
    			foreach ($aMatch[1] as $key => $str) {
    				$str_new=$str.'></embed>';				
    				$sText=str_replace($aMatch[0][$key],$str_new,$sText);				
    			}	
    		}	
    		/**
    		 * Удаляем все <param name="wmode" value="*"></param>		 
    		 */
    		if (preg_match_all("@(<param\s.*name=\"wmode\".*>\s*</param>)@Ui",$sText,$aMatch)) {
    			foreach ($aMatch[1] as $key => $str) {
    				$sText=str_replace($aMatch[0][$key],'',$sText);
    			}
    		}
    		/**
    		 * А теперь после <object> добавляем <param name="wmode" value="opaque"></param>
    		 * Решение не фантан, но главное работает :)
    		 */
    		if (preg_match_all("@(<object\s.*>)@Ui",$sText,$aMatch)) {
    			foreach ($aMatch[1] as $key => $str) {
    				$sText=str_replace($aMatch[0][$key],$aMatch[0][$key].'<param name="wmode" value="opaque"></param>',$sText);
    			}
    		}
    		
    		return $sText;
    	}

    DrFreez, 16 Августа 2011

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

    −83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def get(a='',x=-1):
        b,c,d,e,f=a.split('\n'),[],[],0,0
        for i in range(len(b)):
            if i==0: c+=[i]; e+=len(b[i])+1; f+=len(b[i]); d+=[f]
            elif i==len(b)-1: f+=len(b[i]); d+=[f]; c+=[e]
            else: f+=len(b[i])+1; c+=[e]; d+=[f]; e+=len(b[i])+1
        for i in range(len(c)):
            if range(c[i], d[i]+1).count(x): return i

    Это код чувака, который хочет получить индекс строки по индексу символа.
    >>> get('a\nb', 0) # 0 - позиция символа "а"
    0
    >>> get('a\nb', 1) # 1 - позиция символа "\n"
    0
    >>> get('a\nb', 2) # 2 - позиция символа "b" (уже вторая строка)
    1

    Простой эквивалент кода:
    GetNewlineCount = lambda s, p: s.count('\n', 0, p)

    Niceblack, 16 Августа 2011

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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $pbase_url = parse_url($base_url);
    if ( $pbase_url ){
    
        $base_url =  (parse_url($base_url, PHP_URL_SCHEME)? parse_url($base_url, PHP_URL_SCHEME).'://' : '')
                    .(parse_url($base_url, PHP_URL_USER)? parse_url($base_url, PHP_URL_USER).':' : '')
                    .(parse_url($base_url, PHP_URL_PASS)?parse_url($base_url, PHP_URL_PASS).'@' : '')
                    .(string)parse_url($base_url, PHP_URL_HOST)
                    .(string)parse_url($base_url, PHP_URL_PATH);
    
    }

    ...

    cephuo, 10 Августа 2011

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

    +147

    1. 1
    2. 2
    $date_send = explode(".", $date_send);
    $date_send = date("Y/m/d", mktime(0, 0, 0, $date_send[1], $date_send[0], $date_send[2]));

    Так мы преобразуем даты
    $date_send приходит в формате dd.mm.yyyy

    minisot, 08 Августа 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /*
    * Yeah, this is the database engine. It's pretty bad, uses files to store peers.
    * Should be easy to rewrite to use SQL instead.
    *
    * Yes, sometimes collisions may occur and screw the DB over. It might or might not
    * recover by itself.
    */

    Я думаю, сам код можно даже не приводить.

    popoffka, 03 Августа 2011

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

    +153

    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
    <?php
    $str = 'улица ленина';
    $array = explode(' ', $str);
    if(count($array) == 0)
    {
        $tire = true;
        $array = explode('-', $str);
    }
        
    foreach($array as $value)
    {
      $start = mb_substr($value, 0, 1, 'UTF-8');
      $end = mb_substr($value, 1, mb_strlen($value), 'UTF-8');
      $start = mb_strtoupper($start, 'UTF-8');
      if($tire) $text .= $start.$end.'-';
      else $text .= $start.$end.' ';
    }
    if($tire) $text = substr($text, 0, -1);
    else $text = trim($text);
    echo $text;
    ?>

    научился говнакодить :(

    VolDroN, 01 Августа 2011

    Комментарии (9)
  9. ActionScript / Говнокод #7409

    −104

    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
    package  {
    	/**
    	 * Deterministic random ().
    	 * @author makc
    	 */
    	public class DR {
    		private static var r:Array = [0.5799733754247427,0.4078234788030386,0.40288464864715934,0.643109162338078, тут ещё дохуя чисел 
    		private static var i:int = 0;
    		public static function random ():Number {
    			var j:int = i; i = (i + 1) % r.length; return r [j];
    		}
    		public static function seed (s:int):void {
    			i = s % r.length;
    		}
    	}
    }

    обнаружил в своём проекте января 2010го. улыбнуло ) как правильно делать: http://en.wikipedia.org/wiki/List_of_pseudorandom_number_generators

    makc3d, 01 Августа 2011

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

    +178

    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
    for(i=0;i<menuItems.length;i++){
        if(i==0){
          menuItems[i].onclick=function(){
    	changeTabs(0)
          }
        }else{
          if(i==1){
    	menuItems[i].onclick=function(){
    	  changeTabs(1)
    	}
          }else{
    	if(i==2){
    	  menuItems[i].onclick=function(){
    	    changeTabs(2)
    	  }
    	}
          }
        }
      }

    табы Х-))
    menuitems - массив из li

    develx0, 31 Июля 2011

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

    +147

    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
    Отчего мой комп дымится?
    Отчего летит искра?
    Вроде куллеры на месте
    И все целы провода,
    И не скачет напряженье.
    Что же с ним, родным, не так?
    Очень просто - посмотрите:
    В нём играется кошак!
    Ах ты ж подлая скотина!
    Ах ты вшивый пидорас!!
    Вылезай оттуда, падла!!!
    Комп подох. Котёнка спас.
    Неужели так судьбою
    Уготована мне месть?
    Я вчера, совсем случайно,
    Не дал кошаку поесть.
    Мозги в черепке с ушами,
    Разработав верный план,
    Доказали, что процессор -
    И котёнку по зубам!
    Выпил водки, взял заначку,
    Молча прусь я в магазин...
    Не забудьте о подкормке
    Своих маленьких скотин!

    =)

    vkontakte, 28 Июля 2011

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