プログラムを作るのは、設計(どんなふうにプログラムを作るか)とコードを書く(名前の通りBASICでコードを書く)のに分かれるのもあって全体を簡単に説明するのはなかなかむずかしいけど、 設計としてみると、GOSUB/DEFはどっちも同じ関数化で「再利用とモジュール分割」の考えになるので、「何かの処理を個別で任せられる処理は関数化する」という考えで作るといいかも。 同じような処理、今後またどこかで使いそうな処理、ゲームルール処理中にゲームルールとは関係ない何かの計算処理(数学系とかBG更新とか)などを、関数呼び出しとして使えるようにすることが多いので、そういう単位で分割してプログラムを考えるといいかもです。(学校の係当番と同じで、担当を分ける感じ)