goto は使うな!

変な題名になりましたが意味はそのままでプログラムを書くときにGOTOを使うなというものです。
私のようにbasic言語からプログラミングを始めた人がjava等の高級言語を使用して悩む部分です。だからGOTOを使うのは控えましょう。

GOTOとは何か?

基本から説明します。GOTOはbasicやマシン語等で使われるコマンドで、指定したラベルまたは行へジャンプさせるものです。
プログラムは上から下に実行されます。下のコマンドを読み込んだあとに上のコマンドを読み込ませたいときはどうしますか?そんなときに上のコマンドの前のラベル、または行に直接飛べればすぐに上のコマンドの実行ができます。それをするのがGOTOの役目です。

BASIC 言語は以下のように記述します。

GOTO @ラベル名
GOTO 行番号

GOTOの問題点

GOTOはすぐに実行させたい場所へ飛ぶことができるため直感的で便利ですがかなりの問題点を抱えています。それは可読性です。GOTOを頻繁に使うと再度読み直したときに確認しづらくなります。

「50番のコマンドを読み込んだら次のGOTOで25番に飛んでそのあとに10番を読み込んで、、 」といった具合に全体をうろちょろしなくてはならず理解しづらいです。そんなわけで私が中学の時に書いたプログラムの動作原理が理解できてないのがちらほら。

このようなプログラムを揶揄してスパゲティプログラムと言ったりします。
そのような理由からjava等の高級言語でこのようなコマンドは使用できません。

でも私のようなBASICから始めた人からしたらコマンドくらいは残してもらって、非推奨のような扱いにしてほしい。結局、高級言語に慣れちゃえば気にならないけど。

0コメント

  • 1000 / 1000