2015-04-27 2 views
0

Как сравнить две программы в COBOL?Сравнение двух версий программ с базой

Если вы хотите узнать все изменения, внесенные новой программой из старого, и не хотите использовать служебную программу SuperCE ISPF 3.13.

Практический сценарий:

У меня есть две программы, которые используют один и тот же базовый код и независимые изменения. Все, что мне нужно сделать, это найти эти изменения и объединить их в одну единую программу.

Я создаю инструмент Rexx для этого.

Мой опыт: никаких знаний о Rexx вообще, новичок на мэйнфреймах.

+0

Почему вы не хотите использовать SuperCE? Какой пакет управления версиями у вас есть? У вас будет что-то для вас, не так ли? Как указывает @cschneid, на самом деле попытка кодировать это с нуля на языке и среде, которые вы не знаете, будет «сложной». Если вам действительно нужно это сделать (я сомневаюсь, что это имеет смысл), то есть статистика ISPF «on» для программ? –

+0

SuperCE просто выделяет изменения в коде, но не помогает слияния этих изменений. Что касается моего сценария, я должен объединить изменения, чтобы создать новый отредактированный код. Извините, я не понимаю, что означает пакет управления версиями и статистика ISPF для программ. Я знаю, что создать код с нуля сложно. – Dipanshu

+0

Найдите документацию SuperCE и узнайте, что она на самом деле может сделать. Source Control, скорее всего, Endevor или Changeman или SCLM. Это место, где код хранится, когда он не обрабатывается. Чтобы узнать, есть ли статистика ISPF, посмотрите список выбора члена редактирования (или аналогичный), и если вы можете увидеть информацию о количестве строк, когда они созданы и т. Д., То это статистика ISPF. Если затем выбрать участника и нажать PF10 (обычно), экран сдвинется вправо. Изучите номера строк, замечая последние две цифры. Также введите COMPARE и нажмите PF1. –

ответ

0

Это не задача новичка. Если вы должны сделать это, вы сделали бы это так же, как и для Java, C или любого другого языка программирования; проанализировать язык в соответствии с его синтаксическими правилами.

Для этой цели существуют существующие инструменты, @Ira Baxter указал на вас, у IBM было что-то, называемое «слияние версий», но, похоже, оно было discontinued in 2014.

+0

Отмечу, что модератор SO удалил мой ответ. @cschneid [спасибо!], очевидно, думал, что это актуально. –

+0

@ Ира Бакстер - Я не уверен, что это задача для специалиста! Я все равно не могу придумать две отдельные версии программы в 1 с помощью автоматизированного метода, и я не могу понять, как поможет синтаксический анализ источника, если вы не хотите анализировать источник, чтобы понять логику, а затем согласовать 2 версии в 1, что кажется еще сложнее, чем делать то же самое по сравнению с линейным сравнением. –

2

Это не так просто - если у вас есть 3 версии программы (версия A, оригинал и 2 вилки - версии B и C), вы не можете слепо взять версию A и применить все изменения, внесенные в нее в версии B и затем версии C, так как версия C может удалить код, на который полагается версия B.

Вам необходимо будет вручную просмотреть все различия, чтобы увидеть, какие из них будут работать вместе и могут быть объединены. Для этого SuperC - отличный инструмент.

Похоже, что на вашем сайте у вас есть 2 измененная версия программы, каждая из которых отличается друг от друга, и вам нравится комбинировать оба эти файла в одной программе. Я боюсь, что это не может быть автоматизировано и должно быть сделано вручную.

Это может быть относительно просто, если обе версии программы внесли изменения, которые находятся в разных областях кода, или сложны, если изменения находятся в одной и той же области, но даже для «простого» случая все еще необходимо ручная проверка, чтобы изменения не влияли друг на друга.