最近、私はK & R.によって "プログラミング言語C" を読んでいる私はずっとCを知らないが、私は少し知っていますJavaのページ65ページ(第2版)では、作家が後藤について話し、どのようにそれがほとんどいつまでも不本意であるかどうかについて話しています。 最近、コンピュータでAIの基本レベルを表示しなければならないゲームを書いています。そこでは、Javaのためにたくさんのことを書いていました。それは基本的には、if文を使って4つの深い埋め込み "forループ"が埋め込まれていました。最後にはどこにブレークを入れるのか分かりませんでした。ゲームunplayable。やがて、ストレスを感じてからソートしました。
私のクエストは、どのように悪いですか?
私のゲームでは(Java doesntは本当に1つを提供します)、私は休憩や括弧であまりにも多くの時間を浪費しませんでした。後藤は本当に悪いですか?彼らはなぜそんなに嫌われているのですか?あなたのコードのようになり読みにくく、あなたのコード内の
重複:http://stackoverflow.com/questions/46586/goto-still-considered-harmful –
基本的には同じ理由として用あまりにも多くのネストされた外見であなた自身を失った場合、それはスパゲッティコードを作成する原因となります。実行を絶えずジャンプさせるコードを維持することは本当に難しいです。 ネストされたループや条件付きブランチが多すぎるのを避けるために、関数を使用してコードを整理してください。 – Luis
gotoステートメントを使用していた場合、同じ問題が発生するでしょう。多くのネストされたループなどがある場合は、おそらくそれを避けるためにコードを構造化する必要があります。それはまた、あなたが実際に書いたことを理解するのにも役立ちます。 :) – hangy