redis: (Default)
[personal profile] redis
- Ты вот сидишь, штаны просиживаешь, Интернет уже до дыр зачитал, а нам нужна поддержка PDF в новом сервисе. Дополнительно к уже существующей поддержке XML.
- Сде-е-елаю...

Ну а почему бы и не сделать. Итак, входные данные или PDF, или XML. Процессим, обрабатываем внешними тулзами, сохраняем результат.

Пишу unit test для PDF, убеждаюсь, что он фэйлится.

Дергаю за выступающие части коллегу, чтобы он адаптировал внешние тулзы под процессинг PDFок.

Создаю интерфейс DocumentProcessor. Создаю два класса PdfDocumentProcessor и XmlDocumentProcessor, первый пока пустой, во второй выношу всю функциональность, связанную с XML. Поправляю unit testы, чтобы они работали с новой структурой.

Создаю DocumentProcessorFactory, принимает имя входного файла как параметр, выдает нужный процессор. Меняю сервис, чтобы он использовал factory и processorы. Поправляю unit testы, пишу unit test для factory.

Проверяю - unit test для PDF успешно фэйлится.

Имплементирую логику для процессинга PDF, дело нелегкое, полдня на него грохнул. Проверяю unit test - теперь все работает.

Добавляю изменения, внесенные коллегой во внешние тулзы.

Конфигурирую и запускаю реальный PDF файл в реальной системе. Работает.

Перед коммитом по привычке проверяю изменения. Сравниваю процессор для PDF с процессором для XML. Сравниваю еще раз. И еще. С ужасом убеждаюсь, что никакой разницы между ними нет. Совершенно никакой. Factory выдает совершенно одинаковые объекты-процессоры, только имена разные.

Чешу репу.

Удаляю ВСЕ изменения последнего дня - двух. Абсолютно все изменения.

Запускаю реальный PDF файл в реальной системе. Все работает.

Принимаю решение вечером напиться...

Date: 2009-12-16 02:15 pm (UTC)
mormish: (Default)
From: [personal profile] mormish
Гхыыыыыы :D
From: [identity profile] lightbird.livejournal.com
штаны просаживают только очень азартные, но сильно продувшиеся игроки. Программеры их обычно просиживают :р

Profile

redis: (Default)
redis

August 2025

S M T W T F S
      12
3 4567 89
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 15th, 2025 05:02 pm
Powered by Dreamwidth Studios