Я делаю Progress 4GL в течение 8 лет, хотя это не моя основная ответственность. Я делаю C++ и Java намного больше. При программировании на другом языке предлагается, чтобы объявление было близко к использованию. Однако с 4GL я вижу, что люди помещают объявление поверх файла. Это даже в стандарте кодирования.Progress-gl - В чем преимущество размещения объявления переменной в верхней части процедуры
Я думаю, что размещение их поверх файла приведет к проблеме «вертикального разделения». На большинстве других языков даже предлагается выполнять задание в той же строке, что и декларация.
Вопрос в том, почему это предлагается сделать в 4GL? В чем польза? Я знаю, что можно разместить объявление в любом месте файла, учитывая, что оно было объявлено до его использования.
Вы правы в области видимости переменных, но ошибаетесь в области обзора буфера. Буферы могут быть определены внутри процедур и основного тела программы с тем же именем, что указанная процедура может быть сложена, а Progress не будет пропускать или путать эти записи. У меня есть пример, но он не подходит здесь и не имеет отношения к исходному вопросу. – bupereira
Я имел в виду, что если вы явно не объявляете буфер, но используете буфер по умолчанию, он привязан к программе, даже если вы используете его только во внутренней функции. – Screwtape
Прошу прощения. Я думал, что вы подразумеваете буфер по умолчанию, в отличие от общих буферов, например. Если вы говорите о неназванных буферах (которые совпадают с именем таблицы), то вы правы. – bupereira