煽りではないんだけど、逆にその挙動だけを見てそれらが原因とも言えないとは思う。オープンソースではない以上は内情は誰も分からんし…
木の最後で書いた通りで、自分はあくまで「そういう気がする」という話をしただけよ。一方で、外から挙動だけを見て原因を断定することも当然できないし、そこはおっしゃる通りで、実際のところはもっと多面的だと思う。 「スパゲッティだからバグが多い」と断定する“通ぶり”がちょっと胡散臭いだけで、原因そのものを決めつけるつもりはないよ。
結論先にいうと「長く続く大規模プログラムはスパゲッティになるのが普通だしバグは全部スパゲッティからくる。」スパゲッティって一言で言うと再帰的構造やツリーが深すぎるとかで追いきれないってことで、バグ修正で言うと「バグ直したつもりだったけど治ってなかったわー」とかはそういうものに起因する。10年以上続くサービスで、システムの多様化でスパゲッティになるのは全くおかしなことじゃなくて、たいていそうなってるからそういうもん。例えばお隣の惑星はv2.0にしてプログラムを書き換えて、昔言っていた「10年にわたり技術的負債」とやらを一新した。ゲーム以外で言ったら大ゴケしたけどみずほ銀行は日本IT界のサグラダ・ファミリアと言われるようなシステムに一新してスパゲッティなシステムとおさらばした。もう一度言うけど「スパゲッティ化は普通のこと」で、ついでにいうと何を以てスパゲッティというかは、外野は関係なく、「コード書き換えの際担当者がコードを追えるかどうか」がスパゲッティだと思うよ。
内容は理解できるけど、指摘されているのは「多層化による複雑性」や「レガシーとの整合性」といった構造的な問題で、一般的に言われる“スパゲッティコード”とは性質が少し異なると思う。コードの健全性という観点では、この二つを同一視してしまうと議論の焦点がずれるから注意していきたいよね
「多層化による複雑性」ってまさにスパゲッティコードの意味そのものでは...?
ウィキペディアによると『スパゲティプログラム(英: spaghetti program)またはスパゲティコード(英: spaghetti code)とは、コンピュータプログラムの状態を指すための表現(俗語)であり、命令の実行順が複雑に入り組んでいたり、遠く離れた関連性の薄そうなコード間で共通の変数が使われていたりするなど、処理の流れや構造が把握しにくい見通しの悪い状態になっているプログラムのことである[1]。スパゲッティプログラム、スパゲッティコードとも表記される』ってあるね。これを踏まえるといろんなところで同じコードが使われている(最近会ったミサイルの爆発いじくったらHEATの加害が無くなるバグとか)がそれにあたるのかな?
不適切なコンテンツとして通報するには以下の「送信」ボタンを押して下さい。 現在このグループでは通報を匿名で受け付けていません。 管理者グループにはあなたが誰であるかがわかります。
どのように不適切か説明したい場合、メッセージをご記入下さい。空白のままでも通報は送信されます。
通報履歴 で、あなたの通報と対応時のメッセージを確認できます。
木の最後で書いた通りで、自分はあくまで「そういう気がする」という話をしただけよ。一方で、外から挙動だけを見て原因を断定することも当然できないし、そこはおっしゃる通りで、実際のところはもっと多面的だと思う。
「スパゲッティだからバグが多い」と断定する“通ぶり”がちょっと胡散臭いだけで、原因そのものを決めつけるつもりはないよ。
結論先にいうと「長く続く大規模プログラムはスパゲッティになるのが普通だしバグは全部スパゲッティからくる。」スパゲッティって一言で言うと再帰的構造やツリーが深すぎるとかで追いきれないってことで、バグ修正で言うと「バグ直したつもりだったけど治ってなかったわー」とかはそういうものに起因する。10年以上続くサービスで、システムの多様化でスパゲッティになるのは全くおかしなことじゃなくて、たいていそうなってるからそういうもん。例えばお隣の惑星はv2.0にしてプログラムを書き換えて、昔言っていた「10年にわたり技術的負債」とやらを一新した。ゲーム以外で言ったら大ゴケしたけどみずほ銀行は日本IT界のサグラダ・ファミリアと言われるようなシステムに一新してスパゲッティなシステムとおさらばした。もう一度言うけど「スパゲッティ化は普通のこと」で、ついでにいうと何を以てスパゲッティというかは、外野は関係なく、「コード書き換えの際担当者がコードを追えるかどうか」がスパゲッティだと思うよ。
内容は理解できるけど、指摘されているのは「多層化による複雑性」や「レガシーとの整合性」といった構造的な問題で、一般的に言われる“スパゲッティコード”とは性質が少し異なると思う。コードの健全性という観点では、この二つを同一視してしまうと議論の焦点がずれるから注意していきたいよね
「多層化による複雑性」ってまさにスパゲッティコードの意味そのものでは...?
ウィキペディアによると『スパゲティプログラム(英: spaghetti program)またはスパゲティコード(英: spaghetti code)とは、コンピュータプログラムの状態を指すための表現(俗語)であり、命令の実行順が複雑に入り組んでいたり、遠く離れた関連性の薄そうなコード間で共通の変数が使われていたりするなど、処理の流れや構造が把握しにくい見通しの悪い状態になっているプログラムのことである[1]。スパゲッティプログラム、スパゲッティコードとも表記される』ってあるね。これを踏まえるといろんなところで同じコードが使われている(最近会ったミサイルの爆発いじくったらHEATの加害が無くなるバグとか)がそれにあたるのかな?