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

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

    +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
    package com.govnoistochnik.servleti;
    
    ...
     
    import javax.servlet.GenericServlet;
    ...
     
    public class GenericReportingServlet extends GenericServlet {
    
    PrintWriter oos;   // Говно источник
    ...
    
    public synchronized void  createReport(...)
    {
    oos = new PrintWriter();
    ...
    // pessot strok govnokoda vida
    oos.println("report");
    ...
    saveToDB(oos.toString());
    
    oos.close;
    }
    
    public synchronized void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
    // Kucha govnokoda
       createReport(...);
    // Prodoljeniye kuchi
    }
    
     ...
     
    }

    Продолжение говнокода
    http://govnokod.ru/9146

    Мы нашли почему там Синхронный метод.

    Глобальная переменная в коде. Какому идеоту пришло в голову так писать.....пи......

    kirpi, 27 Января 2012

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

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    final static public function route($home)
    	{
    		require_once "$home/pages/" . $_GET['q'] . ".php";
    	}

    Роутер и неепет.

    Razban_Guestov, 25 Января 2012

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

    +69

    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
    int limit = 10;
            int countNews = daoService.getCountNews();
            int currentPage = 1;
            if (linkOffset != 0) {
                currentPage += linkOffset / limit;
            }
            int offset = countNews - (linkOffset + limit);
            if (offset < 0) {
                offset = 0;
                limit = (countNews - (linkOffset + limit)) + limit;
            }
    
            List newsList = daoService.getLimitNews(limit, offset);
            List news = new ArrayList();
            int index = 0;
            for (int i = newsList.size() - 1; i >= 0; i--) {
                news.add(index, newsList.get(i));
                index++;
            }
    
    //DaoService.getLimitNews:
        public List getLimitNews(String owner, int limit, int offset) {
            return super.getSimpleJdbcTemplate().query(
                    "SELECT * FROM news WHERE owner=? AND apply=? AND local=? "
                    + "ORDER BY created limit ? offset ?",
                    new NewsMapper(),
                    owner, true, true, limit, offset);
        }

    Получение списка новостей в ленте в обратном хронологическом порядке.

    0rt, 25 Января 2012

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

    +151

    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
    foreach ($project as $key => $value) {
        if (!in_array($key, array('homepage'))) {
            if (isset($_POST['project'][$key])) {
                if (in_array($key, array('cast', 'client', 'related'))) {
                    $project->$key = $this->typograf($_POST['project'][$key]);
                } else {
                    $project->$key = $_POST['project'][$key];
                }
            }
        } elseif ($key == 'homepage') {
            $project->$key = isset($_POST['project'][$key]) ? 1 : 0;
        }
    }

    Обработка формы в проекте на yii, который мне приходится рефакторить

    dizballanze, 25 Января 2012

    Комментарии (3)
  6. Куча / Говнокод #9182

    +140

    1. 1
    http://govnokod.ru/kucha

    kucha - транслит
    KO

    truekenny, 20 Января 2012

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

    +150

    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
    function check($string_to_search) {
    $stack = array();
    foreach (preg_split("//", $string_to_search) as $char) {
    switch ($char) {
    case '{':
    case '(':
    case '[':
    array_push($stack, $char);
    break;
    case '}':
    if (array_pop($stack) != "{") return false;
    break;
    case ')':
    if (array_pop($stack) != "(") return false;
    break;
    case ']':
    if (array_pop($stack) != "[") return false;
    break;
    }
    }
    return true;
    }

    by kolen

    varg242, 16 Января 2012

    Комментарии (3)
  8. JavaScript / Говнокод #9117

    +146

    1. 1
    ... document.write('<img src="' + src + '" alt="" width="1" height="1" style="display:none"/>');

    microsoft.com, 24 строчка

    necropedophag, 14 Января 2012

    Комментарии (3)
  9. Objective C / Говнокод #9114

    −83

    1. 1
    ((UIButton*)[[mCellsArray objectAtIndex:indexPath.row]viewWithTag:kSpeakGalleryCellButtonTag]).selected = !((UIButton*)[[mCellsArray objectAtIndex:indexPath.row]viewWithTag:kSpeakGalleryCellButtonTag]).selected;

    Встречается в проекте раз пять такая конструкция

    Werdn, 14 Января 2012

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

    +164

    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
    function recoveryPassword( $data )
    {
    	$value = implode( '', $data );
    	$key = implode( '', array_keys( $data ) );
    
    	$query = '
    		SELECT
    			u.user_id AS `id`,
    			u.login,
    			u.salt,
    			u.mail,
    			u.status
    		FROM
    			users AS `u`
    		WHERE
    			u.'.$key.' = "'.$value.'"
    		LIMIT 1;';
    
    	if( !list($result) = $this->db->get($query) )
    	{
    		...
    }

    Копаясь в старом студийном коде наткнулся. Видимо, предполагалось, что в качестве $data будет передан массив вида array( 'field' => 'value' ) c 1 элементом.

    faiwer, 11 Января 2012

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

    +161

    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
    ///////////////////////////////////////////////
    ////////////
    //Содержимое
    
    function One($str,$tag,$num=1,$p=1){
    
    if($num=='0'){ $num='1'; }
    
    //Разделитель <тег
    $see_st=explode('<'.$tag,$str);
    
    if($p!==1){ $see_st=explode($p,$str); 
    
    $end=explode('>',$see_st[$num]); 
    $see_st[$num]='.'.$end[1];
    }
    
    //Разделитель </тег
    $see_end=explode('</'.$tag,substr($see_st[$num],'1'));
    
    return $see_end[0];
    }
    ///////////////////////////////////////////////
    /////////
    //Парсинг
    
    function Parse($go,$str=0){
    if($str==0){ $str=$this->String; }
    
    //Разбили путь
    $path=explode("/",$go);
    
    //Обрабатываем путь
    for($go_n=0;$go_n<count($path);$go_n++){
    //$go_n='2';
    
    //Номер тега
    $num=explode(':',$path[$go_n]);
    if($num[1]==NULL){ $num[1]=1; }
    
    if($go_n=='0'){ $string=$str;}else{ $string=$t[$go_n-1]; } 
    $t[$go_n]=$this->One($string,$num[0],$num[1]);
    }
    
    return $t[$go_n-1];
    }

    Тоже самое, но теперь с xmlD:

    finall2, 08 Января 2012

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