Дата по этому вопросу устарела, но я поделюсь тем, что нашел полезным для следующего человека, который подтягивает это. Уже упоминался вариант TRACE. Я нашел, что это может быть подавляющим в небольшом наборе кода, не говоря уже о 5000 или более строк.
Вот некоторые варианты, которые я нашел полезными:
- Используйте «if», чтобы включить трассировку только в определенных ситуациях.
if counter < 25 then trace "A"
Не забудьте выключить трассировку прочь:
else trace "OFF"
- Использование
say
с последующим pull
. То, что сказано, останется на экране, пока вы не нажмете enter.
- Добавить подпрограмму:
AskIt:
parse pull comment
say comment
say 'enter "X" to exit program'
pull continue
if Continue \= "X" then return
exit
Это вызывается с call AskIt "In routine that loops, counter=" counter
и будет отображаться:
In routine that loops counter='##
enter "X" to exit program
Тестер выбирает, чтобы вернуться к коду, нажав кнопку ввода или выхода из программы с помощью X, чтобы отредактировать источник.
Временная вставка return
в строке, следующей за лейблом подпрограммы, позволит вам запускать код без прерывания без удаления всех вызовов.
Я написал макрос редактирования для z/OS, который вставляет say *routine name*
после каждой стандартной метки. Он вставляет код с /* comment */
, содержащий легко идентифицированную фразу для упрощения очистки.
Аудитория для этого была бы небольшой, поэтому я не буду включать здесь код.
Надеюсь, это поможет кому-то.
Учитывая, насколько сильно Майк Коулишов работал над тем, как сделать Rexx удобочитаемым, я должен спросить: «Что вы испытываете?»? Предполагая, что вы читаете английский, программа Rexx в значительной степени делает то, что говорят слова. –
@RossPatterson. Читаемость не является языком w.r.t.Это нужно сделать больше с 5000+ loc, вымощенными в один скрипт. –
В зависимости от того, на кого вы работаете, я, возможно, написал этого монстра :-) –