- 1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ]
- この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。 前スレ この会社辞めようと思ったソースコード#17 pc11.2ch.net/test/read.cgi/prog/1183700531/
- 652 名前:仕様書無しさん mailto:sage [2007/09/29(土) 03:12:53 ]
- >>557
亀レスだが、 Xbox360のバグまみれソフトだった、カ○ドセプトサー○がそうだったらしい。 なにしろ、Releaseビルドだと、起動すらしなかったとか。 冗談だろ・・・って言ったら、冗談じゃねぇ・・・と言われたときはさすがにあきれたねぇ。 ちなみに聞いた奴はあのバグまみれ騒動以来会社辞めたらしい。(そりゃそーだ)
- 653 名前:仕様書無しさん [2007/09/29(土) 08:51:25 ]
- >>633
うちの職場でもそうなんだけど 世の中はカプセル化を否定する方向に向かっているよ www.arclamp.jp/blog/archives/000541.html
- 654 名前:仕様書無しさん mailto:sage [2007/09/29(土) 09:53:22 ]
- カプセル化不要な方向に進んでいるのはあるけど、データの分離は別の話だと思うが?
しかし、プログラマのレベルが低すぎるからこそカプセル化が必要なんだと思われ。
- 655 名前:仕様書無しさん mailto:sage [2007/09/29(土) 10:57:57 ]
- >>653
世の中もなにもその記事だけじゃん。 capsctrl.que.jp/kdmsnr/wiki/bliki/?AnemicDomainModel
- 656 名前:仕様書無しさん mailto:sage [2007/09/29(土) 13:06:17 ]
- >>653
…つまらん。
- 657 名前:仕様書無しさん mailto:sage [2007/09/29(土) 21:46:25 ]
- VBだが文字列の切り出しに何でもかんでもMid使ってる
Mid(str, 1, 1)……ってLeft知らんのかこいつは……
- 658 名前:仕様書無しさん mailto:sage [2007/09/29(土) 21:51:13 ]
- てか、VBの場合ついLeft$, Mid$, Right$, String$って書いてしまうのは漏れだけか?
- 659 名前:仕様書無しさん mailto:sage [2007/09/29(土) 22:08:31 ]
- ロートル
- 660 名前:仕様書無しさん mailto:sage [2007/09/29(土) 22:44:57 ]
- >658
「1」が変数なら間違いとは思わんが、直値なら・・・ まぁいいか、VBならw
- 661 名前:仕様書無しさん mailto:sage [2007/09/29(土) 22:51:57 ]
- $つけないとVariant型が返ってくるぜ
- 662 名前:仕様書無しさん mailto:sage [2007/09/29(土) 23:02:41 ]
- >658
ノシ ……でも元ソースが全体に$なしがはびこってたり そもそも、「そんなに文字列と数値をごたまぜで扱いたいならPerlで書けよ」 って言いたくなるよーなのだと諦めて$なしで書くorz String型で計算の時だけCCurかましてずーーーーっと数値保持してるのを見たときなんてもうね(つ´д`;)
- 663 名前:仕様書無しさん mailto:sage [2007/09/29(土) 23:02:59 ]
- 今調べたんだけど Mid てステートメントもあるんだね。
- 664 名前:仕様書無しさん mailto:sage [2007/09/29(土) 23:08:37 ]
- >>657
Leftって文字列を扱うクラス以外にもあったから VB6みたいにLeft()って書いてもエラーになる 名前空間とクラス名を指定しないとダメだから そいつは使えないと判断したんじゃね
- 665 名前:仕様書無しさん mailto:sage [2007/09/29(土) 23:38:15 ]
- えーっと VB.NET?
- 666 名前:仕様書無しさん mailto:sage [2007/09/30(日) 01:34:01 ]
- microsoft.visualbasicはいらんぜよ
- 667 名前:仕様書無しさん mailto:sage [2007/09/30(日) 01:36:03 ]
- VS2005は無料版があるけど、インストールがマンドクセーから試してねぇな
仕事で使ったことも無いな
- 668 名前:仕様書無しさん mailto:sage [2007/09/30(日) 02:00:25 ]
- VC6のときのPlatformSDKがほしい
- 669 名前:仕様書無しさん mailto:sage [2007/09/30(日) 02:08:42 ]
- VSEE2008インスコしたけど・・・どうなの?
- 670 名前:仕様書無しさん mailto:sage [2007/09/30(日) 02:45:19 ]
- >668
CD取り寄せできるお Feb 2003がVS6対応最後のPlatformSDK めりけんからの送料掛かるけどなorz
- 671 名前:仕様書無しさん [2007/09/30(日) 09:23:37 ]
- >>662
VB6の本質はVariantだった。 それが理解できずに普通の型チェックを期待して四苦八苦した時期がありました・・・
- 672 名前:仕様書無しさん [2007/09/30(日) 10:32:47 ]
- 単発ならLeft$使うけど
周囲にMid$があるなら敢えてMid$統一しておく VB6の案件は厨や新人にお鉢が回るかもしれんから
- 673 名前:仕様書無しさん mailto:sage [2007/09/30(日) 10:42:44 ]
- >>657
そのレベルだとどっちでもいいと思うが・・・ どっちかってとあとは本人の好みの問題。
- 674 名前:仕様書無しさん mailto:sage [2007/09/30(日) 13:18:33 ]
- Midが周囲で使われてるからって、leftをmidに直しても、何もいいことないだろ?
- 675 名前:仕様書無しさん [2007/09/30(日) 13:54:25 ]
- 可読性があがる
VBで開発する以上、低スキルな保守要員が宛てがわれる可能性は考えとくべきじゃね? 昨日HelloWorldした新人でも違いが解りやすいじゃん
- 676 名前:仕様書無しさん mailto:sage [2007/09/30(日) 14:10:24 ]
- Mid(str, 1, 1) なんて書いてあると、何か意味があるのかと悩んでしまうな。
意味がわかるような関数を使おう。 似たような事例で、PEARに登録されているPHPのライブラリのひとつだが、 こんなん書いてあって意味がわからなかった。 substr_replace('string', 'replace', 0, 0); 関数の意味は名前のとおり、第三引数はstart、第四引数はlength 実際のコードは第一引数は文字列の配列だった。
- 677 名前:仕様書無しさん [2007/09/30(日) 14:20:44 ]
- 何か意味があるのかと悩む理由が解らんな
自作関数ならともかく。
- 678 名前:仕様書無しさん mailto:sage [2007/09/30(日) 14:21:35 ]
- それはお前が何も考えて無いからだなw 低脳コーダー乙
- 679 名前:仕様書無しさん mailto:sage [2007/09/30(日) 14:30:49 ]
- 新人でも文字列操作関数ぐらい全部わかるだろw
- 680 名前:仕様書無しさん [2007/09/30(日) 14:32:07 ]
- 動けばどっちでもいいと思うけど。
くだらん
- 681 名前:仕様書無しさん mailto:sage [2007/09/30(日) 14:52:47 ]
- >>644
ありえねぇーwwww んなこと言うような企業は間違いなくDQN
- 682 名前:仕様書無しさん mailto:sage [2007/09/30(日) 15:04:22 ]
- >>644
言われても嫌だが、ソースコードに書いてあっても嫌だな...
- 683 名前:仕様書無しさん mailto:sage [2007/09/30(日) 15:30:55 ]
- >>680
仕事なら、動くだけじゃだめだろ。
- 684 名前:仕様書無しさん mailto:sage [2007/09/30(日) 16:05:16 ]
- >>683
仕事なのに「動けばいい」「スパゲティだからってゼロから作り直すのは駄目」とか それなのに「機能追加しろ」とか言われ、選手交代になった派遣社員が通りますよ…
- 685 名前:仕様書無しさん mailto:sage [2007/09/30(日) 16:54:10 ]
- >>675
いや、可読性下がるんじゃね?
- 686 名前:仕様書無しさん mailto:sage [2007/09/30(日) 16:57:46 ]
- leftとmidを混在させないで、midに統一したら読みやすくなるって説は、
leftとmidの機能を思い出しながら読むのが大変って意味か?
- 687 名前:仕様書無しさん mailto:sage [2007/09/30(日) 17:19:45 ]
- 固定長テキストファイルを読み出すときに、
Left$(str, 10) Mid$(str, 11, 10) 〜 Mid$(str, 101, 10) とかずらずら書いて、一番上のLeft$をMid$にしたら、 引数の数もそろって綺麗なんじゃね? って10秒くらい考えたけど、 ばかばかしいのでそのままテストをした覚えはある。
- 688 名前:仕様書無しさん mailto:sage [2007/09/30(日) 17:25:28 ]
- あー位置が揃うとか、そういう意味か。
- 689 名前:仕様書無しさん mailto:sage [2007/09/30(日) 17:30:08 ]
- この場合だったら
for i = 1 to 10 hoge(i) = mid$(str, i*10+1, 10) next とか書けばすっきりじゃね?
- 690 名前:仕様書無しさん mailto:sage [2007/09/30(日) 17:53:27 ]
- 若人の俺は、VBのファニー文字みたいな奴がよくわからん。
体型立てて勉強しようにも、そういった資料が少なくない?
- 691 名前:仕様書無しさん mailto:sage [2007/09/30(日) 17:56:27 ]
- ファニー文字って、$とか%とか?
ヘルプに載ってるんじゃないの?
- 692 名前:687 mailto:sage [2007/09/30(日) 18:47:14 ]
- >>688
そういう意味で悩んだけど、可読性があがるとは今でも思わないな俺は。 >>689 昔のコードなんで覚えてないからてきとーに書いたんだけど、 文字長ばらばらで、forでまとめるわけには行かなかったと思った。 そうであって欲しい。 そうでなければ悲しすぎる。
- 693 名前:仕様書無しさん mailto:sage [2007/09/30(日) 18:57:52 ]
- もし使ってる言語に、midやらsubstring相当の機能しかなかったら、leftやらrightやらって
ルーチンを自作して使う。 機能が限定されてるルーチンのほうが意図が伝わるから。
- 694 名前:仕様書無しさん mailto:sage [2007/09/30(日) 19:19:42 ]
- 顧客 「開発方法はLyeeとありますが?」
カテナ「はい。Lyeeです。」 顧客 「Lyeeとは何のことですか?」 カテナ「理論です。」 顧客 「え、理論?」 カテナ「はい。理論です。開発期間が従来の5分の1〜10分の1です。」 顧客 「・・・で、そのLyeeは当社での開発で何のメリットがあるとお考えですか?」 カテナ「はい。設計もテストも不要です。」 顧客 「いや、そもそも設計やテストは貴社の担当です。それに設計書が無いのは不安ですね。」 カテナ「でも、業務知識がなくても開発可能ですよ。」 顧客 「いや、可能とかそういう問題じゃなくてですね・・・」 カテナ「ドキュメント量が100分の1ですよ。」 顧客 「ふざけないでください。それに100分の1って何ですか。だいたい…」 カテナ「1%です。保守資料無しとも考えられます。深層心理においては…」 顧客 「聞いてません。帰って下さい。」 カテナ「あれあれ?怒らせていいんですか?使いますよ。Lyee。」 顧客 「いいですよ。使って下さい。Lyeeとやらを。それで満足したら帰って下さい。」 カテナ「運がよかったな。今、撤退を決めたみたいだ。」 顧客 「帰れよ。」
- 695 名前:仕様書無しさん mailto:sage [2007/09/30(日) 20:14:58 ]
- >>694
Lyeeでググってみたけど、UMLからソースコード生成するのと似たようなもん? 完全生成できたとしてもシステムテストとかはするよな、普通。
- 696 名前:仕様書無しさん mailto:sage [2007/09/30(日) 21:58:53 ]
- 思い出した!
VBで「こうやんないとうまく動かない」みたいな(正確には覚えてないけど)関数名があった。 コメントならまだしも、勘数名でこれとは...
- 697 名前:仕様書無しさん mailto:sage [2007/09/30(日) 23:08:32 ]
- >>694
普通はこうなる。 顧客 「開発方法はLyeeとありますが?」 カテナ「はい。Lyeeです。」 顧客 「Lyeeとは何のことですか?」 カテナ「理論です。」 顧客 「え、理論?」 カテナ「はい。理論です。開発期間が従来の5分の1〜10分の1です。」 顧客 「つまりその分開発費用も安くなると言うことですか。すばらしい。よし採用。けってーい。」 まあ、Lyeeなんてしらんがなw
- 698 名前:仕様書無しさん mailto:sage [2007/10/01(月) 01:06:28 ]
- Lyeeって情報システム板でやたらスレが荒れてた記憶があるな。
- 699 名前:仕様書無しさん mailto:sage [2007/10/01(月) 02:31:13 ]
- だってあれは・・・良く見てみれば。プリコンパイラにしか過ぎない。
- 700 名前:仕様書無しさん mailto:sage [2007/10/01(月) 03:52:55 ]
- てst
- 701 名前:仕様書無しさん [2007/10/01(月) 12:41:33 ]
- >>670
www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
- 702 名前:仕様書無しさん mailto:sage [2007/10/01(月) 21:10:18 ]
- >>670
>>701 スレ違いになってしまったけどサンクス これでCPANの古めのモジュールがmakeできるかもしれん
- 703 名前:仕様書無しさん mailto:sage [2007/10/02(火) 22:02:30 ]
- >>696
そういえばあの関数なぜかうまく動かないからその関数は自分で作ったよ。 傍から見たらライブラリにあるのになんで?って思われるだろうな。
- 704 名前:仕様書無しさん mailto:sage [2007/10/05(金) 01:03:37 ]
- Cで関数定義の頭に概要の説明が書いてあるソースがあった。
/* -- 概要 共通ログ出力関数 呼び出し方法: void logfunc(int errcd, char *funcname); 引数:なし 戻り値:0:正常 -1:異常 */ void outlog(int errcd, char *funcname) { ...以下定義 もう一つ /* 呼び出し方法: int func(void) 戻り値:0:正常 -1:異常 */ void func(){/* 定義 */} ..で実際の呼び出し箇所にいくと func("XXXX"); 1つ2つならまだいいけど、万事がこんな感じ。コメントウソ書きすぎ。 わざとやってるんじゃないかと疑いたくなってくる。
- 705 名前:仕様書無しさん mailto:sage [2007/10/05(金) 02:41:57 ]
- 「苦肉の策」とか「後で修正しておくこと」とかもう諦めてるんだけど、
「苦肉の策!(笑)」とか「後で修正する必要アリ(´д`)」とかになってるとマジ辛い。 昨日も昼ごろ似たようなコメント見つけて午後ずっと気分悪かった。
- 706 名前:仕様書無しさん mailto:sage [2007/10/05(金) 09:18:07 ]
- 気持ちに余裕がないのね
- 707 名前:仕様書無しさん mailto:sage [2007/10/05(金) 09:34:42 ]
- ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=41464&forum=7&start=16
どれを削除したらいいか判断できないような混沌としたプロジェクト C#ってこんなのが普通なのか?
- 708 名前:仕様書無しさん mailto:sage [2007/10/05(金) 10:51:30 ]
- >>707
コーディング規約や開発者のコード管理能力の問題だろ。 C#に限らず、どんな言語を使ったって、混沌とさせる奴はいる。 それを解決できるツールがたまたま(同じ必要性を感じた)先人によって作られているか、 そんなツールを見つけられるかどうかで、問題を糊塗できるかどうかの違いだけだ。
- 709 名前:仕様書無しさん mailto:sage [2007/10/05(金) 13:04:25 ]
- >>708
C#だからひどくなったんでしょ
- 710 名前:仕様書無しさん mailto:sage [2007/10/05(金) 13:10:19 ]
- >>708
スレタイ嫁
- 711 名前:仕様書無しさん mailto:sage [2007/10/05(金) 13:39:25 ]
- >>708
何が原因でそんな混沌としたプロジェクトになったかなんて興味なくて、 そいうプロジェクトにいたら会社辞めたくなるだろうなってことだよ。 C#は知らないけど、C#だからこそ何を削除したらいいか検索するのが不可能って流れになってるじゃん。 少なくともC++やVBだったら不要メソッドのリストアップは簡単に出来ただろうにね。 (Javaも知らないけど、Javaもそうなのか?) C#コワーw
- 712 名前:仕様書無しさん mailto:sage [2007/10/05(金) 14:15:41 ]
- コードの7割くらいがコメントアウトされた過去のコードのプロジェクトに入れられた…
#if 0〜#endifで除外されたブロックも多数あって発狂しそう orz
- 713 名前:仕様書無しさん mailto:sage [2007/10/05(金) 14:36:27 ]
- スレ違いっぽい話題を引きずることになるかも知れないけど
C++やVBだと不要メソッドのリストアップにどういう方法があるの?
- 714 名前:仕様書無しさん mailto:sage [2007/10/05(金) 14:59:20 ]
- うちはVB厨だが、これを使ってる
ttp://www011.upp.so-net.ne.jp/flatsoft/soft/fs_about_vbcheck.html
- 715 名前:仕様書無しさん mailto:sage [2007/10/05(金) 16:09:54 ]
- >C#だからこそ何を削除したらいいか検索するのが不可能って流れになってるじゃん。
どこにそんな流れがあるんだ
- 716 名前:仕様書無しさん mailto:sage [2007/10/05(金) 16:13:01 ]
- >>713
ググレカス
- 717 名前:仕様書無しさん mailto:sage [2007/10/05(金) 16:14:38 ]
- つーか、リフレクションを駆使するようなチームだったら、コードをクリーンに保つくらいすると思うんだが。
- 718 名前:仕様書無しさん mailto:sage [2007/10/05(金) 16:51:09 ]
- >>715
C#嫌いが嵩じて幻覚でも見てるんじゃ
- 719 名前:仕様書無しさん mailto:sage [2007/10/05(金) 17:00:20 ]
- >>713
VBでこれ使ってる。 ttp://www.aivosto.com/vb.html Cならsplint、C++は昔なんか使ってたような気がするけど忘れた。
- 720 名前:仕様書無しさん mailto:sage [2007/10/05(金) 22:33:55 ]
- 不要社員のリストアップに
- 721 名前:仕様書無しさん mailto:sage [2007/10/05(金) 23:41:32 ]
- >>708
この前、fxcopとかってツールをためしに使ったら、使われてないメソッドとかは指摘されてたような。うろおぼえ。
- 722 名前:仕様書無しさん mailto:sage [2007/10/05(金) 23:41:46 ]
- >>711
C++はおろか、Javaや最近のVBですらリフレクションが実装されていることを知らないこと、 それ以前に問題の本質を見つけられない濁った目、そして文中に漂う全角アルファベット、 おまえ、もしかしてコボラだなww
- 723 名前:仕様書無しさん mailto:sage [2007/10/05(金) 23:47:35 ]
- こぼらがいっぴき
こぼらがにひき… この辺で…俺のはじめてのプロジェクトは火を噴いてあたりを転げまわりだした。
- 724 名前:仕様書無しさん mailto:sage [2007/10/06(土) 00:02:02 ]
- ぇ、C++ってリフレクションあったっの? C++/CLIじゃなくて?
- 725 名前:仕様書無しさん mailto:sage [2007/10/06(土) 00:02:49 ]
- >>707
関係ないが、そこで、上から目線で教えてやってるジッタってやつは、よそのスレで、ツッコミ入れられまくってたヤツだな。 このエントリで。 blogs.wankuma.com/jitta/archive/2007/07/26/87218.aspx
- 726 名前:仕様書無しさん mailto:sage [2007/10/06(土) 00:22:24 ]
- 本当に関係ねえ
- 727 名前:仕様書無しさん mailto:sage [2007/10/06(土) 08:20:06 ]
- >>725
先輩だか上司だかに、添削と言って、こんなソースにされたら、やめたくなるよ。
- 728 名前:仕様書無しさん mailto:sage [2007/10/06(土) 14:14:55 ]
- dim strTemp(10) as string
const intTemp as integer = 10 for i as integer = 1 to intTemp strTemp(i) = "" '処理 next
- 729 名前:仕様書無しさん mailto:sage [2007/10/06(土) 14:17:15 ]
- どの辺が気に入らないんだろう
- 730 名前:仕様書無しさん mailto:sage [2007/10/06(土) 14:30:39 ]
- VBなところ
- 731 名前:仕様書無しさん mailto:sage [2007/10/06(土) 14:35:35 ]
- for i as integer = 0 to intTemp
- 732 名前:仕様書無しさん mailto:sage [2007/10/06(土) 14:53:15 ]
- for i as integer = LBound(strTemp) to UBound(strTemp)
- 733 名前:仕様書無しさん mailto:sage [2007/10/06(土) 15:03:54 ]
- VBの文字列って初期化されてることが保障されてなかったっけ?
- 734 名前:仕様書無しさん mailto:sage [2007/10/06(土) 15:06:03 ]
- for i as integer = 0 to intTemp-1
- 735 名前:仕様書無しさん mailto:sage [2007/10/06(土) 15:12:03 ]
- 綺麗なコーディングしてるだろ
バグってるんだぜ、これで…
- 736 名前:仕様書無しさん mailto:sage [2007/10/06(土) 15:30:29 ]
- >>733
保障されてる
- 737 名前:仕様書無しさん mailto:sage [2007/10/06(土) 19:51:32 ]
- VBって確か、
配列宣言時に指定する数が、 要素数じゃなくて添字の最大値なんだよな
- 738 名前:仕様書無しさん mailto:sage [2007/10/06(土) 20:15:39 ]
- dim a(3) なら a(0) 〜 a(3) だっけ?
昔のベーシックで a(0) を無しにしてメモリを節約するとかいう セコいオプションがあったような記憶がある。
- 739 名前:仕様書無しさん mailto:sage [2007/10/06(土) 20:21:04 ]
- VBでは、option base で配列の添字を 1〜にするか0〜にするか変更できる。
- 740 名前:仕様書無しさん mailto:sage [2007/10/06(土) 20:59:49 ]
- もうすぐ64ビットが当たり前になる時代にそんなオプション意味あるんか?
- 741 名前:仕様書無しさん mailto:sage [2007/10/06(土) 21:32:07 ]
- メモリの1バイトは血の一滴だ!
- 742 名前:仕様書無しさん mailto:sage [2007/10/06(土) 21:39:56 ]
- おしい
血より精液のほうが説得力あったのに
- 743 名前:仕様書無しさん mailto:sage [2007/10/06(土) 21:40:28 ]
- 初期化が保証されてても初期化、ということにはあまり文句は言わない
でも過保護言語のVBだし事情が違うのかな
- 744 名前:仕様書無しさん mailto:sage [2007/10/06(土) 21:43:52 ]
- 初期化で思い出したけど
MFCとかでポインタ先が破棄済みかどうかに( pTest )ってやってるの困る 解放後の0割り当てなんてコード全体で徹底するのか? いずれにせよMFC内部で delete this とかやるのあったらダメ
- 745 名前:仕様書無しさん mailto:sage [2007/10/06(土) 22:06:11 ]
- メモリ管理もろくに出来ない無能な人間のための言語というアピールはひしひしと感じる
便利だから使うんじゃない,それしか使えないんだ,てな
- 746 名前:仕様書無しさん mailto:sage [2007/10/06(土) 22:26:48 ]
- 管理以前にそもそもメモリの概念が分かっていません。
- 747 名前:仕様書無しさん mailto:sage [2007/10/06(土) 22:34:13 ]
- メモリの節約、スレッドの節約、etc...
- 748 名前:仕様書無しさん mailto:sage [2007/10/07(日) 00:07:44 ]
- 給料の節約、残業代の節約、etc...
- 749 名前:仕様書無しさん mailto:sage [2007/10/07(日) 00:10:42 ]
- >>744
> 内部で delete this とかやるのあったらダメ そうか?
- 750 名前:仕様書無しさん [2007/10/07(日) 03:47:54 ]
- >>725
相当に疑わしい人間だな。
- 751 名前:仕様書無しさん [2007/10/07(日) 07:16:38 ]
- > 解放後の0割り当てなんてコード全体で徹底するのか?
逆に delete して NULL 入れてないやつはぶっ殺したくなる
- 752 名前:仕様書無しさん mailto:sage [2007/10/07(日) 08:29:44 ]
- 自所持ポインタをNULLにしたところで
その参照先を他のやつもポインタで参照してたら・・・・そっちが自動でNULLになってくれるわけじゃないから NULL当てはめて安心するなんて無意味っちゃ無意味
|

|