まとめ @ wiki

スパゲッティコード

最終更新:

shells

- view
管理者のみ編集可

スパゲッティコード ( スパゲッティプログラム )

処理の流れや構造を把握しにくく、修正や機能の追加が困難なプログラム。
 
むやみに制御を ( GOTO文などで ) 他の部分に飛ばしたり、変数の有効範囲を必要以上に広げたりすると、
後からプログラムのごく一部を修正したい場合でも、プログラム全体を読み直さないと構造が理解できないという事態に陥る。
この様子を、麺が複雑に絡み合い、たった数本の麺を引っ張り出そうとしても全体がついてくる、スパゲッティに例えたのがこの言葉である。
 
スパゲッティプログラムができる原因はいろいろあるが、設計段階で一貫した制御の流れを用意しなかったり、
一度プログラムが完成した後にいろいろな機能を後付けしたり、といった理由によるものが多い。
いずれにせよ、プログラムの本線となる流れをはっきりさせておき、メリハリのある処理を行うことが、スパゲッティプログラムの防止につながる。
 
スパゲッティプログラムはメンテナンス性に欠けるため、バグの温床になりやすく、低品質なプログラムができやすい。
スパゲッティプログラムを改造する必要に迫られた場合は、一からプログラムを書き直した方が品質が高く、しかも短時間で仕上がる場合も多い。

記事メニュー
目安箱バナー