eldhenn: (Default)
[personal profile] eldhenn
Все.
Нет, здесь в общем-то неплохо, но мне начинает казаться, что два обхода и одно копирование - это общепринятая практика выборки данных из базы. Главное чего я не понимаю - ради чего делать библиотечную функцию, которая не делает совершенно ничего, помимо fetchall_arrayref? Какие детали она скрывает? Как она может помочь в случае изменения бэкенда? А если это действительно так важно - допустим, у нас источник данных может быть не только РСУБД, но и скажем XML, или веб-сервис, или ещё какая-то НЁХ. Ну так в этом случае всё делается совсем иначе! В функцию передаётся хэндлер, указатель на обработчик, и этот обработчик вызывается для каждой полученной записи. Но если функция может работать с различными источниками данных, зачем ей sql-запрос? Передавай ей курсор тогда уж...
Дальше идём. Есть скрипт. Примитивный - делает выборку по параметрам и формирует из этой выборки csv-таблицу. Я бы вообще сделал это на голом PL/SQL, ну да ладно. У скрипта есть параметры, передаются в командной строке. Открытие первое - чтение этих параметров происходит в библиотечной функции! Вы спросите, что такого, ну передадим мы туда ссылку на \@ARGV, пусть читает, всё в порядке. Нет! Туда ничего не передаётся! Она читает глобальный @ARGV, от вызывающего скрипта! Комментариев, как именно используются параметры, конечно же нет, поэтому очень весело разбирать, как же эта дрянь работает. Но и это ещё не всё! Обращение к параметрам идёт по НОМЕРАМ! Я ещё десять лет назад знал про Getopt и Getopt::Long. Об этом ещё в Cookbook лохматого года написано! А они вызывают их номерами. И попробуй впихни туда ещё один параметр! Придётся использовать грязный хак - разбирать $0.
Дали почитать ТЗ. Вот мол система, разработчик увольняется, поддерживать будешь ты. Ок, читаю. Товарищи, я на 102,4% уверен, что я напишу ТЗ не худшего качества. Даже без опыта. Когда я увидел, что в разделе "цель" написано "целью данного документа является", мне захотелось громко завыть. Это не цель документа! Это цель разрабатываемой системы, мать вашу! Цель документа "техническое задание" написана в ГОСТ-е, и её не нужно переписывать в каждом техзадании! Мне пришлось пять раз прочитать ТЗ, прежде чем я понял, ЧТО разрабатывается! И ещё пару раз - чтобы понять, ЗАЧЕМ оно разрабатывается.

Скажите, это только мне так везёт? Что я вокруг вижу в основном придурков и результаты их работы? При этом придурки зачастую зарабатывают больше меня?
(deleted comment)
(deleted comment)
(deleted comment)

Profile

eldhenn: (Default)
Элдхэнн

Tags

September 2022

S M T W T F S
    123
45678910
11121314151617
181920 21222324
252627282930 

Expand Cut Tags

No cut tags