"Шедевры" программерской мысли
Модератор: Duncon
Тсзать, фольклор. Куски кода, при взгляде на которые слезы наворачиваются. Собираем вместе!
На создание темы вдохновило сообщение Игоря Акопяна вот здесь:
Программистский шедевр на индусском форуме на тему "как узнать завтрашнюю дату" остался непревзойденным:
void get_tomorrow_date( struct timeval *date )
(
sleep( 86400 ); // 60 * 60 * 24
gettimeofday( date, 0 );
)
А вот еще один: человеку нужно было узнать, содержит ли булевская переменная b значение TRUE. Как бы вы это сделали? if b then ... . На худой конец if b=TRUE then... . Угадайте, что сделал этот деятель?
if length(str(b))<5 then...
На создание темы вдохновило сообщение Игоря Акопяна вот здесь:
Программистский шедевр на индусском форуме на тему "как узнать завтрашнюю дату" остался непревзойденным:
void get_tomorrow_date( struct timeval *date )
(
sleep( 86400 ); // 60 * 60 * 24
gettimeofday( date, 0 );
)
А вот еще один: человеку нужно было узнать, содержит ли булевская переменная b значение TRUE. Как бы вы это сделали? if b then ... . На худой конец if b=TRUE then... . Угадайте, что сделал этот деятель?
if length(str(b))<5 then...
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Кто-то попытался сэкономить на проверке счетчика, но не знал что раскручивание стека происходит на два порядка медленнее:
Код: Выделить всё
try {
int i = 0;
while (true) {
Object o = arr[i++];
}
} catch (ArrayOutOfBoundsException e) {}
2B OR NOT(2B) = FF
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Еще я как-то офигел, когда поставил брейкпоинт на чужой метод: на нем сидел тред-вотчдог, который замерял время работы функции, и если через время X из функции не был совершен выход, то этот метод запускался снова в контексте другого треда. Я изменил идентификаторы в оригинальном коде с хрен знает какого языка на на английский.
типа так:
типа так:
Код: Выделить всё
void superPupelMegaRobustMethod() {
Thread watchdog = new WatchdogThread().start();
...
watchdog.stop();
}
..
void run() { // watchdog loop
boolean timeElapsed = false;
while(true) {
if (timeElapsed) () {
new Thread() {
....
superPupelMegaRobustMethod();
.....
}.start();
}
Thread.sleep(1000);
timeElapsed = true;
}
}
2B OR NOT(2B) = FF
Кусок кода программера-мьянмийца (Мьянма - это бывшая Бирма):
Это новый подход к последовательным вычислениям!
Код: Выделить всё
procedure a1;
....
procedure a2;
....
procedure a3;
....
var i:byte;
begin
....
for i:=1 to 3 do
begin
if i=1 then a1;
if i=2 then a2;
if i=3 then a3;
end;
end.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
ха! мъянмы... индусы.... вот тока что узрел на sources.ru
совет как исключить закрытие основной формы по ESC при закрытии модальной:
ввести глобальный флаг и проверять
совет как исключить закрытие основной формы по ESC при закрытии модальной:
ввести глобальный флаг и проверять
Код: Выделить всё
procedure TForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if CLOSED then
CanClose := CLOSED
else
CanClose := CLOSED;
end;

Что-то подобное видел недавно:
try:
aaa()
except:
aaa()
try:
aaa()
except:
aaa()
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
нашел в коде своего проэкта (при помощи FindBugs):
P.S. Этот кусок кода писал не я )) честно! :-D
Код: Выделить всё
if (clusters != null) {
return result;
}
//Add all clusters
for(Cluster cluster : clusters) {
Нашел в одном из своих проектов:
function have_sex($user);
function get_sex($sex);
а функции всего-то определяли, задан ли в записи БД о пользователе его пол, и преобразовывал чары 'M', 'm', 'F', 'f' в "Мужской" и "Женский" соответственно.
function have_sex($user);
function get_sex($sex);
а функции всего-то определяли, задан ли в записи БД о пользователе его пол, и преобразовывал чары 'M', 'm', 'F', 'f' в "Мужской" и "Женский" соответственно.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
По-хорошему Get_Sex() должна иметь другой параметр либо содержать рекурентные вызовы )))))))) и по-больше, по-больше...))))
It's a long way to the top if you wanna rock'n'roll
Ага, ага, помню секс на Ассемблере:
PUSH AX
POP AX
PUSH AX
POP AX
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.