スパゲッティプログラムとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > スパゲッティプログラムの意味・解説 

スパゲッティ‐プログラム【spaghetti program】

読み方:すぱげってぃぷろぐらむ

コンピュータープログラムで、処理の流れ論理構造把握困難なもの。不具合生じやすく、また見つけにくい。スパゲッティの麺が絡み合った様子たとえた言葉スパゲッティコード


スパゲッティコード

別名:スパゲッティプログラム,スパゲティコードスパゲティプログラム
【英】spaghetti code

スパゲッティコードとは、実行順序構造複雑に入り組んでいて、整理されていないプログラムのことで、スパゲッティ絡まる様子例えられたものである

スパゲッティコードの問題点は、改修メンテナンスまた、機能変更機能追加などが難しく時間がかかるという点にある。スパゲッティコードができあがる原因としてはさまざまあるが、システム設計時点細かくコーディングルール決めていなかったり、コーディングしている途中で大幅な仕様変更生じたりすることにある。

スパゲッティコードを回避するには、コーディング取り掛かる前にルール細かく決めてルール沿ってコーディングすることや、開発用フレームワーク利用するなどの方法がある。

システム開発のほかの用語一覧
設計思想:  施錠管理  システム設計  スタブ  スパゲッティコード  単一分岐  多重分岐  多方向分岐

スパゲティプログラム

(スパゲッティプログラム から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/04 02:40 UTC 版)

スパゲティプログラム: spaghetti program)またはスパゲティコード: spaghetti code)とは、コンピュータプログラムの状態を指すための表現(俗語)であり、命令の実行順が複雑に入り組んでいたり、遠く離れた関連性の薄そうなコード間で共通の変数が使われていたりするなど、処理の流れや構造が把握しにくい見通しの悪い状態になっているプログラムのことである[1]。スパゲッティプログラム、スパゲッティコードとも表記される。


注釈

  1. ^ 1命令や1行だけを実行させ、命令ごとあるいは行ごとの状態が正常かどうかひとつひとつ確認すること。
  2. ^ 大規模プロジェクトでは命名規則がコーディング規約で整備されていることが多いが、その命名規則に従っていない一貫性のないコードは可読性の低いプログラムになりやすい。そもそも命名規則自体が現代的なコーディングスタイルに則しておらず不適切であることもある。
  3. ^ 1つの変数に複数の意味・役割を持たせて使いまわしすると、変数名も不適切・あいまいになりやすく、コードの可読性やメンテナンス性が低下する。
  4. ^ ただしCには大域ジャンプを可能とするsetjmp()longjmp()も用意されていた。
  5. ^ C++やObject Pascalにはデストラクタがあり、C#やJavaではusing文[4]やtry-finally文やtry-with-resources文[5]が使えるため、確実なリソース解放のためにgoto文やラベル付きbreak文などを使用する必要はない。
  6. ^ 「寝たバグを起こす」「寝ているバグを起こす」とも形容される。

出典





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「スパゲッティプログラム」の関連用語

スパゲッティプログラムのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



スパゲッティプログラムのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリスパゲッティコードの記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのスパゲティプログラム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS