- "//if you want to refactor: please, attend!";
- "//todo: BUILT or NOT_BUILT - that is a question...";
- "//TODO:Temporary hack" - висит уже больше года;
- "//TODO or not TODO: implement this as OSGi service...";
- "//TODO: Зачем увеличивать диффузию слоя данных в слой представления ?";
- "//TODO: "одноногий компонент".";
- "// FIXME Это нормально что переформирование ведомости для каждой группы проходит в свой транзакции с одной стороны в этом нет ничего плохого, но как-то не по принятым правилам :)";
- "//TODO & FIXME this code is buggy. Should be a bridge between MetaClasses & CoreClasses. Don't say I didn't warn you! ;)";
- "// FIXME! Теоретически запрос может вернуть более чем один объект в результате чего произойдет исключение. В общем не понятна логика когда будет возвращено более одного объекта";
- "//Исчадье копипаста".
четверг, 11 июня 2009 г.
Подборка забавных комментариев
Подборка смешных комментов из исходников:
вторник, 9 июня 2009 г.
Баг Java компилятора
Удивительные вещи. На работе случайно написал код, который вызывает ошибку компилятора java. Этот пример можно проиллюстрировать таким вот кодом, который компилится при помощи Eclipse и не компилится при помощи javac:
javac выдает следующую ошибку:
Если заменить "return f1()" на "return this.<U>f1()", то javac проглатывает. Этот баг также известен здесь http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954. И судя по комментам не исправлен в 1.6.13 и исправлен в 1.7. Только я вот одного не понимаю, как же оно в Eclipse компилится...
public class X
{
<T extends X> T f1() throws Exception
{
return null;
}
<U extends X> U f2() throws Exception
{
return f1();
}
}
javac выдает следующую ошибку:
X.java:6: type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T
with upper bounds U,X
return f1();
^
Если заменить "return f1()" на "return this.<U>f1()", то javac проглатывает. Этот баг также известен здесь http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954. И судя по комментам не исправлен в 1.6.13 и исправлен в 1.7. Только я вот одного не понимаю, как же оно в Eclipse компилится...
воскресенье, 7 июня 2009 г.
MS SQL "Немедленно"... но что немедленно..?
пятница, 5 июня 2009 г.
Метки в Java (Java Labels)
Метки в Java могут использоваться для выхода из вложенных циклов. Это по сути GOTO в Java. В данном случае не нужно создавать дополнительных "индикаторных" переменных и тем самым усложнять код. Стандартный пример в данном случае:
Также одним из полезных применений меток будет переход на следующую итерацию внешнего цикла:
Прикол в тему меток. Скомпилируется ли данный код?
int i, j = 0;
label: for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (i == 5 && j == 5)
{
break label;
}
}
}
System.out.println(i + " " + j);
Также одним из полезных применений меток будет переход на следующую итерацию внешнего цикла:
label: for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if(i == 5)
continue label;
}
System.out.println(i);
}
Прикол в тему меток. Скомпилируется ли данный код?
public static void main(String args[])
{
http://dr-magic.blogspot.com/
System.out.println("Hello World!");
}
четверг, 4 июня 2009 г.
Опрос: лучшая книга по Java
Мне вдруг стало очень интересно услышать, какую же книгу по Java вы считаете самой лучшей и интересной. А также вообще какие книги по данной теме вы читали. Можете ли что-то посоветовать?