- 1 名前:仕様書無しさん [2006/12/26(火) 16:18:46 ]
- この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板に逝って。 前スレ この会社辞めようと思ったソースコード#14 pc8.2ch.net/test/read.cgi/prog/1158190165/
- 378 名前:355 mailto:sage [2007/01/21(日) 21:40:16 ]
- そんな深いこと書いたつもり無かったんだけどw
おいらが思ったのは>>372 >>374は微妙な感じ。。。 >>375はsomeFunc, someFunc2両方とも実行されるから意味が異なる
- 379 名前:355 [2007/01/21(日) 21:42:10 ]
- うそでした
>>375もsomeFuncがfalseとなった時点でthen以下が実行されるな すまそ
- 380 名前:仕様書無しさん mailto:sage [2007/01/21(日) 21:46:04 ]
- >>374, 375とも微妙なのは
たとえば、 func1をconnectDB() func2をexecSQL とすると分かりやすい。 って、んなこと書いてねーじゃん。すまん
- 381 名前:仕様書無しさん mailto:sage [2007/01/21(日) 21:56:35 ]
- VBだとORは〜ってのを思い出すなぁ
- 382 名前:仕様書無しさん mailto:sage [2007/01/21(日) 22:50:49 ]
- >>380
微妙じゃないじゃん。
- 383 名前:仕様書無しさん mailto:sage [2007/01/22(月) 00:19:24 ]
- >>382
javaならそうね。 VBだと、両方評価されるんだ。
- 384 名前:仕様書無しさん mailto:sage [2007/01/22(月) 01:09:32 ]
- なにその糞言語。
- 385 名前:仕様書無しさん mailto:sage [2007/01/22(月) 01:15:00 ]
- マジだから。
- 386 名前:仕様書無しさん mailto:sage [2007/01/22(月) 01:22:09 ]
- マジだね。
ショートサーキット利かない言語って意外とあるよ。 それで何度ブチ切れたことか。 # 言語仕様を把握せずに書いてる俺が悪いんだが。
- 387 名前:仕様書無しさん mailto:sage [2007/01/22(月) 02:15:01 ]
- support.microsoft.com/kb/817250/ja
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbcn7/html/vaconbooleanoperatorchanges.asp これをみると、VB6はショートサーキット評価は効かない 2005もしくは.NETの場合でも明示的にAndAlsoかOrElseを使わないと効かない ということだ。355のおかげで勉強になりました。ありがトン
- 388 名前:仕様書無しさん mailto:sage [2007/01/22(月) 12:59:37 ]
- 言語仕様がうんぬんに左右されず,読みやすいってことで
>>373の書き方が一番じゃないのかなぁ
- 389 名前:仕様書無しさん mailto:sage [2007/01/22(月) 16:22:04 ]
- そんな程度のことにこだわっても良いこと無さげ。
- 390 名前:仕様書無しさん mailto:sage [2007/01/22(月) 19:42:24 ]
- そもそも、VB6以前は、C言語の&&や||に相当する演算子が無かった希ガス。
(And は & の意味だし、Or は | の意味だったと思う)
- 391 名前:仕様書無しさん mailto:sage [2007/01/22(月) 21:28:57 ]
- ねーよ
速度を考えると多段IFとかになる だからもうね
- 392 名前:仕様書無しさん mailto:sage [2007/01/22(月) 21:56:07 ]
- なんでVBって
dim i as integer = 0 とかって書けないの?いちいち2行使うのうざいんですけど あと、! も使えなくてNot 3文字も打つ羽目になる
- 393 名前:仕様書無しさん mailto:sage [2007/01/22(月) 22:01:38 ]
- そうそう
for dim i=0 to 5 と書けないのがうざい
- 394 名前:仕様書無しさん mailto:sage [2007/01/22(月) 22:09:03 ]
- >392
上は .NET で解消したはず オレもVBやってるときにイラついた仕様だ
- 395 名前:仕様書無しさん mailto:sage [2007/01/22(月) 22:49:16 ]
- dim って dimension じゃなかったっけ?
配列以外の変数を宣言するのにも dim を使うのってなんか違和感ある。
- 396 名前:仕様書無しさん mailto:sage [2007/01/22(月) 22:51:17 ]
- そーっすか
- 397 名前:仕様書無しさん mailto:sage [2007/01/22(月) 23:03:59 ]
- >>395
BASIC時代に配列をDIMで宣言していた名残ですな いまさら変更するわけにもいかんって感じじゃない?
- 398 名前:仕様書無しさん mailto:sage [2007/01/23(火) 00:24:30 ]
- VBで一番イラつくのは ; がないこと。 といってみる。
- 399 名前:仕様書無しさん mailto:sage [2007/01/23(火) 00:36:05 ]
- . があるCOBOLならOKですか?
- 400 名前:仕様書無しさん mailto:sage [2007/01/23(火) 00:39:34 ]
- >>398
Pythonでその辺が不満
- 401 名前:仕様書無しさん mailto:sage [2007/01/23(火) 02:18:56 ]
- >>400
Pythonは、別にセミコロン書いても問題ないし。 不満に思う理由が分からん。
- 402 名前:仕様書無しさん mailto:sage [2007/01/23(火) 02:49:41 ]
- VB実は : が使えるのではないだろうか
- 403 名前:仕様書無しさん mailto:sage [2007/01/23(火) 02:56:50 ]
- つけることで特殊な意味を持つ命令もあるから気を付けろ
- 404 名前:仕様書無しさん mailto:sage [2007/01/23(火) 09:35:57 ]
- セミコンマを使えばいいのに
- 405 名前:仕様書無しさん mailto:sage [2007/01/23(火) 09:52:34 ]
- >>393
それも .NET では For i As Integer = 0 to 5 と書ける。とても便利。
- 406 名前:仕様書無しさん mailto:sage [2007/01/23(火) 21:28:00 ]
- セミコンマ の検索結果 3 件中 1 - 3 件目
- 407 名前:仕様書無しさん mailto:sage [2007/01/23(火) 21:38:34 ]
- .NETマンセーーーーーーーーーーーーー!!!!
でもマネージドコードとかいうやつに胡散臭さを感じる
- 408 名前:仕様書無しさん mailto:sage [2007/01/23(火) 21:39:59 ]
- セミコンマと
アホトンマは似ている
- 409 名前:仕様書無しさん mailto:sage [2007/01/23(火) 22:01:16 ]
- アホトンマに該当するページが見つかりませんでした。
- 410 名前:仕様書無しさん mailto:sage [2007/01/23(火) 22:47:21 ]
- アホトンマ の検索結果 3 件中 日本語 のページ 1 - 3 件目 (0.23 秒)
- 411 名前:仕様書無しさん [2007/01/23(火) 23:02:09 ]
- マホカンタ の検索結果のうち 日本語のページ 約 43,500 件中 1 - 10 件目 (0.12 秒)
- 412 名前:仕様書無しさん mailto:sage [2007/01/23(火) 23:02:44 ]
- セミコンマとマホカンタは似ている
- 413 名前:仕様書無しさん mailto:sage [2007/01/23(火) 23:08:07 ]
- >>For i As Integer = 0 to 5
Asじゃまだなぁ
- 414 名前:仕様書無しさん mailto:sage [2007/01/23(火) 23:14:43 ]
- ちなみにその i のスコープってどこになるの?
- 415 名前:仕様書無しさん mailto:sage [2007/01/23(火) 23:15:01 ]
- 話がずれるけど、Cの、
void func(int a, int b, int c); もめんどうだな。 なんで、 void func(int a, b, c); じゃだめなんだろ。
- 416 名前:仕様書無しさん mailto:sage [2007/01/23(火) 23:54:38 ]
- >>415
パースするのが面倒だから。
- 417 名前:仕様書無しさん mailto:sage [2007/01/24(水) 00:34:07 ]
- >>416
ちょっとワロタ
- 418 名前:仕様書無しさん mailto:sage [2007/01/24(水) 00:50:17 ]
- typedef int b;
って書いてあったら2つ目どーすんだよ。
- 419 名前:仕様書無しさん mailto:sage [2007/01/24(水) 00:55:42 ]
- >>418
意味わかんね
- 420 名前:仕様書無しさん mailto:sage [2007/01/24(水) 00:59:31 ]
- >>418
コンパイルエラーだろ
- 421 名前:仕様書無しさん mailto:sage [2007/01/24(水) 01:04:01 ]
- >415
関数定義なら void func(a, b, c) int a, b, c; { /* etc.etc. */ } ってのはできるけどなぁ。まぁ、新たに書き起こすコードの関数定義を K&Rスタイルで書く奴が職場にいたらちょっと辞めたくなるw
- 422 名前:仕様書無しさん mailto:sage [2007/01/24(水) 01:09:54 ]
- My name is 茶イロがっPaガイコツM.
- 423 名前:仕様書無しさん mailto:sage [2007/01/24(水) 01:20:48 ]
- つうか、スレ違いのお前らがうざい
- 424 名前:仕様書無しさん mailto:sage [2007/01/24(水) 19:47:52 ]
- >415
Delphiって確かそんな感じに書けるんだっけ?
- 425 名前:仕様書無しさん mailto:sage [2007/01/24(水) 19:58:38 ]
- 書けるよ。
A, B, C: Integer とか。 変数の宣言も引数もおk
- 426 名前:仕様書無しさん mailto:sage [2007/01/24(水) 21:34:01 ]
- VB.netも使える記法だろ?
- 427 名前:仕様書無しさん mailto:sage [2007/01/25(木) 22:58:29 ]
- VBって
Dim A, B, C As Integer ってやると A, B はバリアントになるんじゃないっけ? それってDelphiの A, B, C: Integer とは意味が違うだろ
- 428 名前:仕様書無しさん mailto:sage [2007/01/26(金) 01:33:28 ]
- だから .net って書いてあるだろハゲ
- 429 名前:仕様書無しさん mailto:sage [2007/01/28(日) 05:58:47 ]
- ところで聞いてくれ。
最初は2つくらいのcaseがあるswitch文だったんだ…。 面倒だったから、そのままcaseを追加したんだ…。 またしばらくして、ちょっとcaseを追加したんだ…。 そのまたしばらく後…。
- 430 名前:仕様書無しさん mailto:sage [2007/01/28(日) 09:26:11 ]
- >>429
あーあ。
- 431 名前:仕様書無しさん mailto:sage [2007/01/28(日) 13:31:13 ]
- >>429
elseifが山ほど並んでいるよりずっといいじゃないか
- 432 名前:仕様書無しさん mailto:sage [2007/01/28(日) 13:38:26 ]
- それはテライヤス
- 433 名前:仕様書無しさん mailto:sage [2007/01/28(日) 14:09:29 ]
- >>432
でも、switch文を嫌ってif文でないと受け付けない奴が実在する。 そいつが書いたコードで1万行近いif文の塊があって、読みにくいどころか バグってたのだけど、殺しても無罪だよね?
- 434 名前:仕様書無しさん mailto:sage [2007/01/28(日) 16:50:03 ]
- 自分のやったことが激しく犯罪であると認めさせた後にな
- 435 名前:仕様書無しさん mailto:sage [2007/01/28(日) 19:15:06 ]
- 殺したら情状酌量はされるが有罪だと思う。
しかし、実力行使ではなく訴えたら勝てる気がする。
- 436 名前:仕様書無しさん mailto:sage [2007/01/28(日) 19:40:06 ]
- どのような違法行為であると?
いや、人として許せないのは同意なんだが
- 437 名前:仕様書無しさん mailto:sage [2007/01/28(日) 21:36:50 ]
- >>436
業務執行妨害 不法バグ混入罪 猥褻物陳列罪
- 438 名前:仕様書無しさん [2007/01/28(日) 23:14:35 ]
- >433
陪審制なら無罪だな。
- 439 名前:仕様書無しさん mailto:sage [2007/01/29(月) 01:02:48 ]
- >429,431
ifやforが山脈のように連なってるよりずっといいじゃないか
- 440 名前:仕様書無しさん mailto:sage [2007/01/29(月) 04:10:54 ]
- >ifやforが山脈のように連なってるよりずっといいじゃないか
うまいたとえだ
- 441 名前:仕様書無しさん mailto:sage [2007/01/29(月) 08:39:53 ]
- 無能なのを雇っているのが悪いと言うこともあるから業務執行妨害はちと無理が
あるが、猥褻物陳列罪については釈明の余地は無いな。
- 442 名前:仕様書無しさん mailto:sage [2007/01/29(月) 17:40:58 ]
- >>433
1万行ww
- 443 名前:仕様書無しさん mailto:sage [2007/01/29(月) 19:58:13 ]
- >>441
猥褻物陳列罪は成立するんだwww 変なコード書くと猥褻物陳列罪でしょっ引かれるのか。
- 444 名前:仕様書無しさん mailto:sage [2007/01/29(月) 20:35:40 ]
- ま、1万行もあれば芸術性で争うことも無理があるっしょ?
- 445 名前:仕様書無しさん mailto:sage [2007/01/29(月) 21:46:54 ]
- >>444
遠目で見るとAAができてんじゃね?
- 446 名前:仕様書無しさん mailto:sage [2007/01/30(火) 00:01:22 ]
- 見るのに相当な努力を要するものでも猥褻物陳列罪に問われるのか?
- 447 名前:仕様書無しさん mailto:sage [2007/01/30(火) 14:02:18 ]
- 注:このスレはフィクションです。
猥褻物を公共の場に晒すことは犯罪ですので絶対に行わないでください。
- 448 名前:仕様書無しさん mailto:sage [2007/01/30(火) 19:24:36 ]
- VB6 抜粋
Dim strTemp As String strTemp = "abcd" If Right(strTemp, 1) = "ABCD" Then ...... End If (;´д`) ・・・?
- 449 名前:仕様書無しさん mailto:sage [2007/01/30(火) 20:21:10 ]
- strutsの開発で全画面で一つのActionFormを使い回してるやつで
validateメソッドの中で条件分岐しまくりなのを見たとき。 ActionFormだけで6000行くらいあった。
- 450 名前:仕様書無しさん mailto:sage [2007/01/30(火) 20:42:56 ]
- 作りが古いな、1.0か?
- 451 名前:仕様書無しさん mailto:sage [2007/01/30(火) 22:52:55 ]
- >>448
これ何したいのか本気で分からないんだが… 何をやろうとしたらこうなるの?
- 452 名前:仕様書無しさん mailto:sage [2007/01/30(火) 23:27:55 ]
- >>445
ICCCか?
- 453 名前:仕様書無しさん mailto:sage [2007/01/30(火) 23:52:39 ]
- >>452
IOCCCじゃね? O=Obfuscated
- 454 名前:仕様書無しさん mailto:sage [2007/01/31(水) 14:22:41 ]
- >>448
予想1 大文字と小文字の文字コードが違う事を知らず、どこかで大文字と小文字の違いを認識OS
- 455 名前:仕様書無しさん mailto:sage [2007/01/31(水) 14:26:26 ]
- 大文字うとうとshift押しながら入力してEnterキー二度押ししてしまったOTZ
>>448 予想1 大文字と小文字の文字コードが違う事を知らず、どこかでOSによっては パスワードで大文字と小文字の違いを認識しないと聞いたのを曲解した。 予想2 メモリ確保のエラーのキャッチをするつもりだった。
- 456 名前:仕様書無しさん mailto:sage [2007/01/31(水) 16:16:08 ]
- >>454-455
right(hoge,1)はhogeの右端の一文字をとる。 左辺が1文字、右辺が4文字。 長さの違う文字列の比較は常にfalse。 大文字とか、小文字とか関係ない。 メモリが不足なら、IF文まで進まない。
- 457 名前:仕様書無しさん mailto:sage [2007/01/31(水) 17:28:02 ]
- strTemp を "abcABCD" にしたかったとか。
- 458 名前:仕様書無しさん mailto:sage [2007/01/31(水) 18:44:20 ]
- あまり使えない小人さんが作っただけだとオモ。
- 459 名前:仕様書無しさん mailto:sage [2007/01/31(水) 19:15:38 ]
- short BitCheck( short a_sArg )
{ short sDat; if( a_sArg&0x1000 ) { sDat = 0x1000; } else if( a_sArg&0x0800 ) { sDat = 0x0800; }else if( a_sArg&0x00400 ) { sDat = 0x0400; (以下略) } else if( a_sArg&0x0004 ) { sDat = 0x0004; } else { sDat &= 0x000f; } return sDat; } もう帰りたい。
- 460 名前:仕様書無しさん mailto:sage [2007/01/31(水) 19:22:28 ]
- >>459
ひたすらelseifが続いてるって事? んー、もっと短く書けそうな気がしないでもない。
- 461 名前:仕様書無しさん mailto:sage [2007/01/31(水) 20:13:17 ]
- >>460最後のelseの罠を言ってるんじゃね?
>>459のを普通にわかりやすく書くと、明らかにelseが間違ってるのわかると思う。 short BitCheck(short x){ x &= 0x1FFF; if(x & ~3){ int i; for(i=1;i<16;i+=i)x |= x>>i; x ^= x>>1; }else{ short uninitialize; uninitialize &= 0x000F; x = uninitialize; } return x; }
- 462 名前:仕様書無しさん mailto:sage [2007/01/31(水) 20:36:03 ]
- sDat初期化してないけどelseではいきなり&=してるのな。
- 463 名前:仕様書無しさん mailto:sage [2007/01/31(水) 23:06:30 ]
- 448
>456 それが正解です 何がしたいのかよくわからんコードでした タブンRightの第二変数で指定する長さを間違えてるんだと思う
- 464 名前:仕様書無しさん mailto:sage [2007/02/01(木) 01:03:24 ]
- pc10.2ch.net/test/read.cgi/prog/1159502192/864
俺がこの会社なら絶対に辞める。
- 465 名前:仕様書無しさん [2007/02/01(木) 10:16:50 ]
- これどういう意味?
switch (hrRetValue) { case REGDB_E_CLASSNOTREG: hrRetValue = REGDB_E_CLASSNOTREG; break; case CLASS_E_NOAGGREGATION: hrRetValue = CLASS_E_NOAGGREGATION; break; case CO_S_NOTALLINTERFACES: hrRetValue = CO_S_NOTALLINTERFACES; break; }
- 466 名前:仕様書無しさん mailto:sage [2007/02/01(木) 10:55:34 ]
- >>465 応答への処理を汎用化させるため、一部の結果を書き換えて代用する準備、
もしくはどの応答に現在対応済みなのか的な個人的メモ
- 467 名前:仕様書無しさん mailto:sage [2007/02/01(木) 11:05:03 ]
- とりあえず仮の処置として何もしないでおくということを示すなら
コメントで /* leave unchanged */ とか /* do nothing */ とか書いておくけどなー。
- 468 名前:仕様書無しさん mailto:sage [2007/02/01(木) 11:09:38 ]
- >>467
そんなコメント入れたら、オマエ以外の誰も本仕様を実装できないぞ。 普通に読めば「そのままにしとけ」「何もするな」だからな。
- 469 名前:仕様書無しさん mailto:sage [2007/02/01(木) 11:17:29 ]
- 誤解されないのは、
// PLACEHOLDER とか // TODO: 後で書く とかかね。
- 470 名前:465 [2007/02/01(木) 15:04:39 ]
- 問答無用で消させていただきました
- 471 名前:仕様書無しさん mailto:sage [2007/02/01(木) 18:57:32 ]
- /* これ消したら爆発します */
- 472 名前:仕様書無しさん mailto:sage [2007/02/02(金) 09:47:10 ]
- ttp://d.hatena.ne.jp/y_aoi/20070131
すっげー馬鹿 こんな人と仕事してたら大変だろうなぁ…
- 473 名前:仕様書無しさん mailto:sage [2007/02/02(金) 13:07:12 ]
- >>463
しかしこの場合正しい第2引数は4しかないぞ? それはつまり if "abcd" = "ABCD" then にしかならんぞ?
- 474 名前:仕様書無しさん mailto:sage [2007/02/02(金) 13:42:11 ]
- >472
そのページを読んだだけだが。 書かれている内容が、(自称)ベテランプログラマによるものなら問題。 しかし初心者であれば、一つ一つ丁寧に確認しながら覚えていく姿勢に好感さえ持てる。
- 475 名前:仕様書無しさん mailto:sage [2007/02/02(金) 13:57:18 ]
- >>472
これってJavaのenumを無理やり Cのenmuで実現させようとしてんのか?
- 476 名前:仕様書無しさん mailto:sage [2007/02/02(金) 14:02:15 ]
- enumerate の意味を理解してないだけだろ。
- 477 名前:葉猫 ◆Jz.SaKuRaM mailto:sage [2007/02/02(金) 14:05:42 ]
- フェイトのイラストが貼ってあった時点でヤバイとオモタ
- 478 名前:仕様書無しさん mailto:sage [2007/02/02(金) 14:09:17 ]
- フェイトじゃなくてヴィータじゃないかい?
ゲル・ギル・ガン・ゴー・グフォー…… ヴィーーーーータァーーーーーー!!!
|

|