00:00:00Давайте посмотрим,
00:00:01как разработчики могут использовать Claude Code для модернизации базы кода COBOL.
00:00:05Для демонстрации мы используем демонстрационный репозиторий AWS по модернизации мейнфреймов.
00:00:11Это среднего размера система управления кредитными картами примерно со 100 файлами,
00:00:16включая программы COBOL,
00:00:17справочники и скрипты JCL.
00:00:19Этап 1 – Анализ и документирование Наша база кода COBOL практически не имеет документации.
00:00:25Конечно,
00:00:26это типично для унаследованного кода,
00:00:28где критическая бизнес-логика и требования регулирования встроены в недокументированный код,
00:00:33разработчики,
00:00:34которые писали исходный код,
00:00:36давно покинули организацию,
00:00:37а специалистов по COBOL сложно нанять.
00:00:40Сначала мы создали специализированного подагента с помощью команды /agent Claude Code.
00:00:44Это был наш эксперт по документированию и переводу COBOL.
00:00:47Подагенты могут быть вызваны Claude Code параллельно,
00:00:50и они работают с собственными изолированными контекстными окнами,
00:00:54чтобы не загромождать основной поток.
00:00:56Мы включили режим мышления и попросили Claude Code проанализировать архитектуру базы кода.
00:01:01Claude Code создал список дел со всеми 94 файлами и отслеживал прогресс,
00:01:05чтобы убедиться,
00:01:06что ни один файл не обработан дважды и ничего не пропущено.
00:01:09Документация,
00:01:10созданная Claude,
00:01:11вышла далеко за пределы простых комментариев кода.
00:01:13Например, посмотрим на программу расчёта процентов CBACT04C.
00:01:20Она извлекла полный бизнес-процесс: как программа читает остатки по категориям транзакций,
00:01:25ищет процентные ставки по группам счётов,
00:01:28применяет бизнес-правила для подстановочных ставок и обновляет записи счётов.
00:01:33Claude сделал это для каждого файла,
00:01:35а также создал два файла памяти в виде простого текста.
00:01:39Catalog.txt переводит непонятные имена типа CBACT04C в программу пакетного расчёта процентов.
00:01:48Relationships.txt отображает каждую зависимость,
00:01:51используя простой формат,
00:01:53разделённый символом канала.
00:01:55Используя эти индексы,
00:01:56Claude затем создал диаграммы Mermaid,
00:01:58полную карту ежедневного рабочего процесса пакетной обработки,
00:02:01показывающую,
00:02:02как данные поступают от ввода транзакций через проводку,
00:02:05расчёт процентов и,
00:02:06наконец,
00:02:07к выпискам клиентов.
00:02:08В этой демонстрации Claude Code работал непрерывно в течение часа,
00:02:12чтобы составить более 100 страниц документации,
00:02:15но Claude Code способен работать автономно более 30 часов,
00:02:18и методы,
00:02:18использованные здесь,
00:02:20масштабируются на гораздо,
00:02:21гораздо более крупные базы кода.
00:02:23Этап 2.
00:02:24Миграция и проверка.
00:02:26После тщательного документирования базы кода COBOL мы попросили Claude перенести одну из её основных функций на Java.
00:02:31Мы переключились в режим планирования,
00:02:33чтобы Claude мог обдумать всю стратегию миграции без преждевременного редактирования файлов.
00:02:39Claude проанализировал программу,
00:02:41ранее известную как CBACT04C,
00:02:43и выявил сложные паттерны COBOL,
00:02:45такие как обработка разрывов строк и координация нескольких файлов.
00:02:50Claude разработал план миграции этой функции,
00:02:52состоящий из пяти этапов.
00:02:541.
00:02:55Создать структуру проекта.
00:02:562.
00:02:57Перевести модели данных из справочников в классы Java.
00:02:593.
00:03:00Создать слой ввода-вывода,
00:03:02совместимый с исходными форматами файлов.
00:03:044.
00:03:05Преобразовать бизнес-логику,
00:03:06сохраняя специфичное для COBOL поведение.
00:03:08И,
00:03:08наконец,
00:03:09создать двойной тестовый каркас: один с использованием GNU COBOL 3.2.0 для исходной базы кода и один на Java 17.
00:03:17Полученный код Java вышел далеко за пределы простого синтаксического перевода.
00:03:20Claude создал надлежащие классы Java с соответствующими паттернами проектирования,
00:03:24обработкой ошибок и логированием.
00:03:25Идиоматический Java,
00:03:26который реально будет поддерживать современная команда разработки.
00:03:30Далее следила проверка,
00:03:31чтобы убедиться,
00:03:32что новый код Java работает так же,
00:03:34как код COBOL,
00:03:35который он заменял.
00:03:37Claude создал несколько тестовых файлов данных и запустил их как для исходного COBOL,
00:03:41так и для новых программ.
00:03:43Проверка сравнивала не только окончательные результаты,
00:03:46но и промежуточные расчёты,
00:03:48записи в файлы и преобразования данных.
00:03:50Результатом была идеальная побитовая верность.
00:03:53Каждый расчёт,
00:03:54бизнес-правило и граничный случай были сохранены.
00:03:57Конечно,
00:03:58это демонстрационное приложение намного меньше,
00:04:00чем ваши унаследованные базы кода COBOL.
00:04:02Но все методы здесь масштабируемы.
00:04:04Claude Code даст вашим разработчикам возможность модернизировать базы кода с уверенностью и эффективностью,
00:04:10которые были просто невозможны всего 12 месяцев назад.