- ベストアンサー
スパゲティソースについて
Javaでのスパゲティソースというものは、 どういったものでしょうか? ごちゃごちゃしているのは、わかりますが どのようにごちゃごちゃしているのかソースを 提示していただければ幸いです。 ※ オブジェクト指向を意識したものでなくて けっこうです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
if(MaxNo = func1pare(card)){ if(work = func2pare(card)){ if(work2=func3card(card)){ MaxNo = work; if( MaxNo < work2 ){ MaxNo = work2; } ret = fullhouse; } else { MaxNo = work2; ret = pare2; } } else{ if(work = func3card(card)){ if(work2=func4card(card){ if(work3=func5card(card)){ MaxNo = work3; ret = card5; } else { MaxNo = work2; ret = card4; } } else { MaxNo = work; ret = card3; } } else { ret = pare1; } } else if(MaxNo=funcsStraight(card)){ if(work = funcFlash(card)){ if(work2=funcRoyal(card)){ MaxNo=work2; ret = RoyalStraightFlash; } else { MaxNo = work; ret = StraightFlash; } } else { ret =Straight; } } else if( MaxNo = funcFlash(card)) { ret = Flash; } else { MaxNo = funcMaxCard(card); ret=BUTA; } たとえば、トランプの役を求めるif文だらけのプログラム func1pare func2pare 等、役を求める部分をとりあえず 関数として記載した(戻り値は、該当カードで最大のカード、 役が無ければ0とする)が、これらの役を求める関数を 関数にしないで埋め込んで作成するとりっぱな スパゲッティになります。 本来はこんな作り方はしないです ペア物を求める関数 ストレート系を求める関数 フラッシュ系を求める関数 上記3つの関数での構成になると思いますが スパゲッティなのであえて...
その他の回答 (1)
- oshiete_BP
- ベストアンサー率0% (0/1)
この質問に誰が答えられるのか疑問です 普段からプログラムを書いている人は、意識しなくても ソースはスパゲッティーになりません。 そんな人が、 逆に意識してスパゲッティーになるソースを書くのは難しいです そして、プログラムの初心者が自分の恥ずかしいスパゲッティ プログラムをUPすると思いますか? 又、スパゲッティである以上、ソースは長くなります あなたの質問に答えるためだけに、そんな無駄なプログラムを書け とおっしゃるのですか? 下にポーカーの役判定のプログラムを記述している方がいますが、 自分でポーカーの役判定のプログラムを1から書いてみたら いかがですか? あるいは、コンピュータ側の将棋のロジックでもいいです 要は複数の分岐と、ループ、ループの途中で抜ける処理が あるプログラムです それを、関数による細分化をしないで書けば、たいてい スパゲッティになると思います
補足
「スパゲッティーソースを書けない人は、回答しなくていい。」 そういうことです。
お礼
すばらしいスパゲッティーソースですね☆ わざわざありがとうございます!