Имя пользователя:

Пароль:


Список форумов ПРАКТИЧЕСКИЕ ВОПРОСЫ Работа Программирование и IT Просмотров: 47259

Программисты смеются


Давим клаву за бабло
  #1
Сообщение 29 Apr 2013, 06:51
Ursego Аватара пользователя
СОЗДАТЕЛЬ ТЕМЫ
Canada, Ontario
Город: Toronto
Стаж: 11 лет 6 месяцев 26 дней
Постов: 10707
Лайкнули: 3448 раз
Карма: 33%
СССР: Днепропетровск
Пол: М
Лучше обращаться на: ты
Заход: 20 Nov 2023, 18:00

Наверно, в работе каждого программера были случаи, когда его нипадецки улыбало, хотя если откровенно, то иногда впору было рыдать... Предлагаю делиться найденным здесь. Заранее прошу прощение у тех, кто не в теме - это как раз тот случай, когда "ты не рыбак - тебе не понять". Итак, начну с себя.



Нашёл в аппликации класс, именуемый... Генсек! У Леонида Ильича явно есть повод для ревности! Правда, это всего-лишь сокращение от general security...



Наткнулся на классную фразу в хелпе среды программирования, на которой работаю:

A ClassDefinition object is a PowerBuilder object that provides information about the class definition of a PowerBuilder object.

Чисто математически - абсолютно верно, но звучит как "шёл Шломо по шоссе и шуршал шуармой".



В программе, которую я сейчас пишу, есть поля ввода роста людей (в сантиметрах, а также футах и дюймах). Спрашиваю бизнес-аналиста надо ли проверять или пользователь не ввёл по ошибке слишком большое значение:

Do we need to display an error message if user enters too big value into the height fields? If do, what is the maximum height allowed?

Вот его ответ:

The business has not specified any limit. The driver mainframe system defines the height as "XYY" where X is feet and YY are inches, so 9 feet 11 inches (or 302 centimetres).

Наверно, в рассказах о снежном человеке таки что-то есть... :_yikes_:



Меня страшно злит когда натыкаюсь на подобное присвоене значения булевской переменной (может, эти писаки получали зарплату в зависимости от числа написанных строк кода?):

if ll_row > 0 then
    lb_found = true
else
    lb_found = false
end if

вместо элементарного

lb_found = (ll_row > 0)

И я понял как отомщу! Я буду писАть вот так - пускай другие недоумевают:

if ll_row > 0 then
    lb_found = (false or not false)
else
    lb_found = (true and not true)
end if

А вы говорите - Дональд Кнут, Дональд Кнут!



Короче, делаю репорт, в котором некая надпись высвечивается только если заказчик в США. Тестирую - не работает ни фига! Проверяю экспрешен, регулирующий видимость лейбла - всё в порядке, да и нечему быть не в порядке в таком простом экспрешене... Причём, если заказчик в Канаде, то всё ок (текст не высвечивается), а если в Штатах (выбрал одного случайного из Майями) - то-же самое, хотя должно высвечиваться! Проверил базу данных - никакого подвоха! Может, нечистая сила вселилась в систему? Потом смотрю - ах ты ж чёрт, это Майями - малюсенький хутор в Манитобе...



Блин, ну о чём думали деволопёры, придумавшие для метода одного из классов библиотеки Cocoa название viewDidLoad? Каждый раз, когда натыкаюсь, последние две буквы проходят мимо сознания, которое воспринимает исключительно viewDidlo... :oops:



Смотрю на выпадающий список в аппликации. Первое значение Dec - окей, декабрь. Второе - Oct - странно, октябрь почему-то следует за декабрём... Следующее значение - Hex - заставляет задуматься: а не выйти ли на улицу минут на десять подышать воздухом?



Как известно, в оракловском SQL-е список значений для IN не может превышать тыщу, иначе выскочит ошибка "ORA-01795: Maximum number of expressions in a list is 1000". А я сейчас как раз пишу функцию на стороне клиента (на PowerBuilder-е), которая будет строить этот самый IN clause динамицки (не будем обсуждать насколько приемлем сам такой подход - меня заставили!) и заранее известно, что к-во элементов может превышать тыщу (функция будет универсальная, для фреймворка, а не для конкретного случая). Ну, мне стало интересно какие в интернете есть решения кроме тупого, сразу приходящего на ум разделения на несколько предложений IN, соединённых OR-ами. Ничего интересного не нашёл (вариант с temporary table не подходит из-за архитектуры системы), но решение, предложенное на одном из сайтов, потрясло своей простотой и, так сказать, новизной подхода - мой зашоренный мозг никогда бы до такого не догадался. Итак, зайдя на http://ora-01795.ora-code.com/ я с изумлением прочитал решение проблемы:

Action: Remove some of the expressions from the list.

То есть если число элементов превышает тыщу, надо просто убрать некоторые из них, и - о, чудо! - их станет меньше тыщи, что заставит коварный эррор ORA-01795 усмирить гнев и вернуться в свою засаду для поджидания другой жертвы. И ведь главное - чисто формально это решение работает, так что возразить нечего!



Копаюсь в чужом баге и пытаюсь понять откуда у него ноги растут. Хотя откуда растут ноги мы все прекрасно знаем. И тут мой измученный нарзаном мозг посещает мысль: If you cannot fix a bug - fix с ним!



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



Сидим на работе с сотрудницей (из наших) и тестируем кое-какую функциональность. Сотрудница, орудуя мышкой в аппликации, изрекает:
- Нет, этот price plan не подходит, он пиздатый...
Я чуть не падаю со стула:
- Какой-какой?
- Ну, смотри - он же пиздатый!
Смотрю на price plan:
- Да нет, вроде совершенно не пиздатый!
Тут уж она чуть не падает со стула. Оказалось, что она говорила "без даты"... Проверить, что-ли, слух?

  #2     Программисты смеются
Сообщение 29 Apr 2013, 12:50
Ireland
Город: Bonny Portmore
Стаж: 11 лет 6 месяцев 5 дней
Постов: 2545
Лайкнули: 41 раз
Карма: 2%
Пол: М
Заход: 06 Oct 2013, 16:43
:_good_post_:
Ой, да не дурите голову!

  #3     Программисты смеются
Сообщение 10 май 2013, 13:55
Ursego Аватара пользователя
СОЗДАТЕЛЬ ТЕМЫ
Canada, Ontario
Город: Toronto
Стаж: 11 лет 6 месяцев 26 дней
Постов: 10707
Лайкнули: 3448 раз
Карма: 33%
СССР: Днепропетровск
Пол: М
Лучше обращаться на: ты
Заход: 20 Nov 2023, 18:00

Интересно, как в аппликации для рабанута называется функция, позволяющая получить развод (гет)? Неужели getGet()? :_cheshet_repu_:

  #4     Программисты смеются
Сообщение 26 Jun 2013, 14:04
Ursego Аватара пользователя
СОЗДАТЕЛЬ ТЕМЫ
Canada, Ontario
Город: Toronto
Стаж: 11 лет 6 месяцев 26 дней
Постов: 10707
Лайкнули: 3448 раз
Карма: 33%
СССР: Днепропетровск
Пол: М
Лучше обращаться на: ты
Заход: 20 Nov 2023, 18:00


  #5     Программисты смеются
Сообщение 09 Jul 2013, 19:49
Canada, New Brunswick
Город: Moncton, NB
Стаж: 11 лет 2 месяца 30 дней
Постов: 1728
Лайкнули: 741 раз
Карма: 43%
Пол: М
Заход: 11 Mar 2024, 21:30
Говорят, реально было: программа-переводчик перевела "йац'у маим хаим" (фразу из хасидской песни), как "отошли воды у Хаима".

  #6     Программисты смеются
Сообщение 10 Jul 2013, 05:35
Israel
Стаж: 11 лет 3 месяца 6 дней
Постов: 225
Лайкнули: 60 раз
Карма: 27%
СССР: Днепропетровск
Пол: М
Заход: 05 Nov 2016, 03:43
Best comments in code:



#define TRUE FALSE //Happy debugging suckers





//

// Dear maintainer:

//

// Once you are done trying to 'optimize' this routine,

// and have realized what a terrible mistake that was,

// please increment the following counter as a warning

// to the next guy:

//

// total_hours_wasted_here = 42

//





// I'm sorry.





// I am not sure if we need this, but too scared to delete.



// I am not responsible of this code.

// They made me write it, against my will.

http://stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered

  #7     Программисты смеются
Сообщение 10 Jul 2013, 07:55
Canada, Ontario
Город: Toronto
Стаж: 11 лет 1 месяц 10 дней
Постов: 4502
Лайкнули: 1104 раз
Карма: 25%
СССР: Кишлак "Кызыл пиез"
Пол: М
Лучше обращаться на: ты
Заход: 28 Feb 2023, 08:15

Комментарии суровых Виннипегских программистов:

F* APRIL THE TWENTY SIX - 1996 (SNOWED 20 CENTIMETERS LAST *
F* NIGHT!) *
Корпоративное и персональное налогообложение. Бухгалтерия. (Канада, Израиль). Открытие/закрытие, оценка бизнеса. www.MyTaxAdviser.ca
Веб-дизайн, Онлайн маркетинг, Программирование, Компьютерное оборудование и хостинг. www.SysComData.ca

  #8     Программисты смеются
Сообщение 10 Jul 2013, 09:20
Ireland
Город: Bonny Portmore
Стаж: 11 лет 6 месяцев 5 дней
Постов: 2545
Лайкнули: 41 раз
Карма: 2%
Пол: М
Заход: 06 Oct 2013, 16:43
:mrgreen:
Ой, да не дурите голову!

  #9     Программисты смеются
Сообщение 10 Jul 2013, 09:50
Стаж: 11 лет
Постов: 310
Лайкнули: 15 раз
Карма: 5%
Пол: Ж
Заход: 12 Dec 2016, 21:29
новый дизайн - паттерн "Паблик Морозов". Класс-потомок, созданный в соответствии с этим паттерном, выдает по запросу все данные класса-предка, независимо от степени их сокрытия.

  #10     Программисты смеются
Сообщение 10 Jul 2013, 10:56
Canada, Ontario
Стаж: 11 лет 4 месяца 27 дней
Постов: 2325
Лайкнули: 67 раз
Карма: 3%
Заход: 06 Oct 2013, 01:46
qwerty:
новый дизайн - паттерн "Паблик Морозов". Класс-потомок, созданный в соответствии с этим паттерном, выдает по запросу все данные класса-предка, независимо от степени их сокрытия.

:_lol_plakat_:

  #11     Программисты смеются
Сообщение 10 Jul 2013, 12:12
Canada, Ontario
Стаж: 11 лет 5 месяцев 5 дней
Постов: 2632
Лайкнули: 84 раз
Карма: 4%
Заход: 08 Oct 2013, 15:58
Наверное, все это очень смешно. Для посвященных. "Переменные экземпляра" - это наверно вообще уписаться можно.
Как жаль, что понимание юмора мне в данном случае недоступно...
:_cry_: :_cry_: :_cry_: :_cry_: :_cry_:
На свете все бывает. Кое-что из того, что на свете бывает, бывает так редко, что все думают, что его не бывает. А оно бывает.

  #12     Программисты смеются
Сообщение 10 Jul 2013, 12:34
Canada, Ontario
Стаж: 11 лет 4 месяца 27 дней
Постов: 2325
Лайкнули: 67 раз
Карма: 3%
Заход: 06 Oct 2013, 01:46
Nick:
Наверное, все это очень смешно. Для посвященных. "Переменные экземпляра" - это наверно вообще уписаться можно.
Как жаль, что понимание юмора мне в данном случае недоступно...
:_cry_: :_cry_: :_cry_: :_cry_: :_cry_:

ну дык это и тема для посвященных.. но если очень хочется пожаловаться, то ради бога.. я даже ути-пути могу сделать :mrgreen:

  #13     Программисты смеются
Сообщение 10 Jul 2013, 12:41
Ireland
Город: Bonny Portmore
Стаж: 11 лет 6 месяцев 5 дней
Постов: 2545
Лайкнули: 41 раз
Карма: 2%
Пол: М
Заход: 06 Oct 2013, 16:43
qwerty:
новый дизайн - паттерн "Паблик Морозов". Класс-потомок, созданный в соответствии с этим паттерном, выдает по запросу все данные класса-предка, независимо от степени их сокрытия.

:_lol1_:
Ой, да не дурите голову!

  #14     Программисты смеются
Сообщение 10 Jul 2013, 12:45
Canada, Ontario
Стаж: 11 лет 5 месяцев 5 дней
Постов: 2632
Лайкнули: 84 раз
Карма: 4%
Заход: 08 Oct 2013, 15:58
Brrr:
Nick:
Наверное, все это очень смешно. Для посвященных. "Переменные экземпляра" - это наверно вообще уписаться можно.
Как жаль, что понимание юмора мне в данном случае недоступно...
:_cry_: :_cry_: :_cry_: :_cry_: :_cry_:

ну дык это и тема для посвященных.. но если очень хочется пожаловаться, то ради бога.. я даже ути-пути могу сделать :mrgreen:


Гордыня погубит вас, мадам. А будет жаль, вы мне очень симпатичны. :_jazyk_:
На свете все бывает. Кое-что из того, что на свете бывает, бывает так редко, что все думают, что его не бывает. А оно бывает.

  #15     Программисты смеются
Сообщение 10 Jul 2013, 12:46
Стаж: 11 лет
Постов: 310
Лайкнули: 15 раз
Карма: 5%
Пол: Ж
Заход: 12 Dec 2016, 21:29
Nick:
Наверное, все это очень смешно. Для посвященных. "Переменные экземпляра" - это наверно вообще уписаться можно.
Как жаль, что понимание юмора мне в данном случае недоступно...
:_cry_: :_cry_: :_cry_: :_cry_: :_cry_:


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

  #16     Программисты смеются
Сообщение 10 Jul 2013, 12:59
Canada, Ontario
Стаж: 11 лет 5 месяцев 5 дней
Постов: 2632
Лайкнули: 84 раз
Карма: 4%
Заход: 08 Oct 2013, 15:58
Ну, я на самом деле умею немножко. Непрофессионально, конечно.
Но опыт показывает, что профессионал отличается от любителя не всегда в одну и ту же сторону.

Например, дискуссия, с которой началось дело, очень забавляет. Обсуждая способы вычислить lb_found, исходя из значения ll_row, автор упустил один простой момент: lb_found ему нафиг не нужен. ll_row отлично выполняет ту же задачу. :_jazyk_:
На свете все бывает. Кое-что из того, что на свете бывает, бывает так редко, что все думают, что его не бывает. А оно бывает.

  #17     Программисты смеются
Сообщение 10 Jul 2013, 13:00
Ireland
Город: Bonny Portmore
Стаж: 11 лет 6 месяцев 5 дней
Постов: 2545
Лайкнули: 41 раз
Карма: 2%
Пол: М
Заход: 06 Oct 2013, 16:43
Вот мой двоюродный брат - патологоанатом. Вот это да...
Ой, да не дурите голову!

  #18     Программисты смеются
Сообщение 10 Jul 2013, 13:06
Canada, Ontario
Стаж: 11 лет 5 месяцев 5 дней
Постов: 2632
Лайкнули: 84 раз
Карма: 4%
Заход: 08 Oct 2013, 15:58
Да, у них шуточки - ой-ой-ой. :_sad_:
На свете все бывает. Кое-что из того, что на свете бывает, бывает так редко, что все думают, что его не бывает. А оно бывает.

  #19     Программисты смеются
Сообщение 10 Jul 2013, 13:34
Ursego Аватара пользователя
СОЗДАТЕЛЬ ТЕМЫ
Canada, Ontario
Город: Toronto
Стаж: 11 лет 6 месяцев 26 дней
Постов: 10707
Лайкнули: 3448 раз
Карма: 33%
СССР: Днепропетровск
Пол: М
Лучше обращаться на: ты
Заход: 20 Nov 2023, 18:00

Nick:
Обсуждая способы вычислить lb_found, исходя из значения ll_row, автор упустил один простой момент: lb_found ему нафиг не нужен. ll_row отлично выполняет ту же задачу.
Переменная lb_found затем присваивается свойству enabled многих объектов. Присваивать результат сравнения (ll_row > 0) многократно - это не столько менее эффективно (разницу реально никто не почувствует), сколько уродливо и заговняет код, нарушая принцип предотвращения дублирования функциональности. Так что садись, два.

  #20     Программисты смеются
Сообщение 10 Jul 2013, 13:48
Canada, Ontario
Стаж: 11 лет 5 месяцев 5 дней
Постов: 2632
Лайкнули: 84 раз
Карма: 4%
Заход: 08 Oct 2013, 15:58
Уважаемый автор забыл упомянуть про это в своем примере.
Это во первых.

Во вторых - разницы не будет. Не будет и не почувствует - две большие разницы. Характерный, впрочем, подход для программистов, которые никогда не знают ничего наверняка, а только примерно.

В третьих - подумайте об описываемой ситуации не с точки зрения программиста, которому велено прописать "да" или "нет" в двадцать пять разных мест, а с точки зрения здравого смысла. Может, сермяжная правда, проглянет :)
На свете все бывает. Кое-что из того, что на свете бывает, бывает так редко, что все думают, что его не бывает. А оно бывает.

Это сообщение - не последнее. В теме есть ещё страницы. Перейти на следующую >>

Вам есть что сказать по этой теме? Зарегистрируйтесь, и сможете оставлять комментарии