igorbor: (Default)
[personal profile] igorbor
Однажды приятель, работающий в Хеврат Хашмаль, прислал мне на работу письмо с заголовком: "Смотри, как в нашей конторе проверяют две переменные на равенство" и кусочком кода на несколько строчек:

if( a > b)
{
/* Do nothing */
}
else if( a < b)
{
/* Do nothing */
}
else
{
блаблабла - тут был написан какой-то реальный код.
}


Я посмеялся в усы и тут же переслал это письмо всем на фирме - только на всякий случай, чтобы не подставлять мужика (кто знает, какие у них там порядки в Хеврат Хашмале), вырезал все его данные и написал только, что вот, мол, этот код - не просто шутка, а кусок живой программы. Пусть, думаю, народ повеселится.

Через три минуты мне пришло ДВА ответа примерно одинакового содержания: "It's not me, it was there before"

Date: 2003-09-04 12:23 pm (UTC)
From: [identity profile] arbat.livejournal.com

I've seen code like this:

if ( commission != 0.0 ) {
price += commission;
}

Date: 2003-09-04 12:48 pm (UTC)
From: [identity profile] vrml.livejournal.com
Насколько я помню есть такой случай - ноль с минусом в знаковом бите, он побитово не равен просто нулю, и только такой конструкцией может сравниваться. Наверно есть и еще варианты когда битовые представления неединственны. Например если тип невстроенный и все операторы перегружены.

Date: 2003-09-04 12:52 pm (UTC)
From: [identity profile] labas.livejournal.com
ну нормально написано, чего
вдруг понадобится срочно что-то сделать для случая a>b
а у них уже все и готово

Date: 2003-09-04 12:55 pm (UTC)
From: [identity profile] abrab.livejournal.com
Смешно :)
Но между нами, девочками, в моих программах такие "заглушки" сплошь и рядом.
Часто работодатель знает, что делать, если a>b, но пока еще совсем не представляет, что делать в других случаях, но на всякий случай нужно поставить "заглушку", потому что через пару дней или недель ему обязательно что-то придумается.

Date: 2003-09-04 02:34 pm (UTC)
From: [identity profile] http://users.livejournal.com/_svetka_/
Тоже из реального кода:
public final static int ETHICAL_VIOLATION_EXCEPTION = 10;
правда прелесть?

Date: 2003-09-04 02:43 pm (UTC)
From: [identity profile] dimrub.livejournal.com
Зря смеетесь. Все правильно написано. На каждый if, должен быть else, а компилятор все равно такие пустые блоки оптимизирует.

Date: 2003-09-04 02:54 pm (UTC)
From: [identity profile] cmm.livejournal.com
ежели иметь дело с плавающей точкой, то так писать вполне даже и разумно.

(дисклямер: я давно не имел дел с плавающей точкой, посему могу и гнать.)

буквально на днях

Date: 2003-09-04 10:34 pm (UTC)
From: [identity profile] mumbra.livejournal.com
я сама над собой потешалась по поводу подобной истории,
у меня было соверешнно дикое и громоздкое условие, при выполнении которого не нужно было ничего делать, а в обратном случае - выводить некий блок на страницу,
в момент написания я была уже настолько заморочена, что противоположное условие в голове у меня уже не выстраивалось, можно конечно было построить его по формальным правилам, но опасаюсь я использовать то, что не помещается в моей голове %)) и я написала это самое - пустой иф и не пустой элз %)))) и тут же кое-кому призналась в содеянном :)) но за общей занятостью, как это обычно бывает, оно живет себе в таком виде до сих пор :)

Date: 2003-09-05 05:01 am (UTC)
From: [identity profile] greenadine.livejournal.com
Ну да, все - результаты безумных copy-paste из других источников. У нас регулярно стоят конструкции
if (!a == false) {
...
}
И никто не решается поправить, потому как "оно же работает!"

Date: 2023-12-18 04:57 am (UTC)
From: [personal profile] vilsha
Уже достаточно времени прошло, и можно открыть страшную тайну. Это я был тот, который работал в Хеврат Хашмаль, и прислал Игорю этот код. (Правда, Игорь его перевел в С, а в оригинале он был на PL/1). Я там поначалу переделывал код других программистов, и много насмотрелся, как не надо делать.
Page generated Dec. 27th, 2025 07:34 pm
Powered by Dreamwidth Studios