Читаем Записки автоматизатора. Профессиональная исповедь полностью

ЕСЛИ НЕ КОНТРОЛЬ_НА_ВРЕМЯ (ВРЕМЯ_РАСП) ИЛИ

НЕ КОНТРОЛЬ_НА_ВРЕМЯ (ВРЕМЯ_ФАКТ)

ТО ВЫЙТИ.

Комментарий: Я бы удовлетворился и без описания функции КОНТРОЛЬ_НА_ВРЕМЯ.

РАЗНОСТЬ:= МИНУТЫ (ВРЕМЯ_РАСП) – МИНУТЫ (ВРЕМЯ_ФАКТ);

Комментарий: 1440 = 24 х 60 – количество минут в сутках, а 720 – в полусутках.

ЕСЛИ РАЗНОСТЬ <= —720

ТО РАЗНОСТЬ:= РАЗНОСТЬ + 1440

ИНАЧЕ ЕСЛИ РАЗНОСТЬ >= 720

ТО РАЗНОСТЬ:= РАЗНОСТЬ – 1440;

ЕСЛИ РАЗНОСТЬ = 0

ТО ПЕЧАТАТЬ («ПРИШЕЛ ВОВРЕМЯ»)

ИНАЧЕ ЕСЛИ РАЗНОСТЬ > 0

ТО ВЫВЕСТИ («ПРИШЕЛ РАНЬШЕ НА», ЧАС_МИН

(РАЗНОСТЬ))

ИНАЧЕ ЕСЛИ РАЗНОСТЬ < 0

ТО ВЫВЕСТИ («ОПОЗДАЛ НА», ЧАС_МИН (—РАЗНОСТЬ))

Если испытуемый не заметил, что поезд, прибывающий по расписанию в 0.05, а фактически прибывший в 23.55, не опоздал на 23 часа 50 минут, а приехал раньше на 10 минут, то это очень грустно. Если увидел, но не сообщил вам (устно или в комментарии к тексту), что решение не работает при расхождениях с расписанием более полусуток, то это просто грустно. Кодировать по блок-схемам последние сорок лет уже не требуется, а на что еще такой годится?

Наиболее поразившей меня за последнее время реакцией на эту задачу было удивленное «Как нет дат в исходных данных? Без дат вообще нельзя решить, без дат нет метода!». Я сразу почувствовал себя таким старым… Правда, как-то мы без методов обходились, поскольку объектно-ориентированных языков тогда еще не было.

Приложение 2. Из записных книжек периода внедрения

Обследование и разработка технического задания

Начал новую жизнь: стер куки.

* * *

Этап обследования предприятия: слепой объясняет глухому, как выглядит Земля из иллюминатора космического корабля.

* * *

У нас же госучреждение. Шаг вправо, шаг влево – сразу служебная записка.

* * *

Сложно будет объяснить разработчикам, что «отдел» и «Отдел» – это разные виды подразделений, находящиеся на разных уровнях структуры. «Отдельный Отдел», наверное, тоже писать не стоит. Придется каждый раз писать «отдел (в составе Управления)» и «Отдел (вне Управлений)».

* * *

Информация отдела кадров: «Руководство не возражает, чтобы начальство отпустило сегодня своих подчиненных в 17 часов». Надо привыкать к терминологии. Вчера, например, вызвал их искреннее возмущение неправильно заполненной ежедневной справкой: «Неужели вы не понимаете, что ваш Т-ов находится не в отпуске, а в отгуле в счет отпуска?»

* * *

– В каком порядке визируется договор?

– Договор визируется в хаотичном порядке.

* * *

Моя профессия уже давно стала бы мне невыносимо скучна, если бы я не менял предметные области. Ну где бы я еще узнал про бланковый индоссамент и нетелей средней степени стельности, да еще и в одном договоре?

* * *

На то, чтобы объяснить своим сотрудникам, что смешного в выражении «племенной боров», ушло полчаса.

* * *

Разбирали с программистом бухгалтерский сленг. Пришлось даже залезть в Даля, чтобы выяснить происхождение некоторых слов. Выяснилось, что «крыжить» происходит от «крыж», то есть крест, и исходно значило «помечать крестом», хотя сейчас большинство бухгалтеров крыжат галочками. Заодно разобрали слово «херить», происходящее от «хер», старого названия буквы Х, и означающее по Далю перечеркивать или помечать косым крестом. Программист подумал и сделал вывод, что херить – это крыжить под углом пи на 4.

Особенно креативно называются ситуации, в которых одному объекту необходимо сопоставить некий другой (например, связать задолженности и оплату). Обычно это именуется спариванием, сращиванием (это бухгалтерский фольклор), применением (а вот это уже из языка переводчиков системы Navision. Так и написали в интерфейсе – «применить операции». Нет чтобы голову применить).

Что до термина «крыжить», то по тому, понимают ли его с первого раза, можно безошибочно определить автоматизатора. – Д.К.

* * *

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже