イタリア製の西部劇を「マカロニ・ウエスタン 」という。海外では「スパゲティ・ウェスタン」と言うのだが、日本では、かの淀川長治氏が「スパゲティでは細くて貧弱そうだ」として、マカロニに変えてしまい、そのまま定着したらしい。
しかし、スパゲティにせよマカロニにせよ、西部劇に冠する言葉として、食べ物の名前を選ぶという感覚は、私にはよく分からない(「ハードボイルド」の語源が卵のゆで方だったり、「上を向いて歩こう」が「スキヤキ」になるのと同じくらい分からない)。
それに比べると、「スパゲティ・コード」という言葉は分かりやすい。「処理の流れや構造を把握しにくく、修正や機能の追加が困難なプログラム(e-Word )」(のソースコード)のことを、スパゲティのからまった麺に例えているのである。
個人的には、最近、スパゲティ・コードという言葉はあまり聞かなくなったような気がする。オブジェクト指向プログラミングの普及と共に、処理の順番にコードを書いていくようなことが少なくなったからだろうか。しかし、もちろん、読解困難なコードが少なくなったということではない。
「アンチパターン ソフトウェア危篤患者の救出 」という本にも、「スパゲティコード」という言葉は出てきている。しかし、それは幾つもあるアンチパターンの中のひとつでしかない。つまり、悪いコードは「スパゲティ」という一言では表せないのである。プログラミング言語の発展により、そのパターンは、いっそう多様化してきたようにも見える。
色々な処理を詰め込みすぎたクラス(「アンチパターン」では「肥満児」と呼ばれる)、仕様変更等で多くの処理が使われなくなり中身が空洞化してしまった関数、異常に長くてうねっているように見えるコード(YukiWikiで「うねりコード」 と呼ばれている)・・・。
・・・ラビオリ、マカロニ、エリーケ。まさに、いろんな種類のパスタを見るようではないか。
■関連記事
・オブジェクトの気持ち
・簡単コピー・プログラミングの罠
・しらみつぶし
・リファクタリング ~ 動いているプログラムを触る
■関連リンク
・スパゲティプログラム(Wikipedia)
・パスタ(Wikipedia)
・ハードボイルド(Wikipedia)
ソフトバンククリエイティブ (2002/07)
売り上げランキング: 68328
開発者~管理者まで参考になる
良い本だと思うけど星3つの訳
ソフトバンククリエイティブ (1999/10)
売り上げランキング: 3526
原書は未だにトップランク
理解しておくとよい本