スパゲティプログラム
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/04 02:40 UTC 版)
名称の由来は、皿に盛られたスパゲッティのように実行される箇所の線が絡み合っていることから。「パスタプログラム」とも呼ばれる。
注釈
- ^ 1命令や1行だけを実行させ、命令ごとあるいは行ごとの状態が正常かどうかひとつひとつ確認すること。
- ^ 大規模プロジェクトでは命名規則がコーディング規約で整備されていることが多いが、その命名規則に従っていない一貫性のないコードは可読性の低いプログラムになりやすい。そもそも命名規則自体が現代的なコーディングスタイルに則しておらず不適切であることもある。
- ^ 1つの変数に複数の意味・役割を持たせて使いまわしすると、変数名も不適切・あいまいになりやすく、コードの可読性やメンテナンス性が低下する。
- ^ ただしCには大域ジャンプを可能とする
setjmp()
とlongjmp()
も用意されていた。 - ^ C++やObject Pascalにはデストラクタがあり、C#やJavaではusing文[4]やtry-finally文やtry-with-resources文[5]が使えるため、確実なリソース解放のためにgoto文やラベル付きbreak文などを使用する必要はない。
- ^ 「寝たバグを起こす」「寝ているバグを起こす」とも形容される。
出典
- ^ スパゲッティコード(スパゲッティプログラム)とは - 意味をわかりやすく - IT用語辞典 e-Words
- ^ スパゲッティコードの意味とは?具体例や対策について詳しく解説
- ^ ジャンプ ステートメント - break、continue、return、goto - C# | Microsoft Learn
- ^ using ステートメント - 破棄可能なオブジェクトが正しく使用されるようにする - C# | Microsoft Learn
- ^ try-with-resources 文 | Java SE 7 Documentation | Oracle
- ^ アンチパターンってなに? | Think IT(シンクイット)
- ^ 初期化 - cppreference.com
- ^ memcpy, memcpy_s - cppreference.com
- ^ How to: Define move constructors and move assignment operators (C++) | Microsoft Learn
- ^ Opinion -- 川俣 晶:ソフト開発を成功させる1つの方法 - @IT
- ^ Lecture 4: IPC & Threads / CSE 120: Principles of Operating Systems | Alex C. Snoeren, カリフォルニア大学サンディエゴ校
- ^ JEP 428: javaマルチスレッドプログラミングを容易にする構造化並行性
- ^ Windows with C++ - The Pursuit of Efficient and Composable Asynchronous Systems | Microsoft Learn
- ^ まずコードの可読性を最適化しよう | POSTD
固有名詞の分類
プログラミング言語の構文 |
ハンガリアン記法 Lint スパゲティプログラム 配列 字下げスタイル |
- スパゲティプログラムのページへのリンク