- 1
- 2
- 3
- 4
- 5
- 6
- 7
if (!formules.isEmpty()) {
for (String tag : formules) {
.....
// и вот здесь шедевр:
}
// а здесь ничего нет
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+70
if (!formules.isEmpty()) {
for (String tag : formules) {
.....
// и вот здесь шедевр:
}
// а здесь ничего нет
}
Не гоняем цикл вхолостую
+71
public class ConfigManager implements IConfigManager<ConfigManager> {
// skipped...
public ConfigManager setName(String name) {
return null;
}
// skipped...
}
POJO для хранения конфигов. setName определен в интерфейсе, при этом где то реализация есть, а где то нету. Видимо где вылетало - там и реализовали...
+67
/**Not related to Cosmos and Space-ships
* */
public class SpaceListener {
...
Просто шутка в комментарии к лисенеру нажатий пробела.
+65
public TransportEntry getTransportEntry(int transportId) {
TransportEntry result = null;
AbstractTransport transport = TransportManager.getInstance(getActivity()).getTransportById(transportId);
if (mTransports == null || transport == null)
return null;
int count = mTransports.size();
for (int i = 0; i < count; i++) {
final TransportEntry entry = mTransports.get(i);
if (entry.getTransportId() == transportId) {
// нашли нужный транспорт. вернем его, если что...
result = entry;
// если он еще и онлайн - то сразу возвращаем - самое подходящее
if (transport.isUserOnline(entry.getData()))
return result;
}
}
return result;
Если что...
+62
@Test(expectedExceptions = UnsupportedOperationException.class)
public void testGetRooms() {
dao.getRooms(null);
}
100% покрытие тестами
+83
try{
name.toLowerCase();
}catch (NullPointerException e) {
report().error("java.lang.NullPointerException", e);
name = "";
}
Перспективная проверка на null
+79
private static String dbl2str(Object obj) {
String value;
String str = obj.toString();
if (str.indexOf('E') != -1) {
//System.out.print("1 ");
String[] qwe = str.split("E");
String newstr = "";
int step = Integer.parseInt(qwe[1]);
for (int ind = 0; ind < qwe[0].length(); ind++) {
if (step > 0) {
if ((ind == (step + 2)) && (ind != qwe[0].length())) {
newstr = newstr + '.';
}
if (str.charAt(ind) != '.') {
newstr = newstr + str.charAt(ind);
}
if ((ind == qwe[0].length() - 1) && (ind <= step)) {
for (int ind2 = 0; ind2 < (step + 1 - ind); ind2++) {
newstr = newstr + "0";
}
}
} else {
if (ind == 0) {
newstr = newstr + "0.";
for (int ind3 = 0; ind3 > step + 1; ind3--) {
newstr = newstr + "0";
}
}
if (str.charAt(ind) != '.') {
newstr = newstr + str.charAt(ind);
}
}
}
value = newstr;
} else {
value = obj.toString();
}
return value;
}
жгем, товарищи! Double to String!
+75
Long value = Long.valueOf(String.valueOf(avpValue));
не специалист по жабе, но пахнет: сначала по всему коду нагородить огородов с Byte/Short/Integer/Long что бы потом в самом важном месте вот так в лоб все в Long конвертить...
+78
if ((act_type == 15) || (act_type == 24)) {
} else {
if (duration != null)
dts.setDuration(dts.getDuration().add(duration));
}
Вся пунктуация сохранена и НИЧЕГО НЕ ВЫРЕЗАНО
Волшебный if
Пруф [[ скрыт ]]
строка 112 - 116
+74
private static class NullReader extends Reader {
public int read(char[] cbuf, int off, int len) {
return 0;
}
public void close() {}
}
Однажды понадобилось работать с модулем, который что-то читает с помощью StreamTokenizer, но вместо реального файла подсовывать ему что-то своё, генерируемое на ходу, и при этом быть в курсе, какое место он сейчас читает. Решил пронаследоваться от StreamTokenizer и переопределить ему nextToken(). Оказалось, что у StreamTokenizer нет пустого конструктора, надо обязательно вызвать super и передать туда какой-нибудь Reader. Попробовал передавать null - оказалось, что в его конструкторе стоит проверка, которая сразу кидает NullPointerException. Блин, зачем ему Reader, если он к этому Reader никогда не обратится, ведь я nextToken переопределил! Пришлось сделать свой Reader-заглушку. Но чтобы пронаследоваться от абстрактного Reader, нужно обязательно определить методы read и close. Вот такая шняга в итоге получилась. Недавно случайно открыл код на этом месте и долго на неё пялился :-)