-
Наследование в java
Date: 05/08/07
Keywords: no keywords
public abstract class Figure {
protected Point a = null;
protected Point b = null;
private Dot dotA = null;
private Dot dotB = null;
public Figure() {
a = new Point();
b = new Point();
}
public Dot getDotA() {
System.out.println(a); //DEBUG
dotA = new Dot(a.getX(), a.getY(), 25);
return dotA;
}
public Dot getDotB() {
dotB = new Dot(b.getX(), b.getY(), 25);
return dotB;
}
...
}
public class Dot extends Figure {
private int SIZE;
public Dot(double x, double y, int size) {
super();
this.SIZE = size;
}
...
}
//WTF exemple
Dot dot = new Dot(20, 30);
dot.getDotA(); // OK
dot.getDotA().getDotA().getDotA(); // also OK!
PS
Всё лишнее вырезал.
PPS
Может снабжать записи тегами? Хотя бы язык программирования указывать?
Source: http://community.livejournal.com/code_wtf/84953.html
-
Java...
Date: 05/03/07
Keywords: no keywords
Иногда возникают сомнения, как лучше контролировать исполнение веток программы, исключением или условием. Только что увидел в коде вот это:
if (size == 0) {
throw new MyException();
} else {
// do some stuff
}
Похоже, аффтар нашел компромисс :)
Source: http://community.livejournal.com/code_wtf/84633.html
-
О технофобстве.
Date: 05/03/07
Keywords: no keywords
Про технофобство и неграмотность программистов Яндекса и Рамблера.
Не поддавайтесь на их провокации ;).
Source: http://community.livejournal.com/code_wtf/84395.html
-
Зато наукообразно.
Date: 05/02/07
Keywords: no keywords
If(Math.IEEERemainder(row, 2) == 0)
BackColor = Color.White;
else
BackColor = Color.Lavender;
row целочисленный, разумеется.
Source: http://community.livejournal.com/code_wtf/84068.html
-
Весьма оригинальный foreach
Date: 04/30/07
Keywords: no keywords
В коде одного сайта постоянно вижу:
while (list(,$val) = each($arr))
Интересно, эта конструкция чем-то лучше foreach или товарищ просто не знал о его существовании?
Source: http://community.livejournal.com/code_wtf/83720.html
-
полный WTF
Date: 04/30/07
Keywords: html
Заходим на job.ru, выбираем любой радел поиска вакансий, жмем кнопку "поиск" и смотрим source открытой страницы.
Видимо, авторы где-то сглючили и часть кода из исходников пролезла в HTML-комментарии. Если вчитаться, можно узнать много нового.
Всего найдено по запросу: 905
читеры!
via рсдн
Для "непонятливых" выделено жирным.
Source: http://community.livejournal.com/code_wtf/83648.html
-
и еще чуток жабы
Date: 04/30/07
Keywords: no keywords
if(((Article) articles.get(i)).getText().length()<20) out.print(((Article) articles.get(i)).getText());
else out.print(((Article) articles.get(i)).getText().substring(0,17)+"...");
минут двадцать разбирался что это фигня делает...
завтра этому товарищу в зубы дам.
upd. опять заездили, блин. Чтож такие все умные?
не двадцать минут тратил на самом деле (преувеличил со злости). Глаза сломал скобочки разгребать и разбирать что к кому обращается.
Сам алгоритм прост как две копейки.
Source: http://community.livejournal.com/code_wtf/83311.html
-
java
Date: 04/29/07
Keywords: no keywords
Разбираюсь тут в коде, который мой одногрупник написал - у нас один проект на двоих..
int userID = Integer.parseInt( (String) request.getParameter("userID") ) ;
...
Article article = new Article( Integer.parseInt((String)request.getParameter("userID")) );
А он совсем не индус.. И такая фигня не один раз встречалась.
UPD. Выделил жирненьким то, что втф, специально для непонятливых
Source: http://community.livejournal.com/code_wtf/83031.html
-
НЕ код но WTF
Date: 04/27/07
Keywords: no keywords
Баг заведенный менеджером проекта.
Название: страные св-ва анкеты
Описание:
у межпородного нестандартные св-ва породы...
27.04.2007 13:08:34 Кусов Игорь Владимирович
см. аттач
(В аттаче отображение бреда которым заполнялась база для тестирования)
27.04.2007 20:01:00 Акулиничев Алексей Сергеевич
По мотивам задачи Кусова:
Жулитову Антону срочно найти межпородного и тщательно изучить свойства его породы, в частности, сделать их стандартными.
Hedin (20:09:24 27/04/2007)
27.04.2007 20:04:01 Жулитов Антон Александрович
Мужик да ты гонишь!
Source: http://community.livejournal.com/code_wtf/82887.html
-
Дай индусу в руки eval
Date: 04/26/07
Keywords: no keywords
var total = total + parseFloat(eval('document.frm.smth' + x + '.value'));
...
var tmpTotal = eval('parseFloat(document.frm.smth.value)' + action + 'parseFloat(price)');
И так повсеместно.
Ведь есть в этом что-то втфное :)
cross
Source: http://community.livejournal.com/code_wtf/82649.html
-
Разруха не в коде, а в головах
Date: 04/25/07
Keywords: java
1. Имеется JAVA-приложение для мобильных телефонов.
...
mPlayer = Manager.createPlayer("capture://video");
mPlayer.realize();
mVideoControl = (VideoControl)mPlayer.getControl("VideoControl");
...
try {
byte[] raw = mVideoControl.getSnapshot( null );
mImage = Image.createImage(raw, 0, raw.length);
}
catch( Exception e ) { mMidlet.handleException(e); }
2. На некоторых моделях мобильных телефонов getSnapshot() порождает исключение, приводящее к появлению на экране телефона сообщения с текстом типа "getSnapshot() поддерживает только capture://image".
3. На форуме в ответ на сообщение об ошибке разработчики - в начале марта! - написали текст типа "Это известная ошибка, мы над ней работаем".
4. Замена двоичным редактором "video" на "image" в JAR-файле занимает минуту и приводит к желаемому результату.
Source: http://community.livejournal.com/code_wtf/82388.html
-
php
Date: 04/25/07
Keywords: no keywords
детский сад, конечно, но меня умилило:
-
Я так и не понял что этим хотели сказать.
Date: 04/25/07
Keywords: no keywords
if (false) {
center = getPolygonCenter(poly);
}
else {
labelCenterCandidates = getLabelCenterCandidates(poly, min, max, surroundCenter);
// System.out.println("Candidates found: " + labelCenterCandidates.size());
for (int i = 0; i < labelCenterCandidates.size(); i++) {
...
}
for (int i = 0; i < labelCenterCandidates.size(); i++) {
...
}
}
Source: http://community.livejournal.com/code_wtf/81832.html
-
индусы, ля
Date: 04/18/07
Keywords: no keywords
Вот, сегодня увидел.
char letters[26] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
Массив нужен для того, чтобы по нему ходить в цикле.
Source: http://community.livejournal.com/code_wtf/81272.html
-
Да зраствует гластность и свобода публикации.
Date: 04/18/07
Keywords: no keywords
Похоже ктото хотел написать сингтон ...
public class PhotoComment extends GeoUnitComment {
public static String tableName = "user_comment4photo";
public static final ObjectComment instance = new PhotoComment();
public String getTableName() {
return PhotoComment.tableName;
}
public String getObjectTableName() {
return Photo.tableName;
}
public PhotoComment() {}
...
}
Source: http://community.livejournal.com/code_wtf/80972.html
-
хтмэ-эльный втфчег
Date: 04/12/07
Keywords: no keywords
Как верстальщик в 21 веке делает вертикальный отступ по вышине между двумя элеменами? margin-top? margin-bottom? br на худой конец? Нет, он вставляет между ними такое:
Source: http://community.livejournal.com/code_wtf/80820.html
-
Высоты ООП
Date: 04/12/07
Keywords: sql
/**
* @param sql
* @param tpl
* @param id - ==0 это корневой шаблон, >0 - это обновление строки подшаблона, <0 - это добавление строки подшаблона
* @param pid
* @param values
* @param tableNameSuffix
* @return
* @throws Exception
*/
public static long storeTplValues(
SqlDb sql,
UnitTemplate tpl,
long id,
long pid,
Map< Long, Object> values,
String tableNameSuffix) throws SQLException {
Object params[] = new Object[tpl.getNumFieldsNotTemplate() + 1/*for pid*/ + (id!=0?1:0)/*for insert or update*/];
StringBuffer fieldsBuf = new StringBuffer();
StringBuffer valuesBuf = new StringBuffer();
int i = 0;
for(UnitTemplateField f : tpl.fields) {
if(!f.isTemplate()) {
if(i>0) fieldsBuf.append(',');
fieldsBuf.append("field").append(f.id);
if(id >= 0) fieldsBuf.append("=?"); // for update or root-template
valuesBuf.append("?,");
//System.out.println(f.id + ": "+ values.get(f.id).getClass().getName());
params[i++] = f.getValue(values);
}
}
params[i++] = pid;
String tableName = TemplateTable.getTableName(tpl, tableNameSuffix);
if(id < 0) {
// new sub-template item
id = GlobalId.getId(sql);
params[i++] = id;
sql.insert(
"INSERT INTO "+tableName+
" ("+fieldsBuf.toString()+", pid, id)" +
"VALUES("+valuesBuf.toString()+"?,?);",
params
);
return id; // уровни тройной вложенности пока не поддерживаются!
} else
if(id > 0) {
// update sup-template item
params[i++] = id;
sql.update(
"UPDATE "+tableName+" SET "+fieldsBuf.toString()+",pid=? WHERE id=?;",
params);
return id; // уровни тройной вложенности пока не поддерживаются!
} else {
// main-template item
id = pid;
if(0 == sql.update("UPDATE "+tableName+" SET "+fieldsBuf.toString()+" WHERE pid=?;", params)) {
sql.insert(
"INSERT INTO "+tableName+
" ("+fieldsBuf.toString().replaceAll("=\\?", "")+",pid) " +
"VALUES("+valuesBuf.toString()+"?);",
params);
}
}
for(UnitTemplateField f : tpl.fields) {
if(f.isTemplate()) {
Map< Long, Map< Long, Object>> list = (Map< Long, Map< Long, Object>>)values.get(f.id);
if(list == null) continue;
Vector>> listCopy = new Vector< Map.Entry< Long, Map< Long, Object>>>();
listCopy.addAll(list.entrySet());
// имя таблицы подшаблона
String subTableName = TemplateTable.getTableNameSuffix(f.id, tableNameSuffix);
// подшаблон
UnitTemplate subTpl = UnitTemplate.getTemplate(Long.parseLong(f.defValue));
for(Map.Entry> e : listCopy) {
if(e.getValue() == null) {
// строку подшаблона удалили
sql.update("DELETE FROM " + TemplateTable.getTableName(subTpl, subTableName) + " WHERE id=?", e.getKey());
continue;
}
long key = storeTplValues(
sql,
subTpl,
e.getKey(),
id,
e.getValue(),
subTableName
);
if(e.getKey() < 0) {
list.put(key, e.getValue());
list.remove(e.getKey());
}
}
}
}
return id;
}
Если кто не понимает "где WTF" ответьте на вопрос почему
ERROR: column "field21053265" of relation "place21053089" does not exist
Source: http://community.livejournal.com/code_wtf/80468.html
-
Переливаем из пустого в порожнее забавно.
Date: 04/11/07
Keywords: no keywords
diamondPlaceEntity.setPlace(extractPlace(mainNode, diamondPlaceEntity.getPlace()));
private PlaceEntity extractPlace(Node mainNode, PlaceEntity ent) throws Exception {
NodeList properties = mainNode.getChildNodes();
for (int i = 0; i < properties.getLength(); i++) {
Node node = properties.item(i);
String nodeId = node.getAttributes().getNamedItem("id").getNodeValue();
String value = node.getTextContent();
if (nodeId.equals("geoUnitId")) {
ent.setGeoUnitId(NumberUtils.toLong(value));
} else if (nodeId.equals("geoUnitTitle")) {
ent.setGeoUnitName(value);
} else if (nodeId.equals("about")) {
ent.setFieldAbout(value);
} else if (nodeId.equals("startDate")) {
ent.setStartDate(core.Utils.parseDate(value));
} else if (nodeId.equals("stopDate")) {
ent.setStopDate(core.Utils.parseDate(value));
}
}
return ent;
}
Source: http://community.livejournal.com/code_wtf/80150.html
-
Новый подход к сериализации
Date: 04/09/07
Keywords: no keywords
Распределенное приложение. Есть куча dummy структур (без указателей,
то есть жесткая агрегация) типа
struct DummyStruct {
int param1;
char param2;
char param3[40];
int param4;
};
В распределенном приложении для пересылки по сокету надо все это
сереализовать. Народные умельцы делают так:
char* socketBuffer;
DummyStruct* dsp;
......
memcpy(socketBuffer, dsp, sizeof(DummyStruct)); // Сериализация!!!
Как выполняется десереализация, думаю, понятно :)
По счастливой случайности hardware на всех нодах одинаковый, компилятор
везде используется один и тот же. И поэтому все работает.
Source: http://community.livejournal.com/code_wtf/79846.html
-
Внушает, да
Date: 04/09/07
Keywords: no keywords
// 08/03/2006 40983 - Quick Action to create a child record errors: The system cannot find the file specified.
if( string.Compare(ex.Message, string.Empty, true) == 0)
{
...
}
Source: http://community.livejournal.com/code_wtf/79484.html