Claude Code обновляет устаревший код на COBOL

AAnthropic
컴퓨터/소프트웨어AI/미래기술

Transcript

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 месяцев назад.

Key Takeaway

Claude Code революционизирует модернизацию унаследованного COBOL кода, одновременно документируя сложные системы, планируя миграцию и создавая высококачественный код с гарантированной функциональной эквивалентностью.

Highlights

Claude Code может автономно работать до 30 часов, создавая документацию и анализируя базы кода любого размера

Использование специализированных подагентов позволяет параллельно обрабатывать задачи с изолированными контекстами

Генерируемый код Java выходит за рамки простого синтаксического перевода и включает правильные паттерны проектирования и обработку ошибок

Двойное тестирование с побитовой верностью гарантирует, что мигрированный код идентичен исходному COBOL

Из недокументированной базы кода из 94 файлов создано более 100 страниц документации с диаграммами Mermaid

Методы миграции и документирования полностью масштабируются на значительно более крупные унаследованные базы кода

Режимы мышления и планирования позволяют Claude анализировать сложную архитектуру перед редактированием файлов

Timeline

Введение: Проблема унаследованного COBOL кода

Видео демонстрирует использование Claude Code для модернизации базы кода COBOL на примере демонстрационного репозитория AWS по модернизации мейнфреймов. Рассматривается система управления кредитными картами среднего размера примерно со 100 файлами, включающими программы COBOL, справочники данных и скрипты JCL. Основная проблема заключается в том, что унаследованный код практически не имеет документации, критическая бизнес-логика и требования регулирования встроены в недокументированный исходный код, а разработчики, писавшие оригинальный код, давно покинули организацию. Нехватка специалистов по COBOL делает понимание и модернизацию таких систем чрезвычайно сложной задачей.

Этап 1: Анализ и документирование кода COBOL

Claude Code создает специализированного подагента с использованием режима мышления для тщательного анализа архитектуры базы кода из 94 файлов. Подагенты работают параллельно в изолированных контекстных окнах, не загромождая основной поток, что позволяет эффективно обрабатывать большие объемы информации. Claude создает список дел и отслеживает прогресс обработки каждого файла, обеспечивая полноту и отсутствие пропусков. Документация, созданная Claude, включает подробное описание бизнес-процессов (например, для программы CBACT04C с функцией расчета процентов), индексные файлы в формате Catalog.txt и Relationships.txt для навигации по зависимостям, а также диаграммы Mermaid, отображающие полный ежедневный рабочий процесс пакетной обработки. За час непрерывной работы Claude создает более 100 страниц документации, и система способна работать автономно до 30 часов, что позволяет масштабировать методы на гораздо более крупные базы кода.

Этап 2: Планирование миграции на Java

После документирования Claude переходит в режим планирования для разработки стратегии миграции одной из основных функций COBOL на Java без преждевременного редактирования файлов. Claude анализирует сложную программу CBACT04C и выявляет специфичные для COBOL паттерны, такие как обработка разрывов строк и координация нескольких файлов. Разработанный план миграции состоит из пяти этапов: создание структуры проекта, перевод моделей данных из справочников в классы Java, создание слоя ввода-вывода, совместимого с исходными форматами файлов, преобразование бизнес-логики с сохранением специфичного для COBOL поведения, и создание двойного тестового каркаса на GNU COBOL 3.2.0 и Java 17. Такой методичный подход обеспечивает полное понимание задачи перед началом разработки.

Реализация и верификация кода Java

Генерируемый код Java значительно превосходит простой синтаксический перевод: Claude создает надлежащие классы Java с применением правильных паттернов проектирования, обработкой ошибок и логированием, что позволяет современным командам разработки поддерживать код. После разработки проводится тщательная верификация функциональной эквивалентности между исходным COBOL и новым Java кодом. Claude создает несколько тестовых файлов данных и запускает их как для исходного COBOL, так и для новых программ, сравнивая не только окончательные результаты, но и промежуточные расчеты, записи в файлы и преобразования данных. Результатом является идеальная побитовая верность: каждый расчет, бизнес-правило и граничный случай сохраняются, обеспечивая полную функциональную корректность мигрированного кода.

Масштабируемость и практическое применение

Хотя демонстрационное приложение является мером меньше, чем типичные унаследованные базы кода COBOL, все использованные методы полностью масштабируются на гораздо большие системы. Claude Code предоставляет разработчикам возможность модернизировать сложные базы кода с уверенностью и эффективностью, которые были невозможны всего 12 месяцев назад. Комбинация автоматического анализа, подробной документации, интеллектуального планирования и гарантированной верификации делает процесс модернизации доступным и надежным для организаций, имеющих критичный унаследованный код.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video