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

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

    −106

    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
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
    {
    	if (rotateBag > 6) //после возврата, шудавторотейт вызывается 7 раз, это условие для погашения этих вызовов
    	{
    		if ([portret isEqualToString:@"horizontal"])
    		{
    			if (firstLaunch == 0) //  блок для первого запуска (по умолчанию всегда выставляет ландскейпРайт, а это не всегда правильно)
    			{
    				if (interfacePosition == 0)
    					{ self.view.transform = CGAffineTransformMakeRotation(M_PI); }
    				else
    					{ self.view.transform = CGAffineTransformIdentity; }
    				firstLaunch++;
    				indexLandscape = interfacePosition;
    			}
    			else
    			{
    				if (indexLandscape == 1)	//если изначальный вариант был правосторонний
    				{
    					if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) // если ЛандскейпРайт
    						{ self.view.transform = CGAffineTransformIdentity;
    						  interfacePosition = 1; }
    					if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)	// если ЛандскейпЛефт
    							{ self.view.transform = CGAffineTransformMakeRotation(M_PI);
    							  interfacePosition = 0; }
    				}
    				else				//если изначальный вариант был левосторонний
    				{
    					if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) // если ЛандскейпРайт
    						{ self.view.transform = CGAffineTransformMakeRotation(M_PI);
    						  interfacePosition = 1; }
    					if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)	// если ЛандскейпЛефт
    						{ self.view.transform = CGAffineTransformIdentity;
    						  interfacePosition = 0; }
    				}
    			}
    		}
    		else
    		{
    			if (firstLaunch == 0) //  блок для первого запуска (по умолчанию показывается правильно, поэтому ничего делать не надо)
    				{ firstLaunch++; }
    			else
    			{
    				if (toInterfaceOrientation == UIInterfaceOrientationPortrait)
    					{ self.view.transform = CGAffineTransformIdentity; }
    				if (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
    					{ self.view.transform = CGAffineTransformMakeRotation(M_PI); }
    			}
    		}
    	}
    	else { 
    		rotateBag++; 
    	}
    	return false;
    }

    Крутящаяся сумка в действии...
    Поворот дисплея в 50 строк :\

    mrWindMak3r, 16 Июня 2011

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

    −121

    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
    declare
        v_curs sys_refcursor;
        v_on number;
    begin
        open v_curs for 'select rout_num from rout_orders_promotion';
        fetch v_curs into v_on;
        loop
            exit when v_curs%notfound;
            if v_curs%rowcount = 1 then
                null;
            end if;
            fetch v_curs into v_on;
        end loop;
        close v_curs;
    end;

    Если запись одна, тогда уж точно нечего в цикле делать.

    dwinner, 14 Июня 2011

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

    +158

    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
    if (isSet($_POST["AdminLoginPOST"]) and isSet($_POST["AdminPasswordPOST"])){
    	$sql="SELECT * FROM settings WHERE AdminLogin like binary '".str_replace("'","",$_POST["AdminLoginPOST"])."' and AdminPassword='".str_replace("'","",$_POST["AdminPasswordPOST"])."'";
    	$db->query($sql);
    	if ($db->next_record()) {
    		if(isset($_POST["AdminCurrentSession"])) $_SESSION=unserialize($_POST["AdminCurrentSession"]);
    		$AdminLogin=$_POST["AdminLoginPOST"];
    		$_SESSION['AdminLogin']=$db->Record["AdminLogin"];
    		$ADMIN_ID=$db->Record["id"];
    		$ADMIN_EMAIL=$db->Record["AdminEmail"];
    		$ACCESS=$db->Record["access"];
    		if($ACCESS<0 && !isset($MAINFRAME))  $ACCESS=0;
    		$LENGUAGE=$db->Record["lenguage"];
    		$NOHELP=$db->Record["nohelp"];
    		$ADMINOPNWIN=$db->Record["AdminOpnWin"];
    		$COUNT_ROWS=$db->Record["NumRows"];
    		$STRIPTAGS=$db->Record["striptags"];
    		$SPELL=$db->Record["spell"];
    		$sp=explode(",", $db->Record["access_details"]);
    		$ACCESS_DETAILS=array();
    		for ($i=0;$i<count($sp);$i++) $ACCESS_DETAILS[$sp[$i]]="y";
    	}
    }

    volatile, 08 Июня 2011

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

    +147

    1. 1
    $APPLICATION->SetTitle('Хуй на рыло, чтоб душа не ныла');

    код скриптов админ-панели, взято с продакшена

    elw00d, 08 Июня 2011

    Комментарии (4)
  6. Pascal / Говнокод #6818

    +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
    function str_transfer(str: string; c: Integer): String;
    var
    i:Integer;
    begin
      i:= c;
      while PosEx(' ',str,i) > 0 do
        begin
          if PosEx(' ',str,i) > 0 then
            begin
              i:= PosEx(' ',str,i);
              Insert(#10#13,str,i+1);
              i:= i+c;
            end;
        end;
      Result:= str;
    end;

    "решил написать вот такую функцию, которая вставляет в строку переносы после определенного кол. символов, перенос строки вставляется между словами. Может кому пригодится...."

    bugmenot, 02 Июня 2011

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

    +76

    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
    private void listGSNames()
    	{
    		int idMaxLen = 0;
    		int nameMaxLen = 0;
    		for (Entry<Integer, String> e : GameServerTable.getInstance().getServerNames().entrySet())
    		{
    			if (e.getKey().toString().length() > idMaxLen)
    			{
    				idMaxLen = e.getKey().toString().length();
    			}
    			if (e.getValue().length() > nameMaxLen)
    			{
    				nameMaxLen = e.getValue().length();
    			}
    		}
    /* Some Code */
    }

    Отрезок из регистратора игрового сервера Lineage от команды L2jServer.
    e.getKey().toString().length() - Приведение к строке, потом определение строки. Выглядит зрелищно! =)

    Akira, 01 Июня 2011

    Комментарии (4)
  8. Java / Говнокод #6800

    +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
    ArrayList<BaseEventData> tempList = new ArrayList<BaseEventData>();
    			
    			int to = baseList.size()-1;
    
    			while((to > 0) && (baseList.get(to).getTime() > timeTo))
    				to--;
    			
    			int from = to;
    			
    			while((from > 0) && (baseList.get(from).getTime() >= timeFrom)){
    				tempList.add(baseList.get(from));
    				from--;
    			}
    			
    			mEvents = tempList.toArray(new BaseEventData[]{});

    Часть метода. Метод предназначен для чтения ленты событий. Среди полученной ленты выбираются те, время возникновения которых попадает в заданный период. События изначально отсортированы по этому времени, от первого к последнему. то-есть последний элемент - последнее событие.

    kartanis, 31 Мая 2011

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

    +156

    1. 1
    $value['VALUE'] = htmlspecialchars(str_replace(array("<",">"), "\"", $value['VALUE']));

    Безопасность на высоте. То, что потом приходят совершенно нечитаемые данные -- это ничего.

    ftr, 26 Мая 2011

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

    +147

    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
    // ...
    if ((dot1 > 0) || ((dot1 == 0) && (se.GetDir() == pe.GetDir()))) {
            rcount++;
          } else if ((dot1 < 0) || ((dot1 == 0) && (se.GetDir() == -pe.GetDir()))) {
            lcount++;
          } else {
            this.dbg("grade_partition problem: dot1 = " + dot1 + ", dot2 = " + dot2);
          }
    // ...
    
    // где GetDir определена так:
    int GetDir() {
      if (this.dx != 0) {
        return (this.dx < 0) ? 1 : -1;
      }
      return (this.dy < 0) ? 2 : -2;
    }

    вот мусор встретился.
    Pattern id: NOISE_OPERATION, type: NOISE, category: NOISE

    Lure Of Chaos, 14 Мая 2011

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

    +120

    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 string GetConnectionString() 
        { 
          string connString = String.Empty; 
          string location = Assembly.GetExecutingAssembly().Location; 
          int pos = location.LastIndexOf('\\'); 
          location = location.Remove(pos); 
          pos = location.LastIndexOf('\\'); 
          location = location.Remove(pos); 
          pos = location.LastIndexOf('\\'); 
          location = location.Remove(pos); 
          location += @"\server\conf\config.conf"; 
          using (StreamReader sr = File.OpenText(location)) 
          { 
            string s = ""; 
            while ((s = sr.ReadLine()) != null) 
            { 
              connString += s; 
            } 
          } 
          connString += "database = ***; charset = utf8;"; 
          return connString; 
        }

    mahalex, 11 Мая 2011

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