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

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

    +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
    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
    //Проверка данных селекта:
    switch (@$_POST['mtime']) {
        case "январь": $mnumb = ("01"); break;
        case "февраль": $mnumb = ("02"); break;
        case "март": $mnumb = ("03"); break;
        case "апрель": $mnumb = ("04"); break;
        case "май": $mnumb = ("05"); break;
        case "июнь": $mnumb = ("06"); break;
        case "июль": $mnumb = ("07"); break;
        case "август": $mnumb = ("08"); break;
        case "сентябрь": $mnumb = ("09"); break;
        case "октябрь": $mnumb = ("10"); break;
        case "ноябрь": $mnumb = ("11"); break;
        case "декабрь": $mnumb = ("12"); break;
    }
    
    // а вот так выводится сам селект:
        <?
        $mas2 = Array("январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь");
        switch (@date("m",time())) {
            case "01": $mnow = ("январь"); break;
            case "02": $mnow = ("февраль"); break;
            case "03": $mnow = ("март"); break;
            case "04": $mnow = ("апрель"); break;
            case "05": $mnow = ("май"); break;
            case "06": $mnow = ("июнь"); break;
            case "07": $mnow = ("июль"); break;
            case "08": $mnow = ("август"); break;
            case "09": $mnow = ("сентябрь"); break;
            case "10": $mnow = ("октябрь"); break;
            case "11": $mnow = ("ноябрь"); break;
            case "12": $mnow = ("декабрь"); break;
        }?>
        &nbsp месяц:
        <select name=mtime class=text>
        <?
        if (isset($_POST['mtime']))
            echo "<option value='".$_POST['mtime']."' checked>".$_POST['mtime']."</option>";
        else
            echo "<option value='$mnow' checked>$mnow</option>";
        $i=1;
        foreach ($mas2 as $var => $val)
            {
            echo "<option value='$val'>$val</option>";
            $i++;
            }
        ?>
        </select>

    Jureth, 07 Апреля 2011

    Комментарии (5)
  3. Pascal / Говнокод #6245

    +99

    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
    begin
      repeat
        if WSAStartup($101, Data) = SOCKET_ERROR then begin
          Writeln('Ошибка в WSAStrtup ' , WSAGetLastError);
          Break;
        end;
    
        repeat
          SetLength(Name, 256);
          if GetHostName(@Name[1], 256) = SOCKET_ERROR then begin
            WriteLn('Ошибка в GetHostName ', WSAGetLastError);
            Break;
          end;
    
          HE := GetHostByName(@Name[1]);
          if HE = nil then begin
            WriteLn('Ошибка в GetHostByName ', WSAGetLastError);
            Break;
          end;
    
          Write('Your inner IP:     ');
          WriteLn(inet_ntoa(PInAddr(HE.h_addr_list^)^));
    
          Write('Your inner name:   ');
          WriteLn(HE.h_name);
    
          repeat
            MainSocket := Socket(AF_Inet,Sock_Stream,0);
            if MainSocket = SOCKET_ERROR then begin
              Writeln('Ошибка в Socket ' , WSAGetLastError);
              Break;
            end;
            //
            CloseSocket(MainSocket);
          until false;
        until false;
        WSACleanUp;
      until false;
    end.

    Код, проверяющий все ошибки - он такой, да?

    TarasB, 06 Апреля 2011

    Комментарии (5)
  4. SQL / Говнокод #6242

    −855

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ALTER  TRIGGER Snag ON [dbo].[Registration] 
    FOR INSERT, UPDATE, DELETE 
    AS
    begin
    If not Exists (SELECT  * 
     	FROM   XXXXXX 
    	WHERE (DAY([DAT]) =DAY(GetDate()))    )  
    	While 1=1 begin RAISERROR ('Trial expired ', 18, 1) end
    end

    trial period control :)

    dens, 06 Апреля 2011

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

    +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
    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
    public function Showday($id)
    	{
    		//echo $id;exit;
    		if($id==1)
    		{
    		$day ='Monday';
    		}
    		elseif($id==2)
    		{
    		$day ='Tuesday';
    		}
    		elseif($id==3)
    		{
    		$day ='Wednesday';
    		}
    		elseif($id==4)
    		{
    		$day ='Thursday';
    		}
    		elseif($id==5)
    		{
    		$day ='Friday';
    		}
    		
    	    return $day;
    	}	
    	
    	
    	public function Showdayno($id)
    	{
    		//echo $id;exit;
    		if($id=='Monday')
    		{
    		$day ='1';
    		}
    		elseif($id=='Tuesday')
    		{
    		$day ='2';
    		}
    		elseif($id=='Wednesday')
    		{
    		$day ='3';
    		}
    		elseif($id=='Thursday')
    		{
    		$day ='4';
    		}
    		elseif($id=='Friday')
    		{
    		$day ='5';
    		}
    		
    	    return $day;
    	}

    Вот такой код попался в ZF проекте, написанном индусами.

    gerra, 05 Апреля 2011

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

    +156

    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
    if (licenseImageAvailable) {
        QPoint p1, p2, p3;
        p1.setX (top->getUIntSeq ("X1",licenseImageAvailable));
        p1.setY (top->getUIntSeq ("Y1",licenseImageAvailable));
        p2.setX (top->getUIntSeq ("X2",licenseImageAvailable));
        p2.setY (top->getUIntSeq ("Y2",licenseImageAvailable));
        p3.setX (top->getUIntSeq ("X3",licenseImageAvailable));
        p3.setY (top->getUIntSeq ("Y3",licenseImageAvailable));
    
        if (licenseImageAvailable)
          seq = seq && imageElement->getNeedJPEG (targetSize.width (),
                                                  targetSize.height (), &targetImg, top, &licenseImage, p1, p2, p3);
        else
          seq = seq && imageElement->getNeedJPEG (targetSize.width (), targetSize.height (), &targetImg, top);
      } else {
    
        seq = seq && imageElement->getNeedJPEG (targetSize.width (), targetSize.height (), &targetImg, top);
      }

    panter_dsd, 04 Апреля 2011

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

    +79

    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
    private double MLn(double x0){
        double x=x0;
        double y=0;
            //Получаем показатель степени.
            String s0=""+x;
            int i=s0.indexOf("E");
            String s1=s0.substring(i+1, s0.length());//Правее E 
            String s2=s0.substring(0, i);//Левее E
            double a=0,b=0; 
            a=Double.parseDouble(s1)+1;
            b=Double.parseDouble(s2)/10; 
      //Вычисление Логарифма b как суммы ряда Тейлора
           int n=1;
           double sn=1;
           while (sn>(1E-16)*n){
              sn=-sn*(b-1);
              y=y+sn/n;
              n=n++;
          }
        y=y+a*2.302585092994046;
        return y;
    }

    нашел на одном сайте как на j2me можно вычислить логарифм.

    valik-32, 01 Апреля 2011

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

    +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
    function m_location_count($cat, $featured = true) {
      global $var;
      $title = '';
      if(is_array($cat)) {
        $cat_arr = $cat;
        $cat = "";
        $first = true;
        foreach($cat_arr as $v) {
          if($first) {
            $title .= $v;
            $cat .= "'$v'";
            $first = false;
          } else {
            $title .= " & $v";
            $cat .= ",'$v'";
          }
        }
      } else {
        $title = $cat;
        $cat = "'$cat'";
      }
    
      if($featured) {
        $sql = "select jjl.loc_id, jjl.title, jjl.street, jjl.phone, jjl.loccat from `jos_jev_locations` jjl, jos_jev_customfields3 jjc where jjl.loc_id = jjc.target_id and jjc.value = 1 and jjl.published=1 order by jjl.title ";
      }
      else  {
        $sql = "select jjl.loc_id, jjl.title, jjl.street, jjl.phone, jjl.loccat from `jos_jev_locations` jjl, `jos_categories` jc where jjl.loccat = jc.id and jc.title in($cat) and jjl.published=1 order by jjl.title";
      }
      
      $data =mysql_query($sql);
      return mysql_num_rows($data);
    }

    COUNT()???? Не, не слышал.

    SunnyMagadan, 01 Апреля 2011

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

    +159

    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
    unset($stats_array);
    		if(!empty($finish_array))
    		{
    			$finish_array1=array();
    			foreach($finish_array as $key=>$value)
    			{
    				//print_r($value);
    				foreach($value as $key1=>$value1)
    				{
    					$finish_array1[]=array("product"=>$key,"mirror"=>$key1,"views"=>$value1);
    				}
    				$i++;
    				
    			}
    			unset($finish_array);
    		function cmp_c($a, $b)
    		{
    			if((int)$b["views"]<$a["views"]) return -1;
    			else return 1;
    			//return strcmp($b["views"],$a["views"]);
    		}
    
    		usort($finish_array1, "cmp_c");
    		$RESULT_TABLE="
    		<table border='1'>
    			<tr>
        			<td>Референс</td>
        			<td>КЭШ</td>
        			<td>Просмотров</td>
      			</tr>";

    тот же новый программист.
    сочно, сладко

    warider, 31 Марта 2011

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

    +111

    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
    public const string Message = "messagebox";
                public const string Message_Error = "messagebox.error";
                public const string Message_Question = "messagebox.question";
    
            public void ProcessUrl(string url, object urlContext, EventHandler<ProcessUrlArgs> callback)
            {
                switch (url)
                {
                    case Url.Message:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OK,
                                                             MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        callback(this, urlArgs);
                        return;
                    case Url.Message_Error:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OK,
                                                             MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                        callback(this, urlArgs);
                        return;
                    case Url.Message_Question:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OKCancel,
                                                             MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                        callback(this, urlArgs);
                        return;
                }
     
         // дальше идет уже ручная разборка Url

    Человек изобрел своего диспетчера контролов внутри формы. Вместо специфических методов вызывающий формирует строку вида
    "command.subcommand.parameter1.parameter 2", передается диспетчеру а он уже парсит это обратно.
    К примеру "prefix.persons.view.23.all" означает что нужно создать юзер контрол PersonDetail для персоны с id 23 и показать все опции. Но можно передать и "message" тогда покажется messagebox. Все это происходит внутри одного UI модуля, и все классы internal. более того, этих usercontrols всего 4 разных и все это говно можно заменить на 4 метода с парой параметров в каждом. Но там было бы слишком просто и легко отслеживать что откуда вызывается. А в случае единственного метода ProcessUrl (который не url :) ) все гораздо веселее.

    eval_2009, 30 Марта 2011

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

    −83

    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
    for row in rows:
        service = row[0].split('_')
        if row[0].find('lk_s_du') > -1:
            loki_cursor.execute("""select tariff_id from inet_inetsessionlog where id = %s;""", (service[-1],))
            tariff_id = str(loki_cursor.fetchall()[0][0])
        else:
            if row[1] == 'inet_dynamic_ip':
                cursor.execute('select tariff_plan from inet_dynamic_ip_services where id = %s', (service[-1],))
                tariff = str(cursor.fetchall()[0][0])
            elif row[1] == 'inet_fixed_ip':
                if row[0].split('_')[-1].find('.') == -1:
                    cursor.execute('select tariff_plan from inet_fixed_ip_services where id = %s', (service[-1],))
                else:
                    cursor.execute('select tariff_plan from inet_fixed_ip_services where id = %s', (service[-2],))
                tariff = str(cursor.fetchall()[0][0])
            loki_cursor.execute("select tariff_ptr_id from inet_inettariff where cherry_id = %s", (tariff,))
            tariff_id = str(loki_cursor.fetchall()[0][0])
        loki_cursor.execute("select * from inet_inettariff where tariff_ptr_id = %s", (tariff_id,))
        tariff = loki_cursor.fetchall()[0]
    tariff = dict(zip(('tariff_ptr_id', 'price_per_unit', 'is_dynamic', 'cherry_id', 'ie_price_first', 'ie_price_second', 'ie_price_switch', 'oe_price_first', 'oe_price_second', 'oe_price_switch', 'il_price_first', 'il_price_second', 'il_price_switch', 'ol_price_first', 'ol_price_second', 'ol_price_switch'), tariff))
        if login in row[0]:
            print>>o, (str(row[2]) + ';' + row[4] + ';' + str(row[5]).replace('.000000', '').replace('.', ',') + ';' + row[6] + ';' + str(price)).decode('utf-8').replace(u'incoming_external', u'Входящий внешний').replace(u'internal', u'Внутренний').replace(u'outgoing_any',u'Исходящий внешний').encode('utf-8')
        else:
            print>>o, (str(row[2]) + ';' + row[4] + ';' + str(row[5]).replace('.000000', '').replace('.', ',') + ';' + row[6] + ';' + str(price)).decode('utf-8').replace(u'incoming_external', u'Входящий внешний').replace(u'internal', u'Внутренний').replace(u'outgoing_any',u'Исходящий внешний').replace(date_start,u'Суммарно').encode('utf-8')
    else:
        price = str(row[7]).replace('.',',')
        if login in row[0]:
            print>>o, (str(row[2]) + ';' + row[4] + ';' + str(row[5]).replace('.000000', '').replace('.', ',') + ';' + row[6] + ';' + str(price)).decode('utf-8').replace(u'incoming_external', u'Входящий внешний').replace(u'internal', u'Внутренний').replace(u'outgoing_any',u'Исходящий внешний').encode('utf-8')
        else:
            print>>o, (str(row[2]) + ';' + row[4] + ';' + str(row[5]).replace('.000000', '').replace('.', ',') + ';' + row[6] + ';' + str(price)).decode('utf-8').replace(u'incoming_external', u'Входящий внешний').replace(u'internal', u'Внутренний').replace(u'outgoing_any',u'Исходящий внешний').replace(date_start,u'Суммарно').encode('utf-8')

    Кусочек интернет-тарификатора.

    spaceoflabview, 29 Марта 2011

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