Нашёл в аппликации класс, именуемый... Генсек! У Леонида Ильича явно есть повод для ревности! Правда, это всего-лишь сокращение от 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).
Наверно, в рассказах о снежном человеке таки что-то есть...
Меня страшно злит когда натыкаюсь на подобное присвоене значения булевской переменной (может, эти писаки получали зарплату в зависимости от числа написанных строк кода?):
Код: Выделить всё
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...
Смотрю на выпадающий список в аппликации. Первое значение 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:
- Да нет, вроде совершенно не пиздатый!
Тут уж она чуть не падает со стула. Оказалось, что она говорила "без даты"... Проверить, что-ли, слух?