1. C# / Говнокод #7855

    +964

    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
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    using System;
    using System.Reflection;
    using System.Reflection.Emit;
    
    namespace DynUnloop
    { // Суммирование в цикле
      class SumLooping
      { public int Summ(int valMax)
        { int result = 0;
          for (int i = 0; i <= valMax; i++)
            result += i;
          return result;
        }
      }
    
      // Плоское суммирование
      class SumFlat
      { interface ISumCode
        { int ComputeSumm(int valMax);
        }
        void WriteCode(int valMax)
        { AssemblyName assemblyName = new AssemblyName();
          assemblyName.Name = "SumFlatAssembly";
    
          AssemblyBuilder assemblyBuilder = 
            AppDomain.CurrentDomain.DefineDynamicAssembly(
            assemblyName, AssemblyBuilderAccess.Run);
    
          ModuleBuilder moduleBuilder = 
            assemblyBuilder.DefineDynamicModule("SumFlatModule");
    
          TypeBuilder typeBuilder = 
            moduleBuilder.DefineType("SumFlatClass"
                        , TypeAttributes.Public);
    
          typeBuilder.AddInterfaceImplementation(typeof(ISumCode));
    
          /// Задаём возвращаемое зачение и параметр
          Type[] paramTypes = { typeof(int) };
          Type   returnType = typeof(int);
    
          MethodBuilder methodBuilder = 
            typeBuilder.DefineMethod("ComputeSumm"
              , MethodAttributes.Public 
              | MethodAttributes.Virtual
              , returnType, paramTypes);
    
          ILGenerator il = methodBuilder.GetILGenerator();
    
          // Генерируем плоский код.
          il.Emit(OpCodes.Ldc_I4, 0);
          for (int i = 1; i <= valMax; i++)
          { il.Emit(OpCodes.Ldc_I4, i);
            il.Emit(OpCodes.Add);
          }
          il.Emit(OpCodes.Ret);
    
          // Перекрываем метод ComputeSumm и создаём тип SumFlatClass.
          MethodInfo methodInfo = 
                     typeof(ISumCode).GetMethod("ComputeSumm");
          typeBuilder.DefineMethodOverride(methodBuilder, methodInfo);
          typeBuilder.CreateType();
    
          /// Код готов, создаём объект и берем его интерфейс.
          code = (ISumCode)assemblyBuilder.CreateInstance("SumFlatClass");
        }
    
        public int Summ(int val)
        { if (this.code == null)
            WriteCode(val);
          return this.code.ComputeSumm(val);
        }
    
        ISumCode code;
      }

    Оригинальный стиль кода и комментарии сохранёны. (с), или как там.
    В коде - разворачивание цикла в "плоский" IL код, который, как доказывается должен выигрывать по производительности.

    Elvenfighter, 13 Сентября 2011

    Комментарии (47)
  2. PHP / Говнокод #7854

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $NpjCaps = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯЇЄІ";
            $NpjSmall = "абвгдеёжзийклмнопрстуфхцчшщьъыэюяїєі";
    
            $var = str_replace( ".php", "", $var );
            $var = trim( strip_tags( $var ) );
            $var = preg_replace( "/\s+/ms", "-", $var );
            $var = strtr( $var, $NpjCaps, $NpjSmall );
            $var = strtr( $var, $NpjLettersFrom, $NpjLettersTo );
            $var = strtr( $var, $NpjBiLetters );

    Нашел в одном из "хороших" скриптов D

    SaNcHeS, 13 Сентября 2011

    Комментарии (11)
  3. Python / Говнокод #7853

    −90

    1. 1
    2. 2
    def removeDuplicate(store):
        return [x for x in store if x not in locals()['_[1]']]

    Удаление дубликатов в списке, set(store) религия не позволила сделать:)

    morpheuz, 13 Сентября 2011

    Комментарии (14)
  4. PHP / Говнокод #7852

    +162

    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
    <?if($page=='/map.php'){
    $name='Карта сайта';
    }
    if($page=='/search.php'){
    $name='Поиск по сайту';
    }
    if($page=='/photo.php'){
    $name='Фото';
    }
    if($page=='/schoolsafety/prirodchs/cynami/istoria.php'){
    $name='История цунами';
    }
    if($page=='/school/art.php'){
    $name='Стенгазеты';
    }
    if($page=='/school/photo.php' or $page=='/school/photo_upload.php'){
    $name='Фотогалерея';
    }?>
    <h1><?=$name;?></h1>

    Tairesh, 13 Сентября 2011

    Комментарии (19)
  5. Objective C / Говнокод #7851

    −343

    1. 1
    [[[[[[mainDelegate.subController.CellOfTable.subCellsArray objectAtIndex:[[sourceArray objectAtIndex:1] intValue]] objectForKey:@"Cell in subCell"] subviews] objectAtIndex:0] subviews] objectAtIndex:0];

    Доголи-коротколи, а до нужной ячейки доберемся ))))

    Psionic, 13 Сентября 2011

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

    +156

    1. 1
    RewriteCond %{REQUEST_URI} !\.(cssіjsіjpgіgifіpng)$

    Творение удаленного сотрудника. Долго не мог понять, почему сервер кидает 500 ошибку.

    PrimeBIT, 13 Сентября 2011

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

    +168

    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
    ...
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_octa">'.gettags("str_octa").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_accident">'.gettags("str_sluch").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_travel">'.gettags("str_travel").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_history">'.gettags("str_history").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="8" class="lnk"><img src="images/spacer.gif" width="10" height="8" /></td>';
            echo '</tr>';
            echo '</table>';
            echo '</DIV>';
            echo '<!---  end of left menu area ---></td></tr>';
            break;        
    // Spravochniki    
        case 7:
            echo '<td width="5"   bgcolor="#FFFFFF"><img src="images/spacer.gif" width="5" height="700" /></td>';
            echo '<td width="219" valign="top" ><!---  left area --->';
            echo '<table width="219" height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">';
            echo '<tr>';
            echo '<td width="219" height="89"><!---  left menu area --->            <DIV class="left-menu">';
            echo '<table width="219" cellpadding="0" cellspacing="0" class="left-menu" border="0">';
            echo '<tr>';
            echo '<td width="219" height="27" background="images/LMenuBG.gif" class="txtTitleWhite">'.gettags("spr_notarius").'</td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="3" class="lnk"><img src="images/spacer.gif" width="10" height="3" /></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_help">'.gettags("spr_nothelp").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_functions">'.gettags("spr_funct").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_when">'.gettags("spr_notwhen").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="27" background="images/LMenuBG.gif" class="txtTitleWhite">'.gettags("spr_zemsl").'</td>';
    ...

    Переделываем сайт одной компании. Пока суд да дело, их "текущий" сайт переехал к нам на хостинг. Из любопытства залез в код.
    Лучше бы я этого не делал.
    Собственно, ЭТО (и сотни, если не тысячи строк в том же духе) и выводят все странички.

    havelock, 12 Сентября 2011

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

    +85

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Да обойдут вас стороной фатал эрроры, и ужас от переписывания говнокода нубов!=) 
    Пишите так, чтобы программа не требовала дополнительной плашки памяти на 2 гектара!
    Желаю успешного развития в этой нелегкой сфере IT!
    
    Мои искренние поздравления с днем программиста!

    1_and_0, 12 Сентября 2011

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    [code=cpp]
    #include <iostream.h> 
    void main(void) 
    { 
    cout << Заключайте сообщение в кавычки; 
    } 
    [/code]

    http://programmersclub.ru/01/

    ReallyBugMeNot, 12 Сентября 2011

    Комментарии (25)
  10. PHP / Говнокод #7846

    +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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    $id = $_POST['id'];
    //$id = 194;
    $temp = $id;
    $str = "";
    for ( $incr = 0; $incr < 100; $incr++ ) {
    	$result = $dbs -> query("SELECT * FROM 
    								market_categs 
    							WHERE 
    								categid={$temp} AND 
    								published = 1 AND 
    								status = 1");
    	if ( mysql_num_rows($result) > 0 ) {
    		$categ = mysql_fetch_array($result);
    		$result2 = $dbs -> query("SELECT * FROM 
    									market_categs_trans 
    								WHERE 
    									categid={$categ[categid]}");
    		$categ_title = mysql_fetch_array( $result2 );
    		$str2 = "";
    		$temp2 = $categ[categid];
    		for ( $incr2 = 0; $incr2 < 100; $incr2++ ) {
    			$result3 = $dbs -> query("SELECT * FROM 
    										market_categs 
    									WHERE 
    										categid={$temp2} AND 
    										published = 1 AND 
    										status = 1");
    			if ( mysql_num_rows($result3) > 0 ) {
    				$categ2 = mysql_fetch_array($result3);
    				$str2 .= "/".$categ2[url];
    				$temp2 = $categ2[parent];
    			}
    		}
    		$str2 = substr($str2,1);
    		$nb2 = substr_count($str2,"/");
    		$temp_str2 = explode ("/",$str2);
    		$str2 = "";
    		$back = "";
    		for ($i2 = $nb2; $i2 >= 0; $i2--) {
    			$str2 .="/".$temp_str2[$nb2];
    			$nb2--;
    		}
    		$str .= " / <a href='/".substr($str2,1)."'>".$categ_title[title]."</a>";
    		$temp = $categ[parent];
    	}
    }

    Рекурсия... мать его

    cephuo, 12 Сентября 2011

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