1. Список говнокодов пользователя roman-kashitsyn

    Всего: 101

  2. Java / Говнокод #9877

    +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
    /**
     * intended to be used for enums implementation
     */
    public interface NullValueHolder<T> {
        T getNullValue();
    }
    
    
    // в тесте
    enum TestEnum implements NullValueHolder<TestEnum> {
    TEST;
        public TestEnum getNullValue() {
            return null;
        }
    }

    Видимо, часть метафабрики для создания метапрограмм
    Может, я чего-то в этой жизни не понимаю?

    roman-kashitsyn, 06 Апреля 2012

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    } catch (IllegalArgumentException e) {
        // checked exceptions are stupid
        throw new UnexpectedException(e);
    }

    https://github.com/lmcalpin/Play--Paginate/blob/master/src/play/modules/paginate/strategy/JPARecordLocatorStrategy.java#L149

    Well...

    public class IllegalArgumentException extends RuntimeException

    roman-kashitsyn, 28 Марта 2012

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

    +154

    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
    function get_domain ($url)
    {
    	preg_match("/^(http:\/\/)?([^\/]+)/i",
        $url, $matches);
    	$host = $matches[2];
    	 
    	// get last two segments of host name
    	preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
    	return $matches[0];
    }
    function get_host ($url)
    {
    	preg_match("/^(http:\/\/)?([^\/]+\.[^\/]+)\/?/i",
        $url, $matches);
    	$host = $matches[2];
    	return $host;
    }

    я ошибаюсь, или всё это можно сделать с помощью parse_url?

    roman-kashitsyn, 27 Марта 2012

    Комментарии (2)
  5. JavaScript / Говнокод #9760

    +156

    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
    attr_sel:function(tag,cn,at,vl,inv)
    {
    	if (typeof(inv)=='undefined'){
    		inv=0;
    	}
    	var allT=document.getElementsByTagName(tag), allCN={}, i=0,j=0,a;
    	while(a=allT[i++]){
    		if (cn!='' && this.hasClass(a,cn))
    		{
    			if ((!inv && a.getAttribute(at)==vl)||(inv && a.getAttribute(at)!=vl))
    			{
    				allCN[j]=a;
    				j++;
    			}
    		}else{
    			if ((!inv && a.getAttribute(at)==vl)||(inv && a.getAttribute(at)!=vl))
    			{
    				allCN[j]=a;
    				j++;
    			}
    		}
    	}
    	return allCN;
    }

    По следам полосатого слона #9757
    Выборка по классу и значению атрибута.

    roman-kashitsyn, 25 Марта 2012

    Комментарии (0)
  6. JavaScript / Говнокод #9757

    +154

    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
    selector:function(tag,cn,pr,r)
    {
    	var allCN={}, i=0,j=0,a;
    	if (typeof(pr)=='undefined'){
    		var allT=document.getElementsByTagName(tag);
    	}else{
    		var allT=pr.getElementsByTagName(tag);
    	}
    	if (typeof(r)=='undefined'){
    		r=0;
    	}
    	while(a=allT[i++]){
    		
    		if (this.hasClass(a,cn))
    		{
    			allCN[j]=a;
    			j++;
    		}
    	}
    	return allCN;
    }

    я понимаю, что jquery использовать нельзя было, но зачем так всё запутывать...

    roman-kashitsyn, 25 Марта 2012

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

    +156

    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
    function errhandler($errno,$errstr,$errfile,$errline,$errcontext)
    {
    	global $dbw,$dbr,$tid,$pid,$cheat,$http_referer;
    
    	switch ($errno) 
    	{
    		case E_NOTICE:
    		case E_USER_NOTICE:
    			return true;
    			break;
    		case E_WARNING:
    		case E_USER_WARNING:
    			$error = 'Warning';
    			if (strpos($errstr,'Deadlock')!==false)
    			{
    			cust_rollback($errline);
    			}
    			break;
    		case E_ERROR:
    		case E_USER_ERROR:
    			$error = 'Fatal Error';
    			cust_rollback($errline);
    			break;
    		default:
    			return true;
    			break;
    	}
    	switch ($errno) {
    		case E_ERROR:
    		case E_USER_ERROR:
    			exit();
    			break;
    	}
    	return TRUE;
    }
    
    set_error_handler("errhandler");

    Обрабатывай ошибки правильно

    roman-kashitsyn, 24 Марта 2012

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

    +155

    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
    function sql_ommetr($q,&$dbt,$line)
    {
    	$result = mysql_query($q, $dbt);
    	if (!$result)
    	{
    		if (!mysql_ping($dbt))
    		{
    			$dbt = reinit_master_connection();
    			if (!mysql_ping($dbt))
    			{
    				trigger_error(__FILE__.":$line\t".mysql_errno($dbt)."\t".mysql_error($dbt)."\t| 2dieWhen executing: ".preg_replace("/\n+/"," ",$q)."\n",E_USER_WARNING);
    				die();
    			}else{
    				$result = mysql_query($q, $dbt);
    				if (!$result){
    					trigger_error(__FILE__.":$line\t".mysql_errno($dbt)."\t".mysql_error($dbt)."\t| 3dieWhen executing: ".preg_replace("/\n+/"," ",$q)."\n",E_USER_WARNING);
    					die();
    				}
    			}
    		}else{
    			$result = mysql_query($q, $dbt);
    			if (!$result){
    				trigger_error(__FILE__.":$line\t".mysql_errno($dbt)."\t".mysql_error($dbt)."\t| 3dieWhen executing: ".preg_replace("/\n+/"," ",$q)."\n",E_USER_WARNING);
    				die();
    			}
    		}
    	}
    	return $result;
    }

    Странно, я представлял себе Омметр немного иначе...

    roman-kashitsyn, 23 Марта 2012

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    LOG.error(msg);
    Writer writer = new StringWriter();
    e.printStackTrace(new PrintWriter(writer, true));
    LOG.error(writer.toString());

    Паранойя... А вдруг LOG неправильно стэк трейс напечатает при передаче эксепшена вторым параметром.

    roman-kashitsyn, 19 Марта 2012

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

    +70

    1. 1
    FORMAT.format(Calendar.getInstance().getTime())

    Ну в календаре-то явно точнее время.

    roman-kashitsyn, 13 Марта 2012

    Комментарии (12)
  11. Java / Говнокод #9664

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private int getDSR(ViolationCache violation){
        int dsr = 0;
        for (StandardViolationCache standardViolation : violation.getStandardViolations()) {    	
            dsr = Integer.valueOf(standardViolation.getOrigPointAssignment()) > dsr ? Integer.valueOf(standardViolation.getOrigPointAssignment()) : dsr;
        }
        return dsr;
    }

    Изящненько...

    roman-kashitsyn, 13 Марта 2012

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