ソースコードの見通しが悪く、解読が困難になってしまっているプログラムのことです。
ロジックが複雑に絡み合っている様子を、皿に盛られたスパゲッティに例えた俗語です。
たとえば、変数や関数などの不適切な名前付け(命名規約が取り決められていなかったり、守られていなかったりした結果)、極端に複雑な制御構造(分岐や繰り返しが何重にも入れ子になっていたり、goto文を乱用したりした結果)、思いがけないところと共有された変数の存在(グローバル変数の乱用や、メモリの極端な節約志向などの結果)といったことが原因になります。
第三者による解読を難しくするためにおこなう難読化や、コードのサイズを削減するために不要な文字を削除したり識別子を短く変換したりする最小化(ミニファイ)とは異なるものです。
スパゲッティプログラムは可読性や保守性が非常に悪く、プログラムを実行して発見されたバグの原因をコード内から特定することも、正しく修正することも困難です。また、新しい機能を追加したバージョンアップ版を作成することも難しくなります。
スパゲッティプログラムにならないように、コーディング規約を遵守し、一般的なガイドラインを極力遵守し(スコープを狭く保つなど)、定期的にリファクタリングを行うなどして、コードの見通しが良い状態を保つようにすべきです。スパゲッティプログラムになってしまった場合にも、リファクタリングの手法を用いて改善を図ることができます。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |