Страница 1 из 2
"Шедевры" программерской мысли
Добавлено: 12 янв 2007, 19:46
Хыиуду
Тсзать, фольклор. Куски кода, при взгляде на которые слезы наворачиваются. Собираем вместе!
На создание темы вдохновило сообщение Игоря Акопяна вот
здесь:
Программистский шедевр на индусском форуме на тему "как узнать завтрашнюю дату" остался непревзойденным:
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...
Re: "Шедевры" программерской мысли
Добавлено: 12 янв 2007, 19:53
Absurd
Кто-то попытался сэкономить на проверке счетчика, но не знал что раскручивание стека происходит на два порядка медленнее:
Код: Выделить всё
try {
int i = 0;
while (true) {
Object o = arr[i++];
}
} catch (ArrayOutOfBoundsException e) {}
Re: "Шедевры" программерской мысли
Добавлено: 12 янв 2007, 20:10
Absurd
Еще я как-то офигел, когда поставил брейкпоинт на чужой метод: на нем сидел тред-вотчдог, который замерял время работы функции, и если через время 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;
}
}
Re: "Шедевры" программерской мысли
Добавлено: 15 янв 2007, 17:05
Хыиуду
Кусок кода программера-мьянмийца (Мьянма - это бывшая Бирма):
Код: Выделить всё
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.
Это новый подход к последовательным вычислениям!
Re: "Шедевры" программерской мысли
Добавлено: 26 окт 2007, 14:36
Игорь Акопян
ха! мъянмы... индусы.... вот тока что узрел на sources.ru
совет как исключить закрытие основной формы по ESC при закрытии модальной:
ввести глобальный флаг и проверять
Код: Выделить всё
procedure TForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if CLOSED then
CanClose := CLOSED
else
CanClose := CLOSED;
end;
Re: "Шедевры" программерской мысли
Добавлено: 30 окт 2007, 15:34
Хыиуду
Что-то подобное видел недавно:
try:
aaa()
except:
aaa()
Re: "Шедевры" программерской мысли
Добавлено: 02 ноя 2007, 17:07
Oscar
нашел в коде своего проэкта (при помощи
FindBugs):
Код: Выделить всё
if (clusters != null) {
return result;
}
//Add all clusters
for(Cluster cluster : clusters) {
P.S. Этот кусок кода писал не я )) честно! :-D
Re: "Шедевры" программерской мысли
Добавлено: 12 ноя 2007, 12:52
Хыиуду
Нашел в одном из своих проектов:
function have_sex($user);
function get_sex($sex);
а функции всего-то определяли, задан ли в записи БД о пользователе его пол, и преобразовывал чары 'M', 'm', 'F', 'f' в "Мужской" и "Женский" соответственно.
Re: "Шедевры" программерской мысли
Добавлено: 12 ноя 2007, 13:31
somewhere
По-хорошему Get_Sex() должна иметь другой параметр либо содержать рекурентные вызовы )))))))) и по-больше, по-больше...))))
Re: "Шедевры" программерской мысли
Добавлено: 12 ноя 2007, 18:07
Хыиуду
Ага, ага, помню секс на Ассемблере:
PUSH AX
POP AX