- 1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ]
- この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。 前スレ この会社辞めようと思ったソースコード#17 pc11.2ch.net/test/read.cgi/prog/1183700531/
- 569 名前:仕様書無しさん mailto:sage [2007/09/25(火) 22:40:20 ]
- bool check(hoge){
bool TRUE; if (hoge >= 0 && hoge <= 100){ TRUE = true; } else { TRUE = false; } return TRUE; }
- 570 名前:仕様書無しさん mailto:sage [2007/09/25(火) 22:41:03 ]
- うわすっげえむずむずするコード
- 571 名前:仕様書無しさん mailto:sage [2007/09/25(火) 22:46:42 ]
- >>569
きもちわりぃw 定数左派の人って範囲チェックのときはどうかくの? ( 0 < hoge && 100 > hoge )ってなるのかな? ==の時だけ定数左?
- 572 名前:仕様書無しさん mailto:sage [2007/09/25(火) 22:56:49 ]
- >>571のいる会社は大変だな
- 573 名前:仕様書無しさん mailto:sage [2007/09/25(火) 22:59:25 ]
- for文書くときもやっぱ
for(int i=0;10>i;i++) みたいに書くんだろうか?
- 574 名前:仕様書無しさん mailto:sage [2007/09/25(火) 23:13:54 ]
- >>573
そういう人もいるよ。
- 575 名前:仕様書無しさん mailto:sage [2007/09/25(火) 23:13:57 ]
- gccで動かしててC99仕様で書いてる。
QACにかけるとエラーだらけ。。
- 576 名前:仕様書無しさん mailto:sage [2007/09/25(火) 23:19:08 ]
- C99はできる子。
- 577 名前:仕様書無しさん mailto:sage [2007/09/25(火) 23:28:36 ]
- >>572
周りに定数左派がいないもんで、ちょいと疑問に思っただけなんだ。
- 578 名前:仕様書無しさん mailto:sage [2007/09/26(水) 01:08:52 ]
- 気分で左右を入れ替える俺は駄目人間だぜ
- 579 名前:仕様書無しさん mailto:sage [2007/09/26(水) 01:20:07 ]
- 統一感が無いのはいかんな
- 580 名前:仕様書無しさん mailto:sage [2007/09/26(水) 05:33:49 ]
- i++ でも ++i でもいいときに
++i を使う人ってどれくらいいるかな
- 581 名前:仕様書無しさん mailto:sage [2007/09/26(水) 07:40:44 ]
- そもそも++i 自体使わなければならない場面はゼロに近いし・・・
わんらいなー気取りで可読性を低くしているのに気付かないだけ
- 582 名前:仕様書無しさん mailto:sage [2007/09/26(水) 08:31:40 ]
- 「間」なんかは数学では ( 0<x<100 ) とか書くでしょ。だからcでも ( 0<x && x<100 ) って書く。
- 583 名前:仕様書無しさん mailto:sage [2007/09/26(水) 08:35:28 ]
- iteratorを進めるときは使うなぁ、++i。
- 584 名前:仕様書無しさん mailto:sage [2007/09/26(水) 09:32:02 ]
- 普通の組み込み型等なら後置、イテレータだったりオーバーロードされテルものだったら前置
- 585 名前:仕様書無しさん mailto:sage [2007/09/26(水) 10:13:58 ]
- これはイテレータとか、区別するのも性能劣化も嫌だから、
どちらでも良いときは常に前置。
- 586 名前:仕様書無しさん mailto:sage [2007/09/26(水) 10:19:44 ]
- 同じく無駄な性能劣化は嫌だし、区別するのも面倒だから前置
最近の賢いコンパイラなら後置でも最適化で一時オブジェクトつくらずにやってくれるかもしれんが
- 587 名前:仕様書無しさん mailto:sage [2007/09/26(水) 10:21:11 ]
- >そもそも++i 自体使わなければならない場面はゼロに近いし・・・
for (int i = 0; i < N; ++i) なんて頻出じゃないのか? C#やJavaのforeach(相当)構文や、C++のgenericを使いまくるんなら別だが。 それでも数値インデックスが必要な場合は結構あると思うけど。
- 588 名前:仕様書無しさん mailto:sage [2007/09/26(水) 10:30:55 ]
- 性能劣化のは ++i より i++ が遅いってやつ?
- 589 名前:仕様書無しさん mailto:sage [2007/09/26(水) 10:45:49 ]
- i++ はもとの i を返すために operator++ 内で一時オブジェクトを作るからな
int 程度だったら無視しても構わない劣化に過ぎないだろうが、 オブジェクト(よく使うのは iterator)のコピーなんてさせたらどれだけ劣化するか。 それが最適な構文なら、富豪的プログラムの観点からは問題無いんだが i++ と ++i ってソースの可読性上は大した違いは無いから、 必要以上に自ら望んで劣化させる必要も無かろうと。 個人的には後置++ はあまり必要ないんだよな。 int j = i++; とか書かれると一瞬思考が止まる。 漏れのアホな頭ではどうにも評価順が自然に解釈できないらしい。
- 590 名前:仕様書無しさん mailto:sage [2007/09/26(水) 11:39:18 ]
- どうしても後置がいいっていうのは
array[ index++ ] = x; みたいなときだな
- 591 名前:仕様書無しさん mailto:sage [2007/09/26(水) 15:46:27 ]
- >>589
なるほど。 普段からjava使ってるから operator オーバライドの影響は頭から飛んでたわ。 ++i 派から i++ に矯正された身でやんす。
- 592 名前:仕様書無しさん mailto:sage [2007/09/26(水) 16:17:47 ]
- do {
} while( (++n)<(sizeof hoge) ) なんてよく書くから、けっこう使うな。
- 593 名前:仕様書無しさん mailto:sage [2007/09/26(水) 16:22:29 ]
- for文でやれ
- 594 名前:仕様書無しさん mailto:sage [2007/09/26(水) 17:10:37 ]
- forだと初期化のあとケツの判定に飛ぶのがイヤン。初期化のあとに1回判定が入る展開もあったり。
do whileだと静的にも動的にもキレイ。
- 595 名前:仕様書無しさん mailto:sage [2007/09/26(水) 23:39:18 ]
- なぜか俺の教育係だった人はfor文を嫌っていた。
俺が下についていたとき、ほとんどのループ処理をwhileで書いてた。 コメントを見ると”とりあえず”って言葉が多くて大丈夫かいな?って思ってた。
- 596 名前:仕様書無しさん mailto:sage [2007/09/26(水) 23:45:22 ]
- そういわれるとforって異質かなという気がしてくる。
( ; ; )セミコロンが気に入らんとか?w
- 597 名前:仕様書無しさん mailto:sage [2007/09/26(水) 23:51:42 ]
- >>595
「とりあえず」は俺もよく使う。 検索とかに使うキーワードというか、いわばタグ的に。 統合開発環境のブックマーク機能を使えという話もあるが 作業ファイルをクリーンすると飛んでしまうこともあるから、と言い張って 俺様専用的に使わせてもらってる。
- 598 名前:仕様書無しさん mailto:sage [2007/09/26(水) 23:54:47 ]
- 「せっかくだから」とか使おうかしら
- 599 名前:仕様書無しさん mailto:sage [2007/09/27(木) 00:11:19 ]
- 某IDEに毒されたか、VBでも「' TODO:」ってやっちまう最近の俺
- 600 名前:595 mailto:sage [2007/09/27(木) 00:33:01 ]
- >>596
いやーなんでだろうね。いまだにわかんない。 今は管理役(≠管理職)になってるからコード書かなくなったから、 一緒に仕事することもほとんどないし。 そうそう、if文とかwhile文の後ろが処理1つで済むとき(nNum++とか)は スコープは絶対につけないというこだわりも持ってた。 こんなことを新人の頃のコードレビューで何度指摘されたことか。。。
- 601 名前:仕様書無しさん mailto:sage [2007/09/27(木) 00:34:02 ]
- なるべくforよりforeachを使うぜ!
perlはお呼びでない?そんな……
- 602 名前:595 mailto:sage [2007/09/27(木) 00:43:30 ]
- >>597
"とりあえず"ってコメントは、今となっては俺も使っちゃうんだけど、 今一緒に仕事してる人から 「問題見つけたときに直す気なのかなって思うと指摘しづらいし、 勝手に直していいのかもわからないからやめて」 っていわれたよ。 うちは検索キーワードはプロジェクト始まるときに、 各機能ごとに決められてそれ以外使えなくなるよ。
- 603 名前:仕様書無しさん mailto:sage [2007/09/27(木) 01:22:17 ]
- "とりあえず"
"取り急ぎ" "おそらくこれでOK" "暫定"
- 604 名前:仕様書無しさん mailto:sage [2007/09/27(木) 01:33:51 ]
- "やらなきゃいけない"
おまえがやれ
- 605 名前:仕様書無しさん mailto:sage [2007/09/27(木) 02:39:57 ]
- "なぜか動くのでこのまま"
- 606 名前:仕様書無しさん mailto:sage [2007/09/27(木) 02:43:33 ]
- "ここでぬるぽ発生の可能性あり"
- 607 名前:仕様書無しさん mailto:sage [2007/09/27(木) 04:16:17 ]
- "後で書き直す"
…いつ?
- 608 名前:仕様書無しさん mailto:sage [2007/09/27(木) 05:38:39 ]
- "怒涛のごとく改変"
- 609 名前:仕様書無しさん [2007/09/27(木) 07:40:25 ]
- >>603
w 言われてみれば確かに使う ずーっといつまでも「とりあえず」のままだなw
- 610 名前:仕様書無しさん mailto:sage [2007/09/27(木) 08:24:59 ]
- "適当に埋めてみた"
書いた奴を土に埋めたくなる……
- 611 名前:仕様書無しさん mailto:sage [2007/09/27(木) 09:18:24 ]
- コメントスレになっとるw
そういや、笑ったコメント晒すスレ落ちちゃったね
- 612 名前:仕様書無しさん mailto:sage [2007/09/27(木) 10:39:22 ]
- 建てようとしたら規制かかってたorz
- 613 名前:仕様書無しさん mailto:sage [2007/09/27(木) 12:28:48 ]
- "俺はもうだめだ・・・あとは・・・頼む・・・ぞ・・・・"
- 614 名前:仕様書無しさん mailto:sage [2007/09/27(木) 13:07:36 ]
- コメントスレ需要有るんなら立てよっか
- 615 名前:仕様書無しさん mailto:sage [2007/09/27(木) 13:10:00 ]
- 立てた
コメント関係はこっちでよろ ttp://pc11.2ch.net/test/read.cgi/prog/1190866177/
- 616 名前:仕様書無しさん mailto:sage [2007/09/27(木) 23:19:45 ]
- c++でさ。メンバ変数ってどれぐらい公開する?
1) 全て非公開private or protected 2) 状況によりけり 3) 全て公開 public 俺は今まで、3は有り得ないと思ってたんだけど、 どのソースも3ばっかなんだ。誰か何とかしてくれ……
- 617 名前:仕様書無しさん mailto:sage [2007/09/27(木) 23:21:24 ]
- (1)のつもりで作る
流動的に(2)へ移行することもある
- 618 名前:仕様書無しさん mailto:sage [2007/09/27(木) 23:22:55 ]
- C++じゃgetメソッドいっぱい作っても使いにくいだけだし
- 619 名前:仕様書無しさん mailto:sage [2007/09/27(木) 23:30:41 ]
- 俺のいる職場のjavaでかかれたコードは
public static だらけだよ。 public final static String sShopNo = "ShopNo"; とか言うのがズラーっと並んでて、 文字列連結の + でつないでSQL文をつくってる。
- 620 名前:仕様書無しさん mailto:sage [2007/09/27(木) 23:32:50 ]
- (1)だろ
(2)だって可能な限り避ける (3)は確かに辞めたくなる...
- 621 名前:仕様書無しさん mailto:sage [2007/09/27(木) 23:35:14 ]
- 全部公開ってstructじゃん
- 622 名前:616 mailto:sage [2007/09/27(木) 23:42:58 ]
- やっぱそうか……色々といいたいことはあるコードばっかなんだが、やっぱりそうなんだな。
あと、もう一つ気になるところがある。 この会社では、同じ処理を書くときに、一から書き直す風習があるんだわ。 これもどうかなぁ……って思ってしまうよ。
- 623 名前:仕様書無しさん mailto:sage [2007/09/27(木) 23:45:38 ]
- コピペじゃなくて新しく書くってこと?
- 624 名前:仕様書無しさん mailto:sage [2007/09/27(木) 23:58:18 ]
- >>623
イエス。全く処理内容が同じなのに、新しく書き起こしている。 理由がさっぱり分からん。
- 625 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:02:08 ]
- ステップ数(笑)稼ぎ
- 626 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:10:24 ]
- >624
版管理とは別な意味でソースコード管理が下手なのかも。 「自社のコード」を蓄積しないで、「顧客に納めるコード」ばかり書いていて 結果、別PJで書いたコードは流用できないから毎回フルスクラッチとか……
- 627 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:23:02 ]
- >>624
元のコードに問題が見つかったとか。 少しでも改善出来る部分があったとか。 新人の練習台にしてるとか。 そうでもしないと余る人員がいるとか。
- 628 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:23:09 ]
- >>626
正解かも…… あれだ。顧客に納めるで思ったんだが、ソース納品な案件があれば少しは変わるような気がしてきた。 まぁ、あんなコードは外部に見せられないけど……
- 629 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:25:05 ]
- >>627
そういうんじゃないんだよ。 例えば、ログ出力処理があったとするだろ。 そしたら、ある場合はグローバル関数にかかれてたり、ある場合はクラス化されてたり、 ある場合はダイアログクラスのメンバ関数に埋め込まれていたり。DLLになってたり…… いや、全部同じ処理なんだぜ。全く……何回読んでもこぴぺで良いじゃんって思えるコードなんだぜ……
- 630 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:26:39 ]
- おっと、途中で投げてしまった。
そんなだから、人員が余る・新人の練習以外は全て違うんだよ。 ちなみに、中途採用ばかりで新人もいない会社だから、その理由で新人の練習という理由もない。 いつも人員不足で悩んでるところだから、人員が余るもない。
- 631 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:27:58 ]
- >>629
いや、そこはコピペじゃなくてDLLでいいじゃんとかクラスでいいじゃんじゃないのか?
- 632 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:31:53 ]
- >>631
そうなんだけどね。要はつまり、とにもかくにも再利用しないとこだと言いたかった。
- 633 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:37:49 ]
- カプセル化って大原則だと思ってたが
案外、世の中には浸透してないのか? カプセル化されてないソースを読むなんて神業だろ。
- 634 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:45:24 ]
- >638
日本は神の国で八百万の神が、ってのはあながち嘘でもないってことか あれを読む程度で神と言えるのなら……
- 635 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:47:10 ]
- 八百万ステップなら神
- 636 名前:仕様書無しさん mailto:sage [2007/09/28(金) 00:50:19 ]
- ロギング処理がダイアログのメンバ関数。
プログラミングできない連中麦価なんじゃないか? 単純に
- 637 名前:仕様書無しさん mailto:sage [2007/09/28(金) 01:31:18 ]
- ダイアログごとにロガーがあるのか?
- 638 名前:仕様書無しさん mailto:sage [2007/09/28(金) 01:33:21 ]
- ぬるぽ
- 639 名前:仕様書無しさん mailto:sage [2007/09/28(金) 01:34:43 ]
- >>634はこの3文字からあれだけの情報量を読み取ったのか
- 640 名前:仕様書無しさん mailto:sage [2007/09/28(金) 01:41:22 ]
- 妄想が激しすぎるな
- 641 名前:仕様書無しさん mailto:sage [2007/09/28(金) 02:01:37 ]
- 上司 『こんなところでレス返してる暇があったら、もっとステップを稼げッ』
- 642 名前:仕様書無しさん mailto:sage [2007/09/28(金) 02:50:46 ]
- ステップ♪ステップ♪ランランラン♪
- 643 名前:仕様書無しさん mailto:sage [2007/09/28(金) 02:54:57 ]
- また1名旅立たれたようです
- 644 名前:仕様書無しさん mailto:sage [2007/09/28(金) 21:49:46 ]
- 「来週あたり各自宅のPCの検査いくんで」
これはない
- 645 名前:仕様書無しさん mailto:sage [2007/09/28(金) 23:48:48 ]
- void reduce(int*number, int*denom){int a,b,tmp; a=abs(*numer);
b=abs(*denom); /*a>=bとなるように入れ替える*/ if(a<b){tmp=a; a=b; b=tmp;} /*互除法で最大公約数を求める*/ do{tmp=a%b; a=b; b=tmp;} while(b!=0); /*約分する*/ if(a>1){*numer/=a; *denom/=a;}} 実際は途中改行なしで1行1関数 最初見たときプロトタイプ宣言が並んでるのかと思ったら 関数定義だからびっくりしたわ
- 646 名前:仕様書無しさん mailto:sage [2007/09/29(土) 00:06:49 ]
- そして、それらは全てコメントアウトされていた。ってオチとか
- 647 名前:仕様書無しさん mailto:sage [2007/09/29(土) 00:33:46 ]
- >>644
winny関連?家庭訪問みたいでやだなw
- 648 名前:仕様書無しさん mailto:sage [2007/09/29(土) 00:37:12 ]
- >>644
それは上司の自宅へも行くのか?
- 649 名前:仕様書無しさん mailto:sage [2007/09/29(土) 02:17:23 ]
- hoge.asdf(fuga);
x piyo.method(); 果たして彼は x と書いてある行にあった文字列を切り取り出来たのであろうか・・・・。
- 650 名前:仕様書無しさん mailto:sage [2007/09/29(土) 02:39:46 ]
- 辞めようとは思わないソースだけどw
ってかコンパイル通らなくね?defineされてるとか?
- 651 名前:仕様書無しさん mailto:sage [2007/09/29(土) 02:43:04 ]
- >>645 改行がアレだけど、中身は以外と、まともっぽい。
- 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インスコしたけど・・・どうなの?
|

|