Programing/Language/C++/CodingStyle/Control

Last-modified: Wed, 10 Jan 2024 11:43:07 JST (108d)

制御構文

goto文の使用

  • 背景
    goto文はマシン語の無条件ジャンプに由来し、FORTRANから存在する最も原始的な制御構文である
    プログラミングパラダイム構造化プログラミングを提唱していたエドガー・ダイクストラが1968年に発表した論文で高水準プログラミング言語においてはgoto文は廃止すべきであると提案。これが議論の発端となった。
    構造化プログラミングの基本的な考え方となっている構造化定理は、「順次、選択、反復」の3つの基本構造によって計算可能な関数は全て表現できるとしたものである
    1960年代当時は、ソフトウェアの大規模化や複雑化が急速に進んでおり、これによるメンテナンス性・可読性の低下がソフトウェア危機として問題となっていた
    上記の論文でのgoto文に対する批判は、当時goto文を多用するコードが量産されていたことに起因している。
  • 概要
  • 肯定的意見
  • 否定的意見