1. PHP / Говнокод #9258

    +153

    1. 1
    2. 2
    3. 3
    if (strcasecmp($fieldValue, "Array") == 0) {
        ...
    }

    f0rm4t, 30 Января 2012

    Комментарии (2)
  2. Java / Говнокод #9257

    +71

    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
    public class Pages extends TabActivity {
    
    	@Override
    	protected void onResume() {
    		super.onResume();
    		if (!loading) {
    			loading = true;
    			new EmptyThread().execute();
    		}
    	}
    
    	@Override
    	protected void onPause() {
    		Data.killNow = true;
    		super.onPause();
    	}
    
    	private class EmptyThread extends AsyncTask<Void, String, Void> {
    		@Override
    		protected void onPreExecute() {
    			Data.killNow = false;
    		}
    
    		@Override
    		protected Void doInBackground(Void... unused) {
    			while (!Data.killNow) {
    				try {
    					Thread.sleep(1000);
    				} catch (InterruptedException e) {
    				}
    			}
    			return null;
    		}
    
    		@Override
    		protected void onPostExecute(Void unused) {
    			loading = false;
    		}
    	}
    }

    В продолжение предыдущей темы (http://govnokod.ru/9256): из-за столь вольного обращения с модификатором static и адского обращения с AsyncTask*ами программист нарвался на утечку памяти и AsyncTask*и у него прекратили запускаться (не факт, что из-за утечек, я их исходный код не смотрел). Выше вам был представлен костыль, благодаря которому асинхронки всё-таки запускались. Как - я так и не постиг.

    Для справки - когда экран выходит на передний план, срабатывает onResume(), когда уходит с него - onPause().

    QuickNick, 30 Января 2012

    Комментарии (3)
  3. Java / Говнокод #9256

    +68

    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
    public class Pages extends TabActivity {
    
    	public static TabHost host;	
           
            @Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		host = getTabHost();
                    // много говнокода
            }
    }
    
    public class Table extends Activity {
    //много говнокода
    
    	@Override
    	protected void onResume() {
    		super.onResume();
    		if (!loading) {
    			loading = true;
    			new MainTask().execute();
    		}
    	}
    
    	private class MainTask extends AsyncTask<Void, String, Void> {
                    //безумнейший парсинг в donInBackground()
    
    		@Override
    		protected void onPostExecute(Void unused) {
                           //разбираемся с тем, что пришло - для начала отлавливаем ошибки в парсере.
    			if (!timeOut) {
    				AlertDialog dlg = new AlertDialog.Builder(TableOfGroups.this).setTitle(Data.lowConnectionTitle)
    						.setMessage(Data.lowConnectionText).setOnCancelListener(new DialogInterface.OnCancelListener() {
    							@Override
    							public void onCancel(DialogInterface dialog) {
    								loading = false;
    								if (!update) {
    									Pages.host.setCurrentTab(Data.savePageIndex - 1);
    								}
    							}
    						}).setPositiveButton("OK", new DialogInterface.OnClickListener() {
    							@Override
    							public void onClick(DialogInterface dialog, int whichButton) {
    								loading = false;
    								if (!update) {
    									Pages.host.setCurrentTab(Data.savePageIndex - 1);
    								}
    							}
    						}).create();
    				dlg.show();
    				if (!update)
    					return;
    			}
                            //ещё около 150 строк подобной ловли
                    }
            }
    }

    Задача (Android): имеется активити со вкладками (Pages), внутри него - дочерние активити. Если в активити Table на 4-й вкладке происходит косяк, то нужно показать диалог и перепрыгнуть на 1-ю вкладку.

    QuickNick, 30 Января 2012

    Комментарии (19)
  4. JavaScript / Говнокод #9255

    +162

    1. 1
    2. 2
    3. 3
    if(object[k] !== undefined ? replace !== false : true){
                        object[k] = extendData[k];
                    }

    Поддерживаемый и читаемый код? Не, не слышал

    nur, 30 Января 2012

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

    +158

    1. 1
    <td class="index"><?=isset($idx)?++$idx:$idx=1;?></td>

    Просто и понятно, особенно ночью

    nucleartux, 29 Января 2012

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

    +151

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <li><a href="#">О нас</a></li>
                                 <li><a href="#">Каталог мест</a></li>
                                 <li><a href="#">Правила</a></li>
                                 <li class="footer_write_link"><a href="#">Написать нам</a></li>
                                 <li class="footer_for_company">
                                     <?php if($account): ?>
                                         <a href="/acount/place/index/<?php echo $account->account->id; ?>/"><?php echo $account->account->name; ?>  </a>
                                     <?php else: ?>
                                         <a href="/account/new/"> <span>компаниям</span></a>
                                     <?php endif; ?>
                                 </li>

    Вот такая отладка из Kohana уже второй день появляется на spooon у всех, кто получил инвайт

    kuksikus, 29 Января 2012

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

    +188

    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
    <?php
    
    	...
    	
    	$Sex = $_POST['sex'];	//Пол юзера из поискового запроса
    	$searchSex = $_POST['searchsex'];	//Пол искомого партнёра
    	
    	...
    	
    	if ($Sex == $searchSex)	//Осторожно, педерасты!
    	{
    		...
    		//Вывод капчи
    		...
    	}
    	
    ?>

    Из написанного знакомым движка для сайта знакомств. Комментарии оригинала.

    vistefan, 29 Января 2012

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

    +171

    1. 1
    2. 2
    3. 3
    if(in_array(strlen($_POST['password']), range(6,30))) {
    ////.....
    }

    но кода на несколько символов все равно меньше, согласитесь

    _jokz, 29 Января 2012

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

    +154

    1. 1
    http://habrahabr.ru/blogs/web_security/137196/

    Нанотехнологии в действии

    Spider, 28 Января 2012

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

    +166

    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
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    if ($id == 1) {
        $source = 'GallerySkins/s/skin_01.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 2) {
        $source = 'GallerySkins/s/skin_02.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 3) {
        $source = 'GallerySkins/s/skin_03.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 4) {
        $source = 'GallerySkins/s/skin_04.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 5) {
        $source = 'GallerySkins/s/skin_05.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 6) {
        $source = 'GallerySkins/s/skin_06.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 7) {
        $source = 'GallerySkins/s/skin_07.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 8) {
        $source = 'GallerySkins/s/skin_08.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 9) {
        $source = 'GallerySkins/s/skin_09.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 10) {
        $source = 'GallerySkins/s/skin_10.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 11) {
        $source = 'GallerySkins/s/skin_11.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }
    elseif ($id == 12) {
        $source = 'GallerySkins/s/skin_12.png';
        $dest = "MinecraftSkins/$user.png";
    	
    	if(!copy($source, $dest)) {
            echo "Ошибка<br />\n";
        }
    }

    Разгребал систему скинов и наткнулся на это... даже не знаю, как это чудо назвать.
    Заменяется элементарным
    $source = 'GallerySkins/s/skin_'.$id.'.png'; // Исходная директория файла
    $dest = "MinecraftSkins/$user.png"; // Конечная директория файла

    if(!copy($source, $dest)) // Если файл не скопирован:
    {
    echo "Ошибка<br />\n";
    }

    FanAs, 28 Января 2012

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