1. PHP / Говнокод #4479

    +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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    <?php
    
    class Model_Crypt_FactoryCipher {
        
        const BlOWFISH = 'Model_Crypt_BlowFishCipher';
        
        
        /**
         * создает экземпляр cipher для указанного алгоритма
         * 
         * @return Model_Crypt_BlowFishCipher
         */
        public static function createCipher($crypt) {
            
            $cipher = new $crypt;
            
            if ($cipher instanceof Model_Crypt_BlowFishCipher) {
                return new Model_Crypt_BlowFishCipher ();
            } else {
                throw new Exception ( "This algoritm <$crypt> not implement yet" );
            }
        }
    
    }

    Гениальная фабрика. Используется один раз путем передачи константы "BlOWFISH" в метод createCipher()

    user654321, 29 Октября 2010

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

    −118

    1. 1
    return (($publish && $filename ne '--') ? 1 : 0);

    Особенно умиляют скобочки

    krushi, 29 Октября 2010

    Комментарии (199)
  3. Perl / Говнокод #4477

    −122

    1. 1
    my $exp_data = $map->get_experiments_data($gg, $map, $signals_sign, $distinct_lists);

    Пуленепробиваемый код! На случае, если вдруг объект забудет, кто он такой.

    krushi, 29 Октября 2010

    Комментарии (4)
  4. JavaScript / Говнокод #4476

    +161

    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
    /* Fade-In Page script ©2008 John Davenport Scheuer
       As first seen in http://www.dynamicdrive.com/forums/
       username:jscheuer1 - This credit must remain for legal use.
       */
     
    fadeInPage.speed=15; //Set speed of transition for non-IE, lower numbers are faster, 20 is the minimum safe value
    fadeInPage.bg='#000'; //Set backgroud style (color or color and image) of transition division for non-IE, should match page background or the predominant color of the page
     
    ///////////////// Stop Editing /////////////////
     
    function fadeInPage(){
    var el=document.getElementById("fadeDiv");
    el.style[fadeInPage.prprt] = el.style[fadeInPage.prprt] == ''? 1 : el.style[fadeInPage.prprt];
    if (el.style[fadeInPage.prprt] > 0){
    el.style[fadeInPage.prprt] = el.style[fadeInPage.prprt] - 0.02;
    setTimeout("fadeInPage()", fadeInPage.speed);
    }
    else {
    el.style[fadeInPage.prprt] = 0;
    if(document.removeChild)
    el.parentNode.removeChild(el);
    }
    }
    if(document.documentElement&&document.documentElement.style){
    fadeInPage.d=document.documentElement, fadeInPage.t=function(o){return typeof fadeInPage.d.style[o]=='string'};
    fadeInPage.prprt=fadeInPage.t('opacity')? 'opacity' : fadeInPage.t('MozOpacity')? 'MozOpacity' : fadeInPage.t('KhtmlOpacity')? 'KhtmlOpacity' : null;
    }
    fadeInPage.set=function(){
    var prop=fadeInPage.prprt=='opacity'? 'opacity' : fadeInPage.prprt=='MozOpacity'? '-moz-opacity' : '-khtml-opacity';
    document.write('\n<style type="text/css">\n#fadeDiv {\nheight:'+window.innerHeight+'px;display:block;position:fixed;'+
    'z-index:10000;top:0;left:0;background:'+fadeInPage.bg+';width:100%;\n'+ prop +':1;\n}\n<\/style>\n');
    }
    if(window.addEventListener&&fadeInPage.prprt){
    fadeInPage.set();
    window.addEventListener('load', fadeInPage, false);
    }

    Зашел я на сайт родного биллинга. Не работает. Смотрю - остался слой от fade-in (нахрена он в биллинге).
    Открыл исходники сайта и увидел там ЭТО.
    Отступы авторские. Очень радует "document.write('\n<style" в цикле.

    m1el, 29 Октября 2010

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

    +177

    1. 1
    2. 2
    3. 3
    4. 4
    if (!($user_info['room'] == 900002) || $user_info['room'] != 900002) { 
          header("Location: main.php");  
          die(); 
      }

    Разгребаю чужой код и нарыл.
    Чтобы условие выглядело посолидней ... или я чего-нить не понимаю.

    AndryG, 28 Октября 2010

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

    −84

    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
    If Not CheckX Then Goto 1
        For i = 0 to USecX
    	Goto 2
    1:
        For i2 = 0 to USecY
    2:
      	...
    	If CheckX Then Goto 3
        Next
        If Not CheckX then Goto 4
    3:
        Next
    4:

    Как-то потребовалось выполнить немалый участок кода, но в двух разных случаях нужно было использовать два разных фора. В отдельную процедуру было очень неудобно выносить (пришлось бы передавать слишком много переменных), так что пришлось сделать этот... свичджампинг форов :)

    DragDen, 28 Октября 2010

    Комментарии (11)
  7. C++ / Говнокод #4473

    +163

    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
    LPBYTE OUTBUFF = NULL;
    	DWORD BUFFSIZE = 0;
    ...
    		int pgp_res = m_pgp.EncodeBuff2Buff(
    			( LPCVOID ) ( LPCTSTR ) post_data.c_str(),
    			( DWORD ) post_data.length(),
    			OUTBUFF,
    			BUFFSIZE,
    			( LPCTSTR ) query_mts_cfg().query_crypto_public_key().c_str() ); 
    ...
    			std::string s;
    			// мы будем рассматривать буфер как строку, а PGPEncode
    			// естественно не ограничивает буфер нулевым
    			// символом, поэтому строку из буфера надо
    			// ограничивать насильно
    			s = std::string( ( char* ) OUTBUFF );
    			s = s.substr( 0, BUFFSIZE );

    1) Проблема проявилась после 5 лет боевой эксплуатации.
    2) Все загодногожено было именно так. Т.е. автор понимал \0, сделал что-то, но все равно с ошибкой.

    bsivko, 28 Октября 2010

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <form ...>
    ...
    <input type="text"  id="fname" name="fname"  method="post" maxlength=4></input>
    ...
    </form>

    fddpro, 28 Октября 2010

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

    +122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Код из нового  курса  Е.Попова по JS и JQuery
    
    var name = "Иваh";
    for (var i = 0; i < name.length; i++) {
        if (name.charCodeAr(i) < 1040 || name.charCodeAt(i) > 1103 {
            document.write("Найден символ: " + name.charAt(i));
        }
    }

    Vasiliy, 28 Октября 2010

    Комментарии (18)
  10. Java / Говнокод #4470

    +77

    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
    ;
                    Scanner reader = new Scanner(System.in);
                    int razm = 0;
                    boolean flag = false;
    
                    int[] rez = new int[100];
                    for (int i = 0; i < 100; i++)
                             rez[i] = i;
    
                    do {
                            System.out.println("введите размерность матрицы");
                            razm = reader.nextInt();
    
                            for (int i = 0; i < 100; i++) {
                                    if (rez[i] == razm)
                                            flag = true;
                            }
    
                            System.out.println("размерность не является целочисленным типом,повторите ввод");
    
                    } while (flag == false);
    
                    double[][] matrix = new double[razm][razm];
    ;

    Студенческое изделие, блинННН.
    Я даже не знаю, как это прокомментировать....
    я не могу себе представить, КАК надо мыслить, чтоб такое учудить.
    Ну а , то, что сообщение про неправильный ввод выводится
    безотносительно к правильности введённого - это уже так, мелочи жизни.

    minixoid, 28 Октября 2010

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