- 1
- 2
- 3
- 4
if(url.getProtocol().equals("http") || true)
{
// ...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+70
if(url.getProtocol().equals("http") || true)
{
// ...
}
Индийский код добрался и до Android...
+70
Map<Integer, ArrayList<?>> // filterId : filterParams
{
//
// Фильтр занятости квартир (не вписывается в API, поэтому здесь заведены отдельные методы)
//
// хранит: showReserved, DateFrom, DateTo
private ArrayList<?> reservedFilterParams
public void onDateFilterChanged(Date dateFrom, Date dateTo, boolean showReserved)
{
this.put(QuickFilters.FILTER_RESERVED_ID, reservedFilterParams)
reservedFilterParams = ArrayUtils.getOrCreateArrayListWithElements(
this, QuickFilters.FILTER_RESERVED_ID, new Boolean(showReserved), dateFrom, dateTo )
if (dateFrom == null && dateTo == null)
{
reservedFilterParams.set(0,new Boolean(true))
this.remove(QuickFilters.FILTER_RESERVED_ID)
}
}
public boolean doShowReserved()
{
return reservedFilterParams ? reservedFilterParams.get(0).booleanValue() : true
}
public Date getDateFrom()
{
return reservedFilterParams?.get(1)
}
public Date getDateTo()
{
return reservedFilterParams?.get(2)
}
}
Язык Groovy, стиль - моя переходная форма от Java. Это я сам написал. Вообще мне даже нравится. Есть фильтры для поиска. У каждого фильтра есть только ему ведомые параметры. Приведенный код - это мапка для хранения того, какие пользователь выбрал фильтры и что в них установил.
Есть API который я делаю, состоящий из типовых фильтров. Этот API автоматически юзает мапку через get/put. Но бывает, придумывается какой-то нетиповой фильтр, и его параметры приходится хардкодить в этой мапке. Короче, мне понравилась идея с мапкой, ведь даже если параметры захардкодены, то они всё равно пихаются в мапку. И читаемость для таких случаев навысоте.
+70
/**
* Окно, которое реагирует на нажатие клавиши Esc
* определенным образом (например, окно закрывается).
* Для этого в потомках класса необходимо реализовать метод
* doEscapeKeyAction(), который будет вызываться при нажатии
* клавиши ESC.
*/
public abstract class JEscFrame extends ProfilableFrame {
...
}
+70
public int someGetCountMethod() {
try {
ResultSet rs2 = db.select("call someGetCountMethod('')");
rs2.first();
return rs2.getInt(1);
} catch (Exception ex) {
return 0;
}
}
где-то откапал вот такое
+70
for(int i = 0; i < s.length(); i++)
{
String c = s.substring(i, i + 1);
if("_".equals(c) || " ".equals(c) || "-".equals(c))
{
capitalize = true;
continue;
}
if(c.toUpperCase().equals(c))
{
if(lastDecapitalized && !lastCapital)
capitalize = true;
lastCapital = true;
} else
{
lastCapital = false;
}
if(capitalize)
{
if(p == null || !p.equals("_"))
{
result.append(c.toUpperCase());
capitalize = false;
p = c;
} else
{
result.append(c.toLowerCase());
capitalize = false;
p = c;
}
} else
{
result.append(c.toLowerCase());
lastDecapitalized = true;
p = c;
}
}
Позор Jboss'овцам!
это код из HibernateTools, теперь понятно почему оно такое глючное Г
+69.9
public void ejbPassivate() throws EJBException, RemoteException {
return;
}
Истинный китайский девелопер никогда не доверяет компилятору! Ато если ж в функции тело пустое, мало ли, вдруг она никогда не возвратиться. Какой выход? Написать об ентом явно.
+69.8
vector<int> :: iterator itBegins = array.begin();
vector<int> :: iterator itEnds = array.end();
while(itBegins != itEnds)
{
pVec.pop_back();
it++;
}
Сей артефакт остался в коде ввиду лености переписывать его в 100 файлах сразу после удаления того, ради чего собственно затевался while(!pVec.empty()) ... прямо скажем - отлов ЭТОГО занял немало времени и нервов... тк на первый взгляд оно должно... а что ты видишь в этом коде, %юзернейм% ?
(исправленная версия XD )
+69.6
$s = mysql_query('SELECT * FROM `nazva_stolbca` where `nazva_stolbca` = `$_GET['name']`');
if ($s == '' ) { echo 'такого значения нет'};
Я боюсь :(
+69.5
#include <iostream>
using namespace std;
class MyException
{
public:
MyException(char *msg) { m_msg = msg; }
~MyException(){}
char *GetError(){return m_msg;}
protected:
char *m_msg;
};
int main()
{
int *buffer;
try
{
buffer = new int[255];
if (buffer == NULL)
{
MyException *exception =
new MyException("Memory allocation failed!");
throw exception;
}
else
delete buffer;
}
catch (MyException *exception)
{
char *msg = exception->GetError();
cout << msg << endl;
}
return 0;
}
Книга "Использование Viusal C++" Кейт Грегори. Глава 24 о предотвращении утечек памяти и работе с исключениями.
+69.2
List<Measure> meaList = q.getResultList();
try
{
if (meaList.size() == 0)
{
throw new Exception("Measure not found: "+_wsPrice.getMeasureIso());
}
else
{
p.setMeasure(meaList.get(0));
}
}
finally
{
meaList.clear();
}
А вот ещё порция паранойи от моего коллеги