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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. JavaScript / Говнокод #6096

    +190

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // Count how many rows are in the table.
        for (var x = 0; x < tableRows.length; ++x)
        {
        	rowCount += 1;
        }

    napmor1, 26 Марта 2011

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

    +113

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    int main(int argv,char *argc[]){
      ...
      if(fork() != 0)goto _EXIT;
      ...
      return 0;
    _EXIT:
      return 0;
    }

    Ну как ???

    Mooncrafter, 24 Марта 2011

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

    −863

    1. 1
    2. 2
    3. 3
    WHERE (p.city_id = 1)
       AND ((COALESCE(b.banket_persons,0)=0) OR (b.banket_persons>=20 AND b.banket_persons<=30))
       AND ((COALESCE(b.banket_per_person,0)=0) OR (b.banket_per_person>=500 AND b.banket_per_person<=1000))

    упорный программер явно не подозревал о существовании "is null" и "between"

    NaCilnic, 24 Марта 2011

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

    +167

    1. 1
    2. 2
    $handle = fopen($filename, "a+");
    fwrite($handle, '');

    В цикле таким образом измененяли дату модификации файлов. Существование touch() похоже было неизвестно.

    tkf, 24 Марта 2011

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

    −94

    1. 1
    var toCrypt:String = encodeURIComponent("GET")

    пруф: https://github.com/ptitJean/AS3FaceApi/blob/master/net/metafor/faceapi/auth/OAuth.as

    wvxvw, 22 Марта 2011

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