for ($i=0; $j<10; $k++)
{ …
Басня Крылова в современной обработке на PHP приобретает свой неповторимый шарм. Да только воз и ныне там…
Всего историй: 896
for ($i=0; $j<10; $k++)
{ …
Басня Крылова в современной обработке на PHP приобретает свой неповторимый шарм. Да только воз и ныне там…
Читаю продукт жизнедеятельности некоего французского программера, объевшегося обкурившихся лягушек. Натыкаюсь на такую строку:
Method takes the string and string to split. And split the string at string to split, also add space at the end of the string if string ends with string to split.
А вам слабо?
На сборах по проге был контест на тему «Сортировка кучей». Переворачиваю листик с условием. В глаза врезается крупная надпись:
ХИПУЙ!
Сначала стало страшно, затем смешно. Так весёлые преподы назвали программу, выполняющую операции с
Писал я
Ну,
— Это заразно!
Попросили написать для одного двоечника программу, которая складывает два uint64_t и результат сохраняет в виде 128-битного числа, которое надо реализовать как класс. Поняв сразу, что парень задолбает, если работать напрямую с ним, я решил общаться через знакомого, который по несчастному стечению обстоятельств оказался его одногруппником.
Первый раз задание дано было в виде «реализовать класс 128-битного числа и операции сложения/вычитания», что и было сделано. Через
Двоечник: очень сложная программа
Одногруппник: Хм, ну-ка гляну…
Одногруппник: Ну, ХЗ. Там комментариев больше, чем кода.
Одногруппник: Если бы я писал, то написал бы примерно то же самое.
Двоечник: там комментарии не на моём языке(
Двоечник: я их не понимаю
Сначала я честно подумал, что конвертировать файл из UTF-8 в CP1251 было лишним, но на вопрос о кодировке было сказано, что у двоечника винда, и дело не в кодировке, а в прокладке между клавиатурой и стулом.
Что этот парень забыл в одном из лучших технических вузов Питера, да ещё и курсе на третьем-четвёртом, я до сих пор не понимаю.
Из объявления-вакансии: «…have a permanent dull time position available for a Developer with Python experience…»
В славном городе Мельбурне сложная система оплаты проезда на общественном транспорте. Можно купить билет на два часа, на день, проездные на неделю, месяц и год. Всё это поделено на зоны (центр — зона 1, вокруг — зона 2). Для полного счастья — ещё и скидка в выходные.
Недавно появились универсальные карточки, счёт которых можно пополнить и не заботиться о разных типах билетов (кроме проездных): система автоматически спишет нужную сумму по самому выгодному тарифу. Причём она очень старается пассажира не обидеть: если утром списали «два часа», вечером пересчитают на «день» и снимут только разницу в стоимости.
А теперь немного цифр: несколько месяцев назад билет на два часа в зоне 1 стоил 2,94 доллара, а билет выходного дня (в любой зоне) — ровно 3. Если же купить проездной в зону 1 и проехать в зону 2, умная система засчитывала 2,94 и списывала только 6 центов.
А потом стоимость билета на два часа подняли до 3,02 долларов, и система начала исправно начислять всем пассажирам в таких случаях по 2 цента.
Однажды не укладывался я по срокам сдачи интернет-магазина,
Снился мне сон, как я смотрю на исходники, а одна строчка выделена красным:
MSSQL.Query("DELETE FROM Items WHERE Name LIKE '%" + Request. Cookies["Name"].Value + "%'");
Просыпаюсь и думаю: как? Как можно было так опрометчиво засунуть переменную из куков в SQL-запрос?! Бегу к компу и вижу строчку именно в этом виде.
Быстренько всё поправил, сделал по уму и спокойно пошёл дебажить во сне (или дебажить сны?) дальше.
Добавлю и я свои пять копеек в копилку интересных комментариев.
/*
«Итерация свойственна человеку, рекурсия божественна». Л. Питер Дойч
Видно, у бога стек длинный. А мы останемся людьми.
*/
for( int i = 0; i < depth; i++ ) {
…
}
Был я (да и сейчас осталось немного) в студенческие годы большим раздолбаем. Во время учёбы было у меня два увлечения: получать автоматы по всем дисциплинам, связанным с компами, и прогуливать как можно больше пар. Не знаю даже зачем, ибо половину прогулянного времени я проводил в университетской библиотеке.
На третьем курсе нам решили ещё раз преподать Паскаль, в этот раз по соусом высшей математики. Дескать, реализация известных математических алгоритмов в «великой» среде, которая уже тогда успела устареть. В общем, это всё надоело сразу после начала вводной лекции, и интересовало меня только одно: как получить автомат, чтобы не спалиться на экзамене? Препод, классный мужик, чуть ли не сразу объявил:
— Кто хочет получить автомат, найдите себе напарника и подойдите ко мне после пары. У меня есть специальное задание.
Само задание обсуждать нет смысла, да и не помню я его, а вот к «оформлению» были строгие и конкретные требования:
1) Программа должна быть выполнена в виде объявления функции с требуемым алгоритмом и примером вызова этой функции.
2) Принести её надо на двух трёхдюймовках.
3) Сразу сдать распечатку всего кода.
4) Время сдачи строго регламентировано. Опоздавшим хоть на день в автомате будет отказано.
5) Текст программы должен быть читабелен (никаких «в одну строчку») и прокомментирован.
6) Оно должно работать.
Конечно, я просрал все разумные сроки и кодил за неделю до сдачи. Конечно, я ни фига не разобрался в алгоритме и просил тетрадку у однокурсницы. Конечно, оно долго не хотело работать, и я начал понимать смысл слова «дебаггинг». Но в час «Ч» я имел в портфеле две дискетки и распечатку.
Когда я пришёл к аудитории, где была назначена выдача автоматов, я удивился первый раз. Число команд уменьшилось вдвое. Половина либо не успела (ещё большие раздолбаи, чем я?), либо не справилась с переводом того, что они писали на лекциях, в принимаемую компилятором форму.
В тот день из вуза я выходил в шоке. Мы с напарником были единственными, выполнившими все условия. На 100 человек было разобрано около 30 заданий, сделано меньше десяти, и всего одно — как сказано, а не как захотелось.
Студенты, прежде чем ругать лишние правила, попробуйте сделать, как написано в ТЗ. Заказчик будет доволен, а навык сильно пригодится вам в жизни.