グローバル変数とローカル変数がごっちゃになってしまう危険性は、今時の言語に慣れている人の視点だと思いますが、GOSUB全盛期のかつてのBASICは、そもそもローカル変数なんて概念は無く、全てがグローバル変数という考え方だったので、変数がかち合わないように気を付けるのは普通の事でした(確かに今からプログラミングを始める人にはトラブルの種かも知れませんが)。 あと、この場合は、メインルーチンの中で同じような処理を行っている所が複数あり、また、いずれ消す予定の一時的なものなので、わざわざDEFを興すまでもない、テスト的な用途に使えるかなという感じで使っています。 DEFは基本的にすべて引数渡し、グローバル変数は、C言語の#defineみたいに先頭で定義したもののみ参照という個人的ポリシーで運用しています。