where <дата на которую производится выборка> between <Начало действия курса> and <Окончание действия курса>
Бывают и более интересные прецеденты.
Шляпник повернулся к Зайцу:
– Помнишь программиста, который предлагал в одной таблице хранить актуальные данные, а во вспомогательной сделать архив?
– А то! – откликнулся его напарник.
– А тут-то что не так? – спросил Армигер.
– Да вроде и ничего, даже выигрыш по производительности небольшой должен быть, – принял эстафету Заяц. – Все бы ничего. Ровно до тех пор, пока во время эксплуатации не потребуется ввести данные будущим периодом. Вот здесь и начинаются танцы с бубнами.
Заяц будто вспомнил о чем-то, выудил из-под стола бубен и принялся скакать вокруг Сони, мужественно заснувшей мордочкой на клавиатуре ноутбука.
Далее слово взял Чеширский Кот:
– Описание использования системы позволяет избежать множества проблем. Возьмем ту же JRA-1330. Серьезнейшая ошибка, «критикал». Сколько клиентов просило ее исправить! Но исправить ее невозможно. Об этом довольно неплохо написал Максим Крамаренко. А избежать ее было очень просто. Достаточно было описать, как эта трекинговая система будет использоваться. Например, как она будет использоваться для взаимодействия между заказчиком и исполнителем. И тогда бы всплыло, что менеджмент-исполнитель захочет скрыть сумму контракта на доработку от простого исполнителя, а потраченные часы скрыть от заказчика. Всего-навсего – описать способ использования системы.
Ладно, коллеги, на сегодня разминка окончена, прошу к рабочим столам.
Кот встал, потянулся и начал исчезать. Армигер вздохнул, глядя на повисшую в воздухе улыбку, и пошел на рабочее место.
Байка для оруженосца 6. Куб Неккера
– Скоро, скоро зацветет сирень – мечтательно протянул, глядя в окно и прихлебывая «Спринг Мелоди», Чеширский Кот. Он с интересом следил за крадущимися к Оруженосцу Зайцем и Шляпником.
– У, какая знакомая табличка, – вдруг заявил Мартовский.
Армигер чуть не подавился чаем и, кажется, с трудом сдержал порыв прикрыть листочки рукой:
– Да откопал тут в недрах интернета таблицу сочетаемости проектных ролей. Изучаю.
– Насколько, я тебя знаю, ты достаточно неглуп и достаточно настырен, чтобы не остановиться на одном варианте. – Шляпник поставил на стол круглую коробочку. – А потому переходи к нам, на темную сторону.
– У нас есть печеньки, – пропели в унисон Шляпник и Заяц и зловеще захохотали. Потом так же хором добавили: – сейчас мы эти таблицы анализировать будем.
– Перехожу, перехожу, – кивком головы выразив благодарность, Оруженосец взял печенье. – Действительно, я откопал несколько разных таблиц. Более-менее соответствующих друг другу, но отличающихся в деталях.
– И что, роль программиста везде не может сочетаться с остальными?
– Не везде. Как минимум с проектированием архитектуры сочетаться может. Хотя бы в одной из моделей, – присоединилась к беседе Соня. Из Сониного угла не было видно полдюжины листков, разложенных Оруженосцем на столе. Но благодаря дурному влиянию коллектива, Соня давно научилась думать на несколько ходов вперед и выдвигать высоковероятные гипотезы.
– Замечательно, – повернулся от окна Кот – Следующий ход?
– Поискать общее, – внесла предложение Соня.
За столом зашелестели бумажками.
– Че вы там шуршите. Я вам и так скажу. Во всех вариантах не рекомендуется сочетание ролей тестировщика и программиста, – прервала их, вставая, Соня.
Быстро проглядев листки, троица подтвердила вывод Сони.
– Иии? – просил с нажимом Заяц, и команда синхронно повернулась и выжидательно уставились на Оруженосца. Только Королева не стала отвлекаться от медитации над своим пауэром.