[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/23 23:29 / Filesize : 185 KB / Number-of Response : 948
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

この会社辞めようと思ったソースコード#18



1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ]
この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
をつらつらと綴っていって頂戴。

ちなみにここは質問スレじゃないので
技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。

前スレ
この会社辞めようと思ったソースコード#17
pc11.2ch.net/test/read.cgi/prog/1183700531/

552 名前:仕様書無しさん mailto:sage [2007/09/25(火) 00:21:51 ]
C系だとアサーションは入れるけど
結局リリース時には素通りだったりするよね

553 名前:仕様書無しさん mailto:sage [2007/09/25(火) 00:22:00 ]
>>551
お前が正しい。

554 名前:仕様書無しさん mailto:sage [2007/09/25(火) 01:44:59 ]
>>552
だったりと言うかリリースならアサーションはスルーされて当然じゃ?

555 名前:仕様書無しさん mailto:sage [2007/09/25(火) 01:46:41 ]
>>554
開発・テスト時に異常にならなければそれでOKじゃね?とエラー処理入れないままなパターン。

556 名前:仕様書無しさん mailto:sage [2007/09/25(火) 02:02:11 ]
たまに実行時エラーにアサーション入れたりする奴がいるから困る。
つか、リリースモードでリリースする、
っていう確約が何も無いのにアサーション入れたりする奴がいるけど、
全くもって正気かどうか疑いたくなる。

557 名前:仕様書無しさん [2007/09/25(火) 02:37:16 ]
>>556
リリース版で最終テストしてリリースするっていうのは、
ものすごく基本的な話なんじゃないのか?

世の中には、
『デバック版でしか動かないからそのままリリース』
という輩も居るらしいが…

558 名前:仕様書無しさん mailto:sage [2007/09/25(火) 04:05:27 ]
msvcrtd.dll(デバッグ版Cランタイム)は再配布禁止…らしいな。

559 名前:仕様書無しさん mailto:sage [2007/09/25(火) 11:05:02 ]
FILE1 とか RET2 とか…ソレは何のファイルなのか、どんな戻り値なのか。
辞めようとまでは思わないけどさ。

560 名前:仕様書無しさん [2007/09/25(火) 14:13:53 ]
ABAPで例外を拾おうとあくせくした日々が懐かしい。
そもそもまともに例外を拾う気の無いツールでそんなことするのは無駄だった。



561 名前:仕様書無しさん mailto:sage [2007/09/25(火) 17:23:02 ]
スレ無いから聞いてみるけど、"QAC"ってどうなの?
そこそこ使えるようだが俺的には hoge==TRUE を問題として検出しないツールはあまり信用できない。
(ほかにも=と==の間違い疑惑を指摘しなかったりとか)

で、うちの会社アホみたいにこのツールの出力結果を信奉している。
相当投資したみたいだから盲信したくなるのはわからないこともないがね。

562 名前:仕様書無しさん [2007/09/25(火) 17:36:06 ]
TRUE==hogeを俺は認めないぞ
可読性が著しく低下する。
そんなソースは書いたことがないぞ。

563 名前:仕様書無しさん mailto:sage [2007/09/25(火) 18:11:03 ]
TRUE==hogeってことは…TRUE値と、他の真の値を区別したい場合だよな、きっと?

564 名前:仕様書無しさん mailto:sage [2007/09/25(火) 18:28:11 ]
もしも真実がホゲだったなら...どうする!?

565 名前:仕様書無しさん mailto:sage [2007/09/25(火) 19:03:55 ]
QACを参考に修正したことなど一度も無いな。
開発内テストが終わった後にかけるので意味が無い。

というかこれユーザインタフェースが終わってる。
使いづらいったらありゃしない。

566 名前:仕様書無しさん mailto:sage [2007/09/25(火) 21:14:29 ]
・副作用がある
・定数として評価できる

567 名前:仕様書無しさん mailto:sage [2007/09/25(火) 21:45:14 ]
「hoge==TRUE」よか「=と==の間違い疑惑」のほうが重要じゃね?
後者に引っかからなくていいから前者に引っかかって欲しいの?
変数同士になっても有効なのは後者じゃ?

ま、どっちでもええか

568 名前:仕様書無しさん mailto:sage [2007/09/25(火) 22:23:30 ]
>>561
たぶん検出のための設定があると思うぞ。


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ビルドだと、起動すらしなかったとか。
冗談だろ・・・って言ったら、冗談じゃねぇ・・・と言われたときはさすがにあきれたねぇ。
ちなみに聞いた奴はあのバグまみれ騒動以来会社辞めたらしい。(そりゃそーだ)






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<185KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef