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

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

    +55

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // Проверяем корректность имени
        if(!preg_match("/^(([A-z\s]+)|([АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя\s]+))$/i", $_POST['name']))
            { $error .= ' - Вы ввели некорректное имя.<br>'; $count_error++; }
            
            // Проверяем корректность поля страны
        if(!preg_match("/^(([A-z\s]+)|([АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя\s]+))$/i", $_POST['country']))
            { $error .= ' - Вы ввели некорректное название страны.<br>'; $count_error++; }
    
            // Проверяем корректность поля города
        if(!empty($_POST['city']) && !preg_match("/^(([A-z\s]+)|([АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя\s]+))$/i", $_POST['city']))
            { $error .= ' - Вы ввели некорректное название города.<br>'; $count_error++; }

    Давно таких регулярок не видел :)

    duxabilii, 15 Августа 2012

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

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if($contact == null){
       $msg = JText::_('INSERT_CONTACT_DETAILS');
       if($contact == null){
        $mainframe->redirect('index.php?option=com_xxx&act=Agents',Text::_($msg).$user->name);
       }
       return;
     }

    Правильно грят: бережённого бог бережёт :)

    virtual_cia, 06 Августа 2012

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

    +55

    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
    <?php
    /**
     * Определение знака зодиака
     * автор: Nc_Soft
     * 12.01.09
     */
     
    //массив для сравнений
    $zodiak=array(
    'Oven'=>'Овен',
    'Taurus'=>'Телец',
    'Gemini'=>'Близнецы',
    'Cancer'=>'Рак',
    'Leo'=>'Лев',
    'Virgo'=>'Дева',
    'Libra'=>'Весы',
    'Scorpion'=>'Скорпион',
    'Sagittarius'=>'Стрелец',
    'Capricorn'=>'Козерог',
    'Aquarius'=>'Водолей',
    'Fish'=>'Рыбы'
    );
     
    //функция опеределения
    function zodiak($d,$m) {
     
        $d=sprintf('%02d',$d);
        $m=sprintf('%02d',$m);
     
        if (($m=='03' AND $d>20) OR ($m=='04' AND $d<21)) return 'Oven';
        if (($m=='04' AND $d>20) OR ($m=='05' AND $d<22)) return 'Taurus';
        if (($m=='05' AND $d>21) OR ($m=='06' AND $d<22)) return 'Gemini';
        if (($m=='06' AND $d>21) OR ($m=='07' AND $d<23)) return 'Cancer';
        if (($m=='07' AND $d>22) OR ($m=='08' AND $d<24)) return 'Leo';
        if (($m=='08' AND $d>23) OR ($m=='09' AND $d<24)) return 'Virgo';
        if (($m=='09' AND $d>23) OR ($m=='10' AND $d<24)) return 'Libra';
        if (($m=='10' AND $d>23) OR ($m=='11' AND $d<23)) return 'Scorpion';
        if (($m=='11' AND $d>22) OR ($m=='12' AND $d<22)) return 'Sagittarius';
        if (($m=='12' AND $d>21) OR ($m=='01' AND $d<19)) return 'Capricorn';
        if (($m=='01' AND $d>20) OR ($m=='02' AND $d<19)) return 'Aquarius';
        if (($m=='02' AND $d>18) OR ($m=='03' AND $d<21)) return 'Fish';
     
        return null;
    }
     
    //тестирование (пример для 3 декабря)
    echo $zodiak[zodiak(3,12)]; //Стрелец
     
    ?>

    nepster, 01 Июля 2012

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

    +55

    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
    protected function _convertArrayToStr($arr = array()) {
    
    	$str = '';
    	$data = Controller::getSomeMethod();
    
    
    	$valus = array_values($arr);
    	$keys = array_keys($arr);
    	//Количество незаполненых полей
    	$count = 0;
    	// Формируем строку с title и введеных значени
    	for($i = 0; $i < count($arr); ++$i) {
    
    		if($keys[$i] == $data[$i]['name'] ) {
    			
    			if($valus[$i] == 'on') {
    				$valus[$i] = 'Да';
    			}
    
    			$str .= $data[$i+$count]['title'] . ": " . $valus[$i] . " \n";
    
    		}else{
    
    			$count++;
    			$str .= $data[$i+$count]['title'] . ": " . $valus[$i] . " \n";
    
    		}
    	}
    	return $str;
    
    }

    Стажер реализовал обход ассоциативного массива и преобразование значений массива в строку.

    Iliander, 13 Июня 2012

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

    +55

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $i = 0;
    foreach($_POST['union'] as $key=>$value) {
    	$i++;
    	if ($i == 1) {
    		$fid = $key;
    	}
    	if ($i > 1) {
    		[код поскипан]
    	}
    }

    Ну почему не используется if { } else { }?

    domaster, 13 Июня 2012

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

    +54.9

    1. 1
    2. 2
    3. 3
    void write_msg(const QString& msg, AsyncMp* mp) {
        written(QString(mp?"%1[%2]":"" " %3").arg(mp->my_host()).arg(mp->my_index()).arg(msg));
    }

    А потом удивляемся: чего же оно не работает?

    Thomas_55, 04 Декабря 2009

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

    +54.9

    1. 1
    2. 2
    3. 3
    for( i = 0; i < 2; i++) {
    	if ((Result = AvCrpSignFile(iSession, szSrcFile, szDstFile, 0)) == AVCRPR_SUCCESS) break;
    }

    чтобы наверняка

    guest, 30 Июня 2009

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

    +54.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
    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
    int NOD(int a,int b)
    		{
    			if(a==0)
    			{
    				return b;
    			}
    			if(b==0)
    			{
    				return a;
    			}
    			if(a==b)
    			{
    				return a;
    			}
    			if((a%2==0)&&(b%2==0))
    			{
    				return 2*NOD(a/2,b/2);
    			}
    			else if((a%2==0)&&(b%2!=0))
    			{
    				return NOD(a/2,b);
    			}
    			else if((a%2!=0)&&(b%2==0))
    			{
    				return NOD(a,b/2);
    			}
    			else if((a%2!=0)&&(b%2!=0))
    			{
    				return NOD(b,abs(a-b));
    			}
    			else return 1;
    
    			/*
    			   1. НОД(0, n) = n; НОД(m, 0) = m; НОД(m, m) = m;
    			   2. НОД(1, n) = 1; НОД(m, 1) = 1;
    			   3. Если m, n чётные, то НОД(m, n) = 2*НОД(m/2, n/2);
    			   4. Если m чётное, n нечётное, то НОД(m, n) = НОД(m/2, n);
    			   5. Если n чётное, m нечётное, то НОД(m, n) = НОД(m, n/2);
    			   6. Если m, n нечётные, то НОД(m, n) = НОД(n, |m - n|).
    
    			*/
    		}

    Алгоритм Евклида - прошлый век!
    Нарыл в Wiki некий алгоритм)

    zelenov.pavel, 07 Декабря 2009

    Комментарии (33)
  10. Куча / Говнокод #1587

    +54.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <div style="padding: 2px;"> 
        <div class="go_left">
            <font color="#777777">Account balance:</font> <span id="js_total_hours" style="margin: 0px; padding: 0px;">2</span> hours
        </div> 
        <div class="clear"></div> 
    </div>

    go_left - стиль с float: left
    clear - стиль с clear: both
    как минимум спрашивается зачем давать флоэт лефт единстенному элементу в диве.

    nonexistent, 15 Августа 2009

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

    +54.6

    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
    #include <iostream>
    
    class TerVer {
    public:
      short d1, d2, d3, d4;
      short totalCounter, goodCounter;
      bool DoneInc;
      TerVer(): d1(1), d2(0), d3(0), d4(0), totalCounter(1), goodCounter(0), DoneInc(false) {}
      bool IsGood() {
        return (
          (d1==d2 && d1!=d3 && d1!=d4 && d3!=d4) ||
          (d1==d3 && d1!=d2 && d1!=d4 && d2!=d4) ||
          (d1==d4 && d1!=d2 && d1!=d3 && d2!=d3) ||
    
          (d2==d3 && d2!=d1 && d2!=d4 && d1!=d4) ||
          (d2==d4 && d2!=d1 && d2!=d3 && d1!=d3) ||
    
          (d3==d4 && d3!=d1 && d3!=d2 && d1!=d2)
          ) ? true : false;
      }
      void Inc() {
        d4++; 
        if(d4>9) { d4=0; d3++; if(d3>9) {d3=0; d2++; if(d2>9) { d2=0; d1++; if(d1>9) DoneInc = true; } } }
        if (!DoneInc) { totalCounter++; if (IsGood()) goodCounter++; }
      }
    };
    
    int main() {
      TerVer z;
      while(!z.DoneInc) {
        z.Inc();
      }
      cout << z.goodCounter << " / " << z.totalCounter << " = " << (double)z.goodCounter/z.totalCounter << endl;
    
      return 0;
    }

    Найти вероятность того, что в случайном четырехзначном числе ровно две цифры совпадают.
    Вот что бывает, когда лень думать.

    elmigranto, 30 Марта 2010

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