ICDロゴ

スパゲッティ・プログラム (spaghetti program)

別名
スパゲッティ・コード (spaghetti code)

最終更新日: 2001/01/10

 首尾一貫した構造を持つことなく、場当たり的にプログラム・ロジックが記述されたプログラム・コードのこと。制御の流れが複雑にからみあっていて、まるで皿に盛ったスパゲッティのようになっているプログラムという意味からこのように呼ばれる。読みづらく、メンテナンスも困難な出来の悪いプログラムのたとえ。

 最も典型的なスパゲッティ・プログラムの例は、無条件ジャンプ命令である(GOTO文など)を使って、プログラム・コード中を頻繁に飛び回るようなものである。C言語などの関数呼び出し型の言語では、あるひとまとまりの処理を行うプログラム・コードを関数として独立させ、必要に応じてメイン・ルーチンからこれらを呼び出し、処理が終わったら、それを呼び出したメイン・ルーチン中のコードの直後に制御を戻すようにする。こうすれば、木で例えれば幹となるメイン・ルーチンの一貫した処理の流れと、枝葉に相当する各関数の処理を明解に分離することができ、プログラムの可読性やメンテナンス性が向上する。これに対し前出の典型的なスパゲッティ・プログラムでは、どれが幹で、どれが枝葉かがコードを一見しただけでは分からず、プログラムの可読性やメンテナンス性が極めて低い。

Copyright (C) 2000-2007 Digital Advantage Corp.

関連用語

C言語

アイティメディアの提供サービス

キャリアアップ