1. Java / Говнокод #13278

    +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
    static {
    	Unsafe u = null;
    	Exception ex = null;
    	try {
    		Class objectStreamClass = Class.forName("sun.misc.Unsafe");
    		Field unsafeField = objectStreamClass.getDeclaredField("theUnsafe");
    		unsafeField.setAccessible(true);
    		u = (Unsafe) unsafeField.get(null);
    	} catch (ClassNotFoundException e) {
    		ex = e;
    	} catch (SecurityException e) {
    		ex = e;
    	} catch (NoSuchFieldException e) {
    		ex = e;
    	} catch (IllegalArgumentException e) {
    		ex = e;
    	} catch (IllegalAccessException e) {
    		ex = e;
    	}
    	exception = ex;
    	unsafe = u;
    }

    xstream-1.2.2 - древнота, но попахивает...

    kostoprav, 01 Июля 2013

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

    +73

    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
    public boolean isModified() {
    	return
    			!pluginEnabled.isSelected() == getSettings().pluginEnabled
    					|| !pathToContainerTextField.getText().equals(getSettings().pathToProjectContainer)
    					|| !pathToUrlGeneratorTextField.getText().equals(getSettings().pathToUrlGenerator)
    					|| !symfonyContainerTypeProvider.isSelected() == getSettings().symfonyContainerTypeProvider
    					|| !objectRepositoryTypeProvider.isSelected() == getSettings().objectRepositoryTypeProvider
    					|| !objectRepositoryResultTypeProvider.isSelected() == getSettings().objectRepositoryResultTypeProvider
    
    					|| !twigAnnotateRoute.isSelected() == getSettings().twigAnnotateRoute
    					|| !twigAnnotateTemplate.isSelected() == getSettings().twigAnnotateTemplate
    					|| !twigAnnotateAsset.isSelected() == getSettings().twigAnnotateAsset
    					|| !twigAnnotateAssetTags.isSelected() == getSettings().twigAnnotateAssetTags
    
    					|| !phpAnnotateTemplate.isSelected() == getSettings().phpAnnotateTemplate
    					|| !phpAnnotateService.isSelected() == getSettings().phpAnnotateService
    					|| !phpAnnotateRoute.isSelected() == getSettings().phpAnnotateRoute
    					|| !phpAnnotateTemplateAnnotation.isSelected() == getSettings().phpAnnotateTemplateAnnotation
    
    					|| !yamlAnnotateServiceConfig.isSelected() == getSettings().yamlAnnotateServiceConfig
    			;
    }

    Плагин для Intellij Idea...

    kostoprav, 28 Июня 2013

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

    +73

    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
    public static Rectangle2D fit(final Rectangle2D in, final Rectangle2D out) {
    		final Rectangle2D.Double fit = new Rectangle2D.Double();
    		if (in.getWidth() > in.getHeight()) {
    			fit.width = out.getWidth();
    			fit.height = (out.getHeight() * in.getHeight()) / in.getWidth();
    			fit.x = out.getX();
    			fit.y = out.getY() + ((out.getHeight() - fit.height) / 2);
    		} else {
    			fit.width = (out.getWidth() * in.getWidth()) / in.getHeight();
    			fit.height = out.getHeight();
    			fit.x = out.getX() + ((out.getWidth() - fit.width) / 2);
    			fit.y = out.getY();
    		}
    		// if ((in.getWidth() / in.getHeight()) != (fit.width / fit.height)) {
    		// throw new RuntimeException();
    		// }
    		// if (!fit.contains(fit)) {
    		// throw new RuntimeException();
    		// }
    		return fit;
    	}

    #14-19 - инлайн тесты!
    а вы говорите - юнит-тесты...

    Lure Of Chaos, 27 Июня 2013

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

    +75

    1. 1
    2. 2
    3. 3
    if ( path.equals("../../../../../../"+ temp))
    {
        //...

    http://stackoverflow.com/questions/17189265/images-wont-load-from-jar-file

    SSSandman, 19 Июня 2013

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    /**
         * @return the timeout from the URL, in milliseconds
         */
        private static long timeout(Properties props)

    Из драйвера JDBC PostgreSQL.

    Lavir_the_Whiolet, 11 Июня 2013

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

    +63

    1. 1
    //START ADDING CODE HERE TODAY.  !!

    Прямо посреди класса

    myzone, 10 Июня 2013

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

    +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
    public static String generateName(String baseName, int length) {
        if (length < 1) {
            length = Math.abs(length);
        }
        if(length == 0){
            length = 1;
        }
        if (length > 36) {
            length = length % 36;
        }
        return baseName + "_" + UUID.randomUUID().toString().substring(0, length).replaceAll("[-]", "");
    }

    Должна была быть генерация строки заданной общей длины с пятизначным хешем в конце.

    Actine, 06 Июня 2013

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

    +70

    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
    @OnEvent("search")
    	@ReportGritter(title = "message:error", text = "message:database_error")
    	Results search() {
    		final List<Result> results = new ArrayList<Result>();
    		int count = 0;
    		final List<?> search1 = this.bands.search(this.query);
    		final String group1 = HSSearch.GROUP_BANDS;
    		if (!search1.isEmpty()) {
    			results.addAll(this.transform(search1, group1));
    			count += search1.size();
    		}
    		final List<?> search2 = this.albums.search(this.query);
    		final String group2 = HSSearch.GROUP_ALBUMS;
    		if (!search2.isEmpty()) {
    			results.addAll(this.transform(search2, group2));
    			count += search2.size();
    		}
    		final List<?> search3 = this.tracks.search(this.query);
    		final String group3 = HSSearch.GROUP_TRACKS;
    		if (!search3.isEmpty()) {
    			results.addAll(this.transform(search3, group3));
    			count += search3.size();
    		}
    		this.results.setResults(results);
    		this.results.setCount(count);
    		return this.results;
    	}
    
    	private <E> String toTitle(final E item) {
    		if (item instanceof BandEntity) {
    			return ((BandEntity) item).getTitle();
    		}
    		if (item instanceof AlbumEntity) {
    			final AlbumEntity aitem = (AlbumEntity) item;
    			return String.format("%s (%d)", aitem.getTitle(), Integer.valueOf(aitem.getYear()));
    		}
    		if (item instanceof TrackEntity) {
    			return ((TrackEntity) item).getTitle();
    		}
    		return item.toString();
    	}
    
    	private <E> String toUrl(final E item) {
    		if (item instanceof BandEntity) {
    			final BandEntity bitem = (BandEntity) item;
    			return this.links.createPageRenderLinkWithContext(Band.class, bitem.getLetter(), bitem.getAlias())
    					.toAbsoluteURI();
    		}
    		if (item instanceof AlbumEntity) {
    			final AlbumEntity aitem = (AlbumEntity) item;
    			return this.links.createPageRenderLinkWithContext(Album.class, aitem.getBand().getLetter(),
    					aitem.getBand().getAlias(), aitem.getAlias()).toAbsoluteURI();
    		}
    		if (item instanceof TrackEntity) {
    			final TrackEntity titem = (TrackEntity) item;
    			return this.links.createPageRenderLinkWithContext(Album.class, titem.getAlbum().getBand().getLetter(),
    					titem.getAlbum().getBand().getAlias(), titem.getAlbum().getAlias()).toAbsoluteURI();
    		}
    		return this.links.createPageRenderLinkWithContext("").toAbsoluteURI();
    	}
    
    	private <E> List<Result> transform(final List<E> search, final String groupName) {
    		final ArrayList<Result> res = new ArrayList<Result>();
    		if (!search.isEmpty()) {
    			final String group = this.messages.get(groupName);
    			res.add(new Result(group));
    			for (final E item : search) {
    				res.add(new Result(group, this.toTitle(item), this.toUrl(item)));
    			}
    		}
    		return res;
    	}

    DRY in Action.
    мое домашнее творчество.

    Lure Of Chaos, 06 Июня 2013

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (groundsDTO.isChildCome()) {
        ZAGSAffiliation.Grounds.CHILDCONSENT childConsest = grounds.addNewCHILDCONSENT();
        childConsest.setISCHILDCONSENT(groundsDTO.isChildAgreeWithFillation());
        if (!groundsDTO.isChildCome()) {
             tranferConfirmation(childConsest.addNewCONSENTNOTAR(),groundsDTO.getChildAgree());
        }
    }

    А вдруг ребенок все-таки не придет?

    killogramm, 06 Июня 2013

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

    +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
    16. 16
    17. 17
    18. 18
    public int sum(final Type type, final int increment) {
    	switch(type) {
    	case REDOS: 
    		return redos += increment;
    	case ONCE: 
    		return onceRedoneOrders += increment;
    	case TWICE: 
    		return twiceRedoneOrders += increment;
    	case THRICE: 
    		return thriceRedoneOrders += increment;
    	case MORE: 
    		return moreRedoneOrders += increment;
    	default:
    		break;
    	}
    	
    	throw new RuntimeException();
    }

    Осталось в наследство. Даже не знаю, что хотел изобразить предыдущий оратор...

    someone, 06 Июня 2013

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