07/07/21 09:27:51
>>423
パーサーとかそんな感じで作るけど
#ifdef DEB_PRINTしこんで
コールグラフ作ればいいだろ。
んで文法作ればいい。おそらく処理しきれない
例外を見過ごして別の規則に遷移してるだけ
じゃねーの?
427:仕様書無しさん
07/07/21 09:28:44
16ビットの制限とかあるんじゃね?
428:仕様書無しさん
07/07/21 09:33:31
>423
hogeX()や各case値に意味あるんだろうから、そっから状態遷移図でも描いて見れば。
429:仕様書無しさん
07/07/21 09:46:32
>>428
hogeX()や各case値に意味あるケースは稀じゃね?w
430:仕様書無しさん
07/07/21 09:49:31
そうなのかw
431:仕様書無しさん
07/07/21 09:55:27
caseでのコードではこんなのあったな@Java
メンテしろと言われたけど、拒否したら左遷された
後任は自殺未遂したらしいけど・・・
うろ覚え
int i = 20;
label WHILE_LABEL;
while(true) {
switch (i) {
case -3:
i = func3();
break WHILE_LABEL;
case -2:
i = func3();
break WHILE_LABEL;
case -1:
i = func3();
break WHILE_LABEL;
// 中略
case 50:
i = func50();
break;
default:
i = func0();
}
}
423のに似ているけど戻り値がリザルトコードになっていてマジでカオス
432:仕様書無しさん
07/07/21 10:25:39
オブジェクト指向はおろか構造化すら怪しいグラマが必死に考え出したコードっぽいな。
こんなコードが随所にあるなら431は拒否して正解だ。
433:431
07/07/21 10:31:32
随所どころか、辛うじて理解できた一部だよ
結局、ほとんど理解できなかった
434:仕様書無しさん
07/07/21 10:42:34
例はちょっと書けないけど最強にカオスなコードならあるぞ
make
yaccでmake+コード自動生成
生成コードmake
yaccでmake+コード自動生成
・・・
これが15回も繰り返されるカオスなコードあったよ
435:仕様書無しさん
07/07/21 11:58:45
>>434
それは何のプログラムなの?
436:423
07/07/21 12:10:28
>>425
1関数のサイズの上限が決まってたと思う
>>426,428
何年も前に終わった仕事について批判されてもなぁ・・・
大体1関数が1000行って時点で何かおかしいんだから直して当然だろ
437:仕様書無しさん
07/07/21 13:08:52
関数ってどんなに多く書いても数百行で済まないか?
絶対処理分割できるぞ
438:仕様書無しさん
07/07/21 14:23:36
>>436
関数の制限じゃなくてswitchの制限だと思うよ。
439:仕様書無しさん
07/07/21 14:51:16
>>437
普通に手続き言語をやってくれば、どんなに長くても数百行なんだが、
大昔のPLCしか触ったことない奴だとだらだら書く事しか知らなくて、1000行とかいく事がある。
440:仕様書無しさん
07/07/21 16:49:09
実行される行数が50を超えたらそれは長すぎ。
441:仕様書無しさん
07/07/21 16:52:49
>>440
実行される行数ってコンパイルした後の話か?
442:仕様書無しさん
07/07/21 17:38:24
実行後の行数なんて意識する必要ないだろ、50行超えたら読みにくいだけ
443:仕様書無しさん
07/07/21 17:43:39
別にコードなんて動けばどーでもいいんだよ
オマイラだってどうせ適当に書いて後は野となれ山となれだろう?
この会社辞めようと思ったソースコードなんてお高くとまってないで
正直になれよ
プログラムなんてちゃんと動けばそれでいいんだよ
444:仕様書無しさん
07/07/21 17:44:18
煽り乙
445:仕様書無しさん
07/07/21 17:54:01
>>443
中国産は長い・意味不明・動かないの3拍子揃ってるぜw
446:仕様書無しさん
07/07/21 18:05:21
>>445
コメントが中国語なら尚可。