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

    +5

    1. 1
    2. 2
    int lastletter = MathUtils.random(0, 32);
            letter = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ".substring(lastletter,lastletter+1);

    всё просто и наглядно.

    WaterSmith, 15 Июня 2016

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

    +1

    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
    // can only do five hundred at a time. can't find documentation
        // for this number, but if I do more than that I get an error
        // message
    	for (five_hundred <- pageranks.grouped(500))
    	{
    	  try
    	  {
    	    upload(five_hundred)
    	  }
    	  catch
    	  {
    	    // the datastore is not entirely reliable. for less than 1% of the
    	    // calls it seems to fail randomly. which is a bit annoying if
    	    // you're uploading a lot of data and don't want to stop when half of
    	    // it is already stored
    	    case ex : Throwable =>
    	    {
    	      try
    	      {
    	        ex.printStackTrace()
    	        // try a second time
    	        upload(five_hundred)
    	      }
    	      catch
    	      {
    	        // don't try a third time. just continue
    	        case ex : Throwable => ex.printStackTrace()
    	      }
    	    }
    	  }
    	}

    Наткнулся на пост, в котором некий Ph. D рекламировал scala в качестве замены питону

    Fike, 09 Июня 2016

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

    +5

    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
    // Если игрок временный то не даём изменять лимит
    
    public void updatePlayerLimits(Long userId, int limitAmount) {
            Player player = userComponent.getPlayer(userId);
            if (player == null) {
                throw new RuntimeException("Error on find user for updating user deposit limits, userId = " + userId);
            }
    
            if (player.isTemporary()) {
            	throw new RuntimeException("saveLimit-newAmount-tempPlayer-message");
            }
           player.setLimit(limitAmount)
    }
    
    // И где-то в контроллере админки
    
    public void doSubmit() {
    ...
    	try {
    		getPlayerLimitComponent().updatePlayerLimits(getPlayerId(), 10);
    	}catch(RuntimeException e){
    		if(!e.getMessage().equals("saveLimit-newAmount-tempPlayer-message"))
    			throw e;
    	}
    }

    Просто молча не даём админам изменять лимиты игроку если он временный

    stokito, 03 Июня 2016

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

    +11

    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
    XmlPullParser xpp = ...
    
    xpp.nextTag();
    
    switch (xpp.getName()) {
        case "airport":
            if (xpp.getName().equals("airport")) {
                parseAirport(xpp, place);
            }
        case "border":
            if (xpp.getName().equals("border")) {
                parsePlaceBorder(xpp, place);
            }
        case "trainStation":
            if (xpp.getName().equals("trainStation")) {
                parseTrainStation(xpp, place);
            }
        default:
            break;
    }

    "Блин, че-то свитч не работает, что за хрень, сделаю-ка я дополнительную проверку внутри для надежности"

    moonson, 02 Июня 2016

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

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Maven
    
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.0.0.GA</version>
        <classifier>sources</classifier>
        <scope>provided</scope>
    </dependency>

    Кто-то изобретательный прицепил исходники библиотеки к проекту таким способом, чтобы переходить к ним при разработке.

    morph, 02 Июня 2016

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

    +923

    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 class AnyNotNull<T> {
    
        public T get(T... args) {
            for(T t : args) {
                if (t != null)
                    return t;
            }
            return null;
        }
    
        public T getOrThrow(T... args) {
            T t = get(args);
            if(t == null)
                throw new NullPointerException("AnyNotNull. everything is null");
            return t;
        }
    
    }

    класс утилита

    _a_o_O, 02 Августа 2015

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

    +79

    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
    //говнокод из ЮАР)
        public static boolean isValid(Object object){
            if(object == null){
                return false;
            }
            try{
                List l = (List)object;
                return !l.isEmpty();
            }
            catch (ClassCastException ex){
                String string = object.toString();
                return !(("").equals(string.trim()));
            }
        }

    krokozyabr, 24 Июля 2015

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

    +86

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private void Initialize() {
            try {
                saveCachPath = Files.createTempFile("temp", "CachingLib");
            } catch (IOException e) {
                logger.error("Can't create temp file", e);
            } finally {
                logger.debug("temp file created = " + saveCachPath.toString());
            }
        }

    SkiFF, 16 Июля 2015

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

    +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
    List<Integer> positionList = new ArrayList<Integer>(positions.keySet());
    Collections.sort(positionList, new Comparator<Integer>() {
        @Override
        public int compare(Integer lhs, Integer rhs) {
            if (lhs > rhs) {
                return 1;
            } else if (lhs < rhs) {
                return -1;
            }
            return 0;
        }
    });

    Видать разработчику за кол-во написанных строк платили...

    tony777, 13 Июля 2015

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

    +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
    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
    totOwed1 = BigDecimalUtils
    				.subtract(
    						BigDecimalUtils.subtract(
    								BigDecimalUtils.subtract(
    										BigDecimalUtils.subtract(
    												BigDecimalUtils.subtract(
    														BigDecimalUtils.subtract(
    																BigDecimalUtils
    																		.subtract(
    																				BigDecimalUtils
    																						.subtract(
    																								BigDecimalUtils
    																										.subtract(
    																												BigDecimalUtils
    																														.subtract(
    																																BigDecimalUtils
    																																		.subtract(
    																																				BigDecimalUtils
    																																						.subtract(
    																																								BigDecimalUtils
    																																										.subtract(
    																																												BigDecimalUtils
    																																														.subtract(
    																																																BigDecimalUtils
    																																																		.subtract(
    																																																				BigDecimalUtils
    																																																						.subtract(
    																																																								BigDecimalUtils
    																																																										.subtract(
    																																																												BigDecimalUtils
    																																																														.subtract(
    																																																																BigDecimalUtils
    																																																																		.subtract(
    																																																																				BigDecimalUtils
    																																																																						.subtract(
    																																																																								hMoTotalPayAmt,
    																																																																								hClmPaperChrgAmt),
    																																																																				hRestitutionAmt),
    																																																																hRestQaAmt),
    																																																												hRestNmAmt),
    																																																								hOverPaymentAmt),
    																																																				hLevyAmt),
    																																																hSupportOrdAmt),
    																																												hBackUpWithhdAmt),
    																																								hEyefinDebitAmt),
    																																				hPrePaymentAmt),
    																																hMoDebitsVsplab),
    																												hMoDebitsPlexus),
    																								hMoDebitsCollab),
    																				hDebitsLegends),
    																hDebitsUltra),
    														hDebitsCapitol),
    												hDebitsSandiego),
    										hDebitsTampabay), hDebitsStcloud),
    						hMoDebitsAltair);

    kostoprav, 09 Июля 2015

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