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

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

    +162.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
    37. 37
    38. 38
    39. 39
    40. 40
    if(	!empty($argv[1]) &&
    	is_array($REQUEST = unserialize(urldecode($argv[1]))))
    {
    	if(!empty($REQUEST['torrent']))
    		$torrent_id=$REQUEST['torrent'];
    	if(!empty($REQUEST['seed']))
    		$seed=$REQUEST['seed'];
    	if(!empty($REQUEST['submit_id']))
    		$submit_id=$REQUEST['submit_id'];
    	if(!empty($REQUEST['account_id']))
    		$account_id=$REQUEST['account_id'];
    	if(!empty($REQUEST['tracker_id']))
    		$tracker_id=$REQUEST['tracker_id'];
    }
    if(empty($torrent_id))
    {
    	if(empty($_REQUEST['torrent']))
    		exit("!torrent");
    	else $torrent_id=$_REQUEST['torrent'];
    }
    if(empty($seed))
    	$seed=(!empty($_REQUEST['seed']))?$_REQUEST['seed']:0;
    if(empty($submit_id))
    {
    	if(empty($_REQUEST['submit_id']))
    		exit("!submit_id");
    	else $submit_id=$_REQUEST['submit_id'];
    }
    if(empty($account_id))
    {
    	if(empty($_REQUEST['account_id']))
    		exit("!account_id");
    	else $account_id=$_REQUEST['account_id'];
    }
    if(empty($tracker_id))
    {
    	if(empty($_REQUEST['tracker_id']))
    		exit("!tracker_id");
    	else $tracker_id=$_REQUEST['tracker_id'];
    }

    Продолжаем бороться с сотрудником.
    Мальчик на полном серьезе не понимает, почему вот этот фрагмен - кромешный ад и его надо переписать.

    dzugaru, 19 Апреля 2010

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

    +158.8

    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
    // PRIVACY LEVEL OPTIONS
    function winks_privacy_levels($privacy_level) {
    	global $database, $functions_general, $functions_winks;
      
      	$lang_query = $database->database_query("SELECT languagevar_value FROM se_languagevars WHERE languagevar_id = 14000105");
    	$lang_array = Array();
    	while($item = $database->database_fetch_assoc($lang_query)) {$case0 = $item[languagevar_value];}
      	$lang_query = $database->database_query("SELECT languagevar_value FROM se_languagevars WHERE languagevar_id = 14000106");
    	$lang_array = Array();
    	while($item = $database->database_fetch_assoc($lang_query)) {$case1 = $item[languagevar_value];}
      	$lang_query = $database->database_query("SELECT languagevar_value FROM se_languagevars WHERE languagevar_id = 14000107");
    	$lang_array = Array();
    	while($item = $database->database_fetch_assoc($lang_query)) {$case2 = $item[languagevar_value];}
    
    	
    	switch($privacy_level) {
    	  case 0: $privacy = $case0; break;
    	  case 1: $privacy = $case1; break;
    	  case 2: $privacy = $case2; break;
    	  default: $privacy = ""; break;
    	}
    	return $privacy;
    }
    
    // WINKS ENABLED
    function winks_enabled(){
    	global $database;
    	
    	$winks_query = $database->database_query("SELECT * FROM sp_winks_settings");
    	$winks_array = Array();
    		while($item = $database->database_fetch_assoc($winks_query)) {
    			$winks_enabled = $item[enabled];
    		}
    	return $winks_enabled;
    }

    С первой функцией я так и не понял что автор хотел сделать
    Ну а про вторую мне вообще нечего сказать :)

    Rain, 14 Апреля 2010

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

    +117.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    string GetTextDiv2(string text)
        {
            int mid = text.Length / 2;
            int r = text.IndexOf(" ", mid); if (r < 0) r = 5000;
            int l = text.IndexOf(" ", 0, mid); if (l < 0) l = 5000;
            if (r - mid > mid - l) // to left is closer
                mid = l;
            else mid = r;
    
            if (mid == 5000) return "&nbsp" + text;
            return "&nbsp" + text.Substring(0, mid) + " <br/>&nbsp" + text.Substring(mid, text.Length - mid);
        }

    ASP.NET
    // это красота просто :) делим текст пополам там где пробел, а дальше добавляем между частями перенос на новую строку :)

    otvet_popravkodon, 13 Апреля 2010

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

    +143.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
    37. 37
    38. 38
    using System;
    
    
    struct MyStruct : IDisposable
    {
    	int x;
    	
    	private void Show()
    	{
    		unsafe
    		{
    			MyStruct obj1 = new MyStruct();
    			MyStruct* p;
    			
    			p = &obj1;
    			p->x = 10;
    			Console.WriteLine(x);
    		}
    	}
    	
    	public static void Run()
    	{
    		using(MyStruct obj1 = new MyStruct())
    		{
    			obj1.Show();
    		}
    	}
    	
    	public void Dispose() { }
    }
    
    class program
    {
    	static void Main()
    	{
    		MyStruct.Run();
    	}
    }

    сабж

    sergylens, 07 Апреля 2010

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

    +72.4

    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    interface Editor extends Window {
    
        /** Get edited entity  */
        Entity getItem();
    
        /**
         * Set parent datasource to commit into this datasource instead of database.
         * This method must be followed by {@link #setItem(com.contora.package.core.entity.Entity)}
         */
        void setParentDs(Datasource parentDs);
    
        /** Set edited entity. Invoked by the framework on opening the window. */
        void setItem(Entity item);
    
        /** Check validity by invoking validators on all components which support them */
        boolean isValid();
    
        /** Check validity by invoking validators on all components which support them */
        void validate() throws ValidationException;
    
        /** Validate and commit changes */
        boolean commit();
    
        /** Commit changes with optional validating */
        boolean commit(boolean validate);
    
        /**
         * Validate, commit and close if commit was successful.
         * Passes {@link #COMMIT_ACTION_ID} to associated {@link CloseListener}s
         */
        void commitAndClose();
    }
    
    public class PickupRegionLookuper extends AbstractLookup implements Editor{
        public PickupRegionLookuper(IFrame frame) {
            super(frame);
        }
    
        @Override
        protected void init(Map<String, Object> params) {
           //Здесь была какая то логика
        }
    
        @Override
        public Entity getItem() {
            return null;  
        }
    
        @Override
        public void setParentDs(Datasource parentDs) {
        }
    
        @Override
        public void setItem(Entity item) {
        }
    
        @Override
        public boolean isValid() {
            return false;
        }
    
        @Override
        public void validate() throws ValidationException {
        }
    
        @Override
        public boolean commit() {
            return false;
        }
    
        @Override
        public boolean commit(boolean validate) {
            return false;
        }
    
        @Override
        public void commitAndClose() {
        }
    }

    Встретилось в одном java-файле. Класс реализует интерфейс, определенный в том же файле, причем интерфейс package-private (!). При этом ни одного метода оттуда реально не используется. К тому же этот интерфейс человек перенес из другого класса, где тот был как раз public.

    tinhol, 06 Апреля 2010

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

    −857

    1. 1
    2. 2
    SELECT * FROM [dbo].[Publications]												
    where [UserId] not like 'NULL'

    UserId, естественно, int

    synapse, 01 Апреля 2010

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

    +131.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <div style="width:100%; text-align:center; height:95%; position: absolute ; left:0; top:0;  text-align:center;  "  >
          
          
                <table id="TableHead" cellpadding="0" cellspacing="0" style="text-align:center;width: 400px; margin-top:-150px; margin-left:-200px;    position:absolute; top: 50%; " align="center">
    
    ...
    </div>

    ну не красотень

    alex_donetsk, 01 Апреля 2010

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

    +102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function TicksBetween(t1, t2 : dword) : dword;
    begin
    	if t2 > t1
    	then Result:=t2 - t1 + 1
    	else Result:=dword(-1) - t1 + t2 + 1;
    end;

    Никогда не пишите с бодуна!

    whiskey, 01 Апреля 2010

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

    −107.8

    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
    response = conn.getresponse()
    data = response.read()
    s_list = list(data)
    i, j = 0, 0
    while i < len(s_list):
    	if s_list[i] == '<':
    		while s_list[i] != '>':
    			s_list.pop(i)
    		s_list.pop(i)
    	elif s_list[i] == '\n':
    		s_list.pop(i)
    	elif s_list[i] == '\t':
    		s_list.pop(i)
    	else:
    		i = i+1
    
    data = str(s_list).replace('\'','').replace(' ','').replace(',','').\
    replace('&nbsp','').replace('SERegistru','').replace('[','').\
    replace(']','').replace(':','').replace(';','').\
    replace('IDNP','').replace('LastName',' ').\
    replace('FirstName',' ').replace('SecondName',' ').replace('Alive',' ')

    Простой парсер HTML странички.. ^_^

    krowler, 28 Марта 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $user_query .= " AND O.ID IN (";
    for ($i=0;$i<count($orgs_id_array)-1;$i++){
    	$user_query .= $orgs_id_array[$i];
    	if($i < count($orgs_id_array) - 2)
    		$user_query .= ",";
    }
    $user_query .= ")";

    Остается загадкой, почему нельзя было сделать:
    $query_user .= " AND O.ID IN (" . implode(",", $orgs_id_array) . ")";

    AAS, 25 Марта 2010

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