- 1
- 2
- 3
- 4
- 5
- 6
public MarshalInfo getMarshalInfo(IType type) {
if (type == null) {
return null;
}
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 4
−47
public MarshalInfo getMarshalInfo(IType type) {
if (type == null) {
return null;
}
...
}
И вот такое в куче методов по всему коду. Система начиналась в 2001 году, видимо в то время писали по принципу "В любой непонятной ситуации возвращай null". Так оно и работает - если что-то идет не плану, все падает с NPE, и сука попробуй разберись потом, откуда там неожиданный null прилетел. Самое ужасное, что до сих пор куча разработчиков, многим из которых за 60, продолжают писать в том же духе по сей день.
−41
public Entry(int id, double nearBid, double nearAsk, double traderNearBid, double traderNearAsk, double farBid, double farAsk, double traderFarBid, double traderFarAsk, double spotBid, double spotAsk, double traderSpotBid, double traderSpotAsk, double nearPointsBid, double nearPointsAsk, double traderNearPointsBid, double traderNearPointsAsk, double farPointsBid, double farPointsAsk, double traderFarPointsBid, double traderFarPointsAsk, double swapPointsBid, double swapPointsAsk, double traderSwapPointsBid, double traderSwapPointsAsk, Set<Status> statusesBid, Set<Status> statusesAsk, double amount, double farAmount, double spotAmount, double availableSpotAmountBid, double availableSpotAmountAsk, double maxSpotAmountBid, double maxSpotAmountAsk, double availableFwdAmountBid, double availableFwdAmountAsk, double maxFwdAmountBid, double maxFwdAmountAsk, double availableFarAmountBid, double availableFarAmountAsk, double maxFarAmountBid, double maxFarAmountAsk, double availableAmountBid, double availableAmountAsk, double nearBasisPointSpread, double farBasisPointSpread, String tenor, LocalDate valueDate, String farTenor, LocalDate farValueDate, String fwdRiskBook, long fwdAlerts, int fwdDecimals, double fwdPrecision, double fwdTolerance, boolean spotSideInverted, boolean roundSwap, boolean zeroNpvSwap, boolean farAmountZeroNpvCalculated, double leftCcyNearDiscountFactor, double leftCcyFarDiscountFactor, double rightCcyNearDiscountFactor, double rightCcyFarDiscountFactor, double nearFarmResidualAmountBid, double nearFarmResidualAmountAsk, double nearFarmPointsBid, double nearFarmPointsAsk, double farFarmResidualAmountBid, double farFarmResidualAmountAsk, double farFarmPointsBid, double farFarmPointsAsk, String farmBook, OnshoreCrossRiskDetailsEntry onshoreCrossRiskDetails, double adjustedSwapPoints) {
this(id, nearBid, nearAsk, traderNearBid, traderNearAsk, farBid, farAsk, traderFarBid, traderFarAsk, spotBid, spotAsk, traderSpotBid, traderSpotAsk, nearPointsBid, nearPointsAsk, traderNearPointsBid, traderNearPointsAsk, farPointsBid, farPointsAsk, traderFarPointsBid, traderFarPointsAsk, swapPointsBid, swapPointsAsk, traderSwapPointsBid, traderSwapPointsAsk, statusesBid, statusesAsk, amount, farAmount, spotAmount, availableSpotAmountBid, availableSpotAmountAsk, maxSpotAmountBid, maxSpotAmountAsk, availableFwdAmountBid, availableFwdAmountAsk, maxFwdAmountBid, maxFwdAmountAsk, availableFarAmountBid, availableFarAmountAsk, maxFarAmountBid, maxFarAmountAsk, availableAmountBid, availableAmountAsk, nearBasisPointSpread, farBasisPointSpread, tenor, valueDate, farTenor, farValueDate, fwdRiskBook, fwdAlerts, fwdDecimals, fwdPrecision, fwdTolerance, spotSideInverted, false, roundSwap, zeroNpvSwap, farAmountZeroNpvCalculated, leftCcyNearDiscountFactor, leftCcyFarDiscountFactor, rightCcyNearDiscountFactor, rightCcyFarDiscountFactor, nearFarmResidualAmountBid, nearFarmResidualAmountAsk, nearFarmPointsBid, nearFarmPointsAsk, farFarmResidualAmountBid, farFarmResidualAmountAsk, farFarmPointsBid, farFarmPointsAsk, farmBook, onshoreCrossRiskDetails, adjustedSwapPoints, -1, -1, null);
}
И тут я подумал, а не многовато ли аргументов...
+78
if (optional != null && optional.isPresent()) {
...
+85
private boolean isWrapper(Class<?> candidateWrapperClass) {
return candidateWrapperClass.equals(Byte.class) ? true
: candidateWrapperClass.equals(Boolean.class) ? true
: candidateWrapperClass.equals(Character.class) ? true
: candidateWrapperClass.equals(Short.class) ? true
: candidateWrapperClass
.equals(Integer.class) ? true
: candidateWrapperClass
.equals(Long.class) ? true
: candidateWrapperClass
.equals(Float.class) ? true
: candidateWrapperClass
.equals(Double.class) ? true
: false;
}
Просто метод для проверки, является ли класс оберткой примитива.
Отсюда https://github.com/mtedone/podam/blob/master/src/main/java/uk/co/jemos/podam/api/PodamFactoryImpl.java