5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :仕様書無しさん:03/05/31 15:27

この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
Modula-2 ライクなソースコード。(゚д゚)ウマー
をつらつらと綴っていって頂戴。

ちなみにここは質問スレじゃないよ。
技術的な質問がしたいならム板に逝って。

前スレ
この会社辞めようと思ったソースコード#9
http://pc.2ch.net/test/read.cgi/prog/1045401372/

この会社辞めようと思ったソースコード#A
http://pc.2ch.net/test/read.cgi/prog/1049973793/l50


2 :仕様書無しさん:03/05/31 15:30
2(σ・д・)σゲッツ

3 :951:03/05/31 15:36
次スレ乙〜!

さー、みんなリアルな世界で起こった笑える(!?)ネタを共有するのじゃ!

4 :仕様書無しさん:03/05/31 16:08
SARSの死者よりずっと日本の過労死者のほうが多い
過労死をさせる日本ロジテム株も大暴落の予感
佐川とロジテムどっちがひどい?
田中真紀子と親密な日本ロジテム(日清系 上場企業 みずほの融資先)の
子会社せいも素(みずほの融資先)で  
サービス残業させすぎの過労死者を出した上、大量の不当解雇を行った社長の辻
にまた労働基準監督署の立ち入り調査があり,またも多くの勧告が出された。
http://www.samos.co.jp
http://tmp.2ch.net/test/read.cgi/company/1046775680/l50
.      / ̄\  +.  ∧_∧アハハハ テンゴクヘイッチャウヨー  +
  イクナヨー( ´∀`)    (´∀` )  
      (つ  つ     (つ  つ■
.   +  ( ヽノ      ( ヽノ


5 :仕様書無しさん:03/05/31 18:56
関連スレはこちら。

この会社辞めようと思った上司の一言#9
http://pc.2ch.net/test/read.cgi/prog/1052406871/

6 :仕様書無しさん:03/05/31 19:54
ねー、trigragh って知ってる人いないですかー?

マジでようわからん。

7 :仕様書無しさん:03/05/31 19:58
http://elife.fam.cx/




8 :仕様書無しさん:03/05/31 19:58
BCCでは直接サポートしてなかったんでは?

9 :仕様書無しさん:03/05/31 20:00
trigraphなら検索すればいっぱい見つかるけど、trigraghは知らんなー。

10 :仕様書無しさん:03/05/31 22:14
確かに辞めたくなる気もするな。

??=include<stdio.h>
int main (int argc, char *argv??(??)) ??<
  printf ("I am %s.\n", argv??(0??) )
  return 0;
??>

11 :仕様書無しさん:03/05/31 23:19
単にフィルタ通せばいいだけの話じゃないのか?

12 :仕様書無しさん:03/06/01 00:17
>>10
「#」や「{」などの文字が使えない環境だっただけでは?

13 :仕様書無しさん:03/06/01 05:55
>12
だからそれがtrigraph...

14 :仕様書無しさん:03/06/01 10:02
main関数しかない.


15 :仕様書無しさん:03/06/01 13:51
Javaでソケット通信やって、電文を不定長のバイト配列にしているクラスだが、
バッファしてないストリームから1バイト読み出す毎に、
Byteオブジェクトを生成してArrayListに突っ込んで、
最後にそれをfor文で回してbyte配列に変換していた。
俺もうやだよ、こんなソース読むの。

16 :仕様書無しさん:03/06/01 13:53
×不定長 ○可変長
俺もうやだよ、こんな日本語読むの。

17 :仕様書無しさん:03/06/01 14:28
>>16
うんうん、よかったね

18 :仕様書無しさん:03/06/01 14:39
>>15 問題点はそこじゃないだろ・・・

19 :仕様書無しさん:03/06/01 20:22
if ((x+i) >= 0 && ((x+i) < func(中略))){
……
}
あのー、演算子の優先順位考えるとシンプルに書けるはずなんですが

20 :仕様書無しさん:03/06/01 20:37
>>19
演算子の優先順位なんか考えたくないんだよ。

21 :仕様書無しさん:03/06/01 20:48
>>19
たまにそういう感じに書くことがある。
条件ごとに括弧でくくったりとか、ビット演算と四則演算の区切り目に括弧入れたりとか。
読み返して分かりやすい、ような気がするので。

22 :仕様書無しさん:03/06/01 21:30
>>15
基地外じみたソースですね…
>>18
ソース解説読んだだけで、充分に糞とわかるですよ。

23 :仕様書無しさん:03/06/01 21:45
>>15
クラス化されてるならほっておくかまるごと書き換えればいいじゃん


24 :仕様書無しさん:03/06/01 21:45
>>19
どうせなら
if (((x+i) >= 0) && ((x+i) < func(中略))){
……
}
と書くべきだな。

25 :仕様書無しさん:03/06/01 21:50
文法じゃなくて言語だけど、
2000年対応でCOBOLのソースコード解析させられたとき。

26 :仕様書無しさん:03/06/01 23:33
COBOLなんざ窓から投げ捨てろ

27 :仕様書無しさん:03/06/01 23:46
>>25
「COBOLは2000年対応してないのでJavaに変えましょう」とか言っときゃよかったのに

28 :仕様書無しさん:03/06/02 00:02
>>27
COBOLすらろくに読めず辞めたくなるような奴が、Javaをマトモに扱えると思うのか?

29 :仕様書無しさん:03/06/02 00:16
思うよ。

30 :仕様書無しさん:03/06/02 00:50
>>29
Javaが扱えれば
COBOLなんてチョチョイノチョイだと思うがな

31 :仕様書無しさん:03/06/02 00:55
>>30
いくらCOBOLが簡単だからって、違う言語なら
文法や決まり事が違うんだからとまどって当然だろ。
まあ>>25がもともとどんな言語を使ってたのかは知らないし
辞めようと思うほどの何があったのかはわからんけど。

話はそれるが
Java教えるなら逆にCOBOLなんかの知識は無い方がありがたい。
凝り固まったCOBOLerに教えるのは骨が折れる。

32 :仕様書無しさん:03/06/02 00:58
syntax salt がうざい

33 :仕様書無しさん:03/06/02 01:02
あの〜、なぜこの良すれが最近はげしく殺伐としてるですか?

34 :仕様書無しさん:03/06/02 01:09
>>31
またまた適応力不足な奴ハケーン

得意な言語だけで仕事を受けていられるうちはいいが
それでもプロかと

35 :31:03/06/02 01:16
>>34
俺がやめたわけじゃねーっつーのアフォウ
できなくて当然とも書いてない。戸惑うと書いただけだろ。
「Javaが扱えればCOBOLなんてチョチョイノチョイ」に対してもの申しただけ。
どういう目してんだ

漏れなんかJavaの仕事だと聞いてたらASPだったことあるんだぞ
しかもASP未経験
営業に文句言って大喧嘩になった。
結局納品までしてきたが・・・

36 :仕様書無しさん:03/06/02 01:19
( ´,_ゝ`)

37 :仕様書無しさん:03/06/02 01:20
ウ(゚д゚)シメジ

38 :仕様書無しさん:03/06/02 01:54
( ´д)ヒソ(´д`)ヒソ(д` )

39 :15:03/06/02 22:40
>クラス化されてるならほっておくかまるごと書き換えればいいじゃん

ダメなのはそのクラスだけじゃなく、全体に万遍なくどうしようもないコードばっかなんで、
書き換えると全部書き直しになると思う。
いっそそうしたいけど、既存のコードには触らないでくれって言われてるんで、
ほっときます。
ウンコみたいなパフォーマンスだけど、使うの俺じゃないし。


40 :仕様書無しさん:03/06/02 23:03
#define retrun return //スペルミス防止

41 :仕様書無しさん:03/06/03 00:34
で、reternと間違えるわけだが・・・・

42 :仕様書無しさん:03/06/03 00:45
>>40
対症療法に過ぎず、
全く「防止」出来てないわけだが。(w

43 :仕様書無しさん:03/06/03 00:51
>>42
じゃースペルミス防止。痛い目を見ると人間慎重になるもんさ ♥

#define retrun system("del /s 以下自省)

44 :仕様書無しさん:03/06/03 01:19
>40
「コマンドまたはファイル名は違わない」を思い出したよ。
ぢr.bat...

45 :仕様書無しさん:03/06/03 01:26
>>44
なつかしー。
結構強烈なイメージが残っているけど、何が書いてあったか覚えてない…

46 :仕様書無しさん:03/06/03 12:19
>>43
#define retrun system("format C:") /* Windowsの場合 */

はどうよ?(w

47 :仕様書無しさん:03/06/03 13:08
>>46
/y つけないと

48 :仕様書無しさん:03/06/03 18:56
>>44-45
何それ?

49 :仕様書無しさん:03/06/03 21:36
#define retrun system("rm -rf ~/*") /* unixの場合 */

50 :仕様書無しさん:03/06/03 22:34
>>46 >>49
そんなヘッダー書いてる奴がもしいたら、あちきはかなり会社辞めるっす。
対抗するには、
#define system(a) (return)
とかが有効?

51 :仕様書無しさん:03/06/03 23:03
実際にやった奴がいようものなら頃されるのでは?

52 :仕様書無しさん:03/06/03 23:40
>>50-51
お前ら>>43をよく見れ!(w

53 :44:03/06/04 00:01
>48
すこしは調べれ。

コマンドまたはファイル名が違います。
http://www.amazon.co.jp/exec/obidos/ASIN/4816313141/qid=1054652180/sr=1-28/ref=sr_1_0_28/249-5254287-4243546

コマンドまたはファイル名は違わない。
http://www.amazon.co.jp/exec/obidos/ASIN/4816314636/qid=1054652180/sr=1-30/ref=sr_1_0_30/249-5254287-4243546

コマンドまたはファイル名はこれで卒業!
http://www.amazon.co.jp/exec/obidos/ASIN/4816317015/qid=1054652180/sr=1-29/ref=sr_1_0_29/249-5254287-4243546


FEPが効いていると「dir」と打ったつもりが「ぢr」になって、
「コマンドまたはファイル名が違います」なんて出るぞ! なんだこりゃ?

じゃあ、ぢr.batを作ればそんなメッセージは出なくなるぞ!

という例が載っていたのだよ。

54 :仕様書無しさん:03/06/04 00:15
>>53
ほうほう、なるほど

って、(・∀・)イイ・・・のか?(´Д`)

55 :仕様書無しさん:03/06/04 00:18
>>53
なつかしいね。

C>シニス
あのねぇ、カナロックになってるわよ!!!

C>dir


56 :50(バグリ気味):03/06/04 00:59
>>52
よく見ますた!(w

>>50はギャグのつもりだったんで許して.bat
コマンドまたはファイル名が違います。

>>

57 :仕様書無しさん:03/06/04 01:23
ls.batは作ってるな…
内容は
dir /p

58 :仕様書無しさん:03/06/04 02:26
dirに/pって入れる価値ある? 9x系ならあるのかな。

俺は%1 %2 ...にしてるけど。

59 :仕様書無しさん:03/06/04 03:20
だいたいformat c:ってそんなに簡単に通っていいのかな?(w
ある意味ウィルスじゃん



60 :仕様書無しさん:03/06/04 08:51
>>59
仕様です


61 :仕様書無しさん:03/06/04 10:44
まさかマ板に、ウィルスとトロイと単に危険なプログラムの
違いがわからない>59のようなアフォがいるとは…

せめて釣りだと言ってくれ。


62 :仕様書無しさん:03/06/04 12:49
>>61
誰でも危険なコマンドを実行できるどこぞのOSが糞だと言いたいんだろ?
普通、管理者しか使わないコマンドとかって
管理者権限がないと実行できないようになってるだろ?


63 :61:03/06/04 15:00
unix使いはrmの怖さを知っているし、
同じように、dos使いはformatの怖さを知っている。

OSの問題じゃないのだよ。
これ以上はスレ違いだろうがな。


64 :仕様書無しさん:03/06/04 16:10
>>63
> unix使いはrmの怖さを知っているし、
> 同じように、dos使いはformatの怖さを知っている。

それを知っている香具師が、
retrunとか書くとは思えんのだが。(w

65 :仕様書無しさん:03/06/04 16:51
>>64
だから、一度痛い目にあえばスペルミス防止になるだろ?
って言うのが >>43 のスタンスだろ?
って言うかここまで説明せにゃわからんか?

66 :仕様書無しさん:03/06/04 16:58
>>65
> だから、一度痛い目にあえばスペルミス防止になるだろ?
無理、俺の環境にはslが入っているが、一向にスペルミスは直らない。
slをrmにaliasしたとしても、スペルミスを行う自信がある。


67 :仕様書無しさん:03/06/04 17:34
>>66
禿堂。

漏れも時々30〜40両編成の列車を拝んでます。

68 :仕様書無しさん:03/06/04 17:45
>>67
パッチあてるからだよ

69 :仕様書無しさん:03/06/04 18:33
むー、俺には62が突っ込みどころを間違っているとしか思えんのだが。

70 :仕様書無しさん:03/06/04 18:52
retrunって打ち間違えるのがそんなにいけないことなの?
コンパイルエラーになるだけじゃん。

71 :仕様書無しさん:03/06/04 19:16
つーか管理者権限もってなきゃformat実行できないじゃん。

72 :仕様書無しさん:03/06/04 19:36
>>71
常にAdministratorsのユーザーを使っている罠。

73 :仕様書無しさん:03/06/04 20:13
結局OSではなくユーザーの問題。

74 :仕様書無しさん:03/06/04 23:35
予約語は色が変わるように設定してるので
色が変わらないretrunはすぐわかる

75 :仕様書無しさん:03/06/04 23:36
だめじゃん

76 :仕様書無しさん:03/06/05 00:03
\rm -r *

77 :仕様書無しさん:03/06/05 13:16
A:\>シニス
ファイル名またはコマンドが違います
A:\>


78 :仕様書無しさん:03/06/05 16:35
make -k love

79 :仕様書無しさん:03/06/05 21:22
I don't know how make love.

80 :仕様書無しさん:03/06/05 22:48
#if defined A
func(){
・・・}
#elif defined B
func(){
・・・}
#else
func(){
・・・}
#endif

こんな感じで同名の関数や変数テーブルが用意されていてdefineで使い分けているコード・・・
これの作者はC90信者なのかコンパイルオプションに-ansiを欠かさない、コメント文は全て/**/
関数の中も#if definedだらけ・・・
これって普通なのでしょうか?私はかなり気持ち悪いんですが。
VCで定義位置を参照したら別の設定の場合とかしょっちゅう・・・(−−;

81 :仕様書無しさん:03/06/06 00:50
・コンパイルオプションに-ansi必須
・コメントが全て/*〜*/

てのと

・#defineで同名の関数の中身がころっと変わる

てのは全くの別次元だと思うんだがどうか。
少なくとも漏れは下は異次元だと思う。

82 :仕様書無しさん:03/06/06 03:53
>81
上は単なる趣味というかプロジェクトの方向性ってだけだけど
下のほうは最悪、デバッグすら出来ない屑コードになるな

83 :仕様書無しさん:03/06/06 16:39
glutのソースとかは>>80の言うようになってるな。
複数のウィンドウシステムに対応したい場合とか
他にやりようが無いと思うんだけどどう?


84 :仕様書無しさん:03/06/06 18:45
>>83
やりようはいくらでもある。

#ifdef SYSTEM_FOO
#define funcA(param) funcFoo_SYSTEM_FOO(param)
#elif SYSTEM_BAR
#define funcA(param) funcFoo_SYSTEM_BAR(param)
#endif

みたいな define を切った上で、各システムごとに別々のソースファイルに
分けておくのが俺は好き。

85 :仕様書無しさん:03/06/06 18:50
最初っから他のウインドウシステムとかに対応するつもりで
設計して他のなら兎も角、継ぎ足し、継ぎ足しでプログラムを
拡張していったら、そうなってしまった……。
のではないかとおもふ

86 :仕様書無しさん:03/06/06 21:35
>>84
glutとかdllにして使うので関数名が変わってしまうとまずいのでは。
dllにしなくても何かトリック使わないとリンクエラーにならない?

システム毎ソースを分けてmakefileをいくつか用意するとか?

87 :仕様書無しさん:03/06/07 12:31
>システム毎ソースを分けてmakefileをいくつか用意するとか?

そこまでやるならdefineで分ける必要は無いだろ

88 :仕様書無しさん:03/06/07 14:09
要は継ぎ足しのコードや共通化されるべきコードが入り交じった
ソースを見ていると、この会社辞めたくなる、というわけですね。

89 :仕様書無しさん:03/06/07 19:50
ふと思った。前にいた会社で、アルゴリズム部分を簡単に差し替えできる
ように、という依頼があって、とりあえずアルゴリズムの中核だけを1個の
ソースファイルにまとめたことがあった。(ちなみにC)
……あれをモジュールごと差し替えじゃなく、継ぎ足し書き換えで
保守していったらそういうコードになるだろうなぁ。

90 :仕様書無しさん:03/06/08 00:54
会社辞めたぁなるというか、
「プログラムやらないでくれ!!」って言いたくなるのはあるねぇ。

必要のないものまで引数渡しにするとか、
バッファオーバーランが起きそうなコードとか。
最悪なのが、全部の関数プロトタイプを
1つの.hに書いてて、
「何がしたぁのか判らん!!」って客先で怒鳴ってしまった。

今、バッファオーバーランを特に気をつけるぞ。


91 :仕様書無しさん:03/06/08 01:01
struct S {
char* buf[64 * 1024];
size_t length;
int type;
void* owner;
};
とかあるとき、
int foo( struct S s ) {
}
とかって、値渡ししてるソースを引き継いだことがある。

92 :仕様書無しさん:03/06/08 01:17
こーゆうのは?

int foo(struct y* y, struct x *x)
{
 y->a = *x;
...


93 :仕様書無しさん:03/06/08 01:22
今いるプロジェクトの規約でこんなのあるんだけどどうでしょうか?
char strbuf[HOGEGE_MAX_LEN +sizeof(char)];
+sizeof(char)ってするのなんか中途半端で
キモイような気がするんだけど。

+sizeof(char)をどうしてもやりたいっつーならこうでしょ。
#define HOGEGE_MAX_LEN 10 +sizeof(char)

94 :仕様書無しさん:03/06/08 01:25
>>93
+sizeof(char)ってのが何を意味するのか?
って、たぶん文字列末尾の'\0'のことだと思うが、
そういう意味なら、
char strbuf[HOGEGE_MAX_LEN +sizeof(char)];
が正しいと思うが。

HOGE_MAX_LENをバッファのサイズでしか使わないのか?
そのバッファに入れることの出来る文字列の最大長とかの
意味で使わないのだったら、それでも解るが。

95 :仕様書無しさん:03/06/08 01:32
というか配列のサイズの中にsizeofを書いてどうするのかと小一時間(ry

96 :仕様書無しさん:03/06/08 01:33
>HOGE_MAX_LENをバッファのサイズでしか使わないのか?
     ______
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (6      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < 正直、スマンカッタ
|| | | |  \ ┃  ┃/    \________
| || | |    ̄  ̄|

>>94の言うとおりでつ。
>>93の下2行は消してください。
でも「+sizeof(char)」をタイプするときにママンに嘘ついてるような
罪悪感を感じるんでつ。なんでだ何でだろ〜

97 :仕様書無しさん:03/06/08 01:34
文字列扱うんだったら、
俺はstringクラス使うけどな。
charバッファはオーバーラン起こりそうで使えなくなった。
やっぱりC++に限るわな


98 :仕様書無しさん:03/06/08 01:36
>93-94
まんまと騙されますた

気付いた95は偉い。

99 :仕様書無しさん:03/06/08 01:43
>>98
ネタじゃありませんが何か?

100 :仕様書無しさん:03/06/08 01:57
未だにVC4.2使用。
VC6を使わない理由:汎用ライブラリがVC6だとコンパイル出来ない。

・・・この会社に入ってはや3年。
VC4.2にも愛着がわいてきました。

101 :仕様書無しさん:03/06/08 02:00
>>100
ねー、汎用ライブラリって例えば何のことー?

102 :仕様書無しさん:03/06/08 02:01
>>101
鼻を噛む時や、汚れを取るときに使うティッシュみたいなやつ。

103 :仕様書無しさん:03/06/08 02:16
ふーん。

104 :仕様書無しさん:03/06/08 02:29
凡庸ライブラリ

105 :仕様書無しさん:03/06/08 02:31
はにょうりぶ

106 :仕様書無しさん:03/06/08 03:25
望洋ライブラリ

107 :仕様書無しさん:03/06/08 04:17
はにゃーん(ry

108 :仕様書無しさん:03/06/08 11:27
ryはrybraryの略ですか?

109 :仕様書無しさん:03/06/08 11:34
Rubyの略です。

110 :98:03/06/08 13:12
>99
じゃあマジボケですか?
まあ俺も95を読むまで気付かなかった訳だが。

例えば char の代わりに int の配列を使うとして
int buf[HOGE_MAX_LEN +sizeof(int)];
って書くかい?

111 :無料動画直リン:03/06/08 13:13
http://homepage.mac.com/norika27/

112 :仕様書無しさん:03/06/08 13:28
>>93
sizeof("") 使え

113 :仕様書無しさん:03/06/08 13:34
>>95
sizeof演算子を配列の中で使って何が悪い?

突っ込むべきはそこではなく、
sizeof(char) にいったい何の意味があるんだと問い詰めたい・・・
絶対に1にしかならないんだが?

114 :仕様書無しさん:03/06/08 14:12
sizeof(TCHAR)ならわからないでもないと思う。

115 :仕様書無しさん:03/06/08 14:43
>>113
配列領域を一個多く確保する場合、sizeofなど使わず
*** buf[MAX_LENGTH + 1] とやれば
sizeof(***) が何であろうとも絶対に一個分多めに確保できますが。

というか>>110も言っているように
int buf[MAX_LENGTH + sizeof(int)] とやると
(たいてい) 四個多く確保されてしまいます。

116 :仕様書無しさん:03/06/08 14:59
sizeof(char)が1になるって保証されていることを知らなかっただけでしょう。



117 :98:03/06/08 15:19
我ながら暇人だと思いつつ解説。

char buf[HOGE_MAX_LEN +1];
このとき、HOGE_MAX_LEN は文字数なので単位は「個」。
1 の単位も「個」。
何が1個なのかといえば、文字列の終わりを示す '\0' が文字1個である、ということ。
一方 sizeof(char) では、単位は「byte/個」。
単位の異なる値をそのまま足し算なんてできません。

>113,114,116
それはまた別の話。
sizeof(char) と書いても決して無意味じゃないし。

>115
細かい突っ込みで悪いが、(たいてい)3個ね。

118 :仕様書無しさん:03/06/08 16:30
逆にsizeof(char)=1で頭がいっぱいなんだろ

119 :仕様書無しさん:03/06/08 16:44
>>118
誰に対するレス?

120 :116:03/06/08 16:44
>>117
そうでした。>>116はmalloc()とか使うときのお話でした。

121 :116:03/06/08 16:49
引数はこんな感じ (HOGE_MAX_LEN+1) * sizeof(char)
じゃあcalloc()使うべきだな

122 :仕様書無しさん:03/06/08 18:41
漏れ、誰かが型をchar→hogeに変えた時、sizeof(hoge)を入れ忘れんように
sizeof(char)をあらかじめ入れておくのだが、コレって余計なお世話か?

123 :仕様書無しさん:03/06/08 19:02
型をhoge に変えて且つ null-termination に依存し続けたらバッファオーバ(ry

124 :仕様書無しさん:03/06/08 20:16
サイズ指定してるのに?
mallocやnewでの指定を変え忘れでオーバーフローはあると思うが…


125 :仕様書無しさん:03/06/08 20:18
>>122
おまえ>>115とか>>117をまったく理解してないだろ

126 :仕様書無しさん:03/06/08 21:13
>>115
>int buf[MAX_LENGTH + sizeof(int)] とやると
>(たいてい) 四個多く確保されてしまいます。

>>117
>細かい突っ込みで悪いが、(たいてい)3個ね。

すまん、なんで3個なのか分からないので教えてください。
sizeof(int)は、(たいてい)4「byte/個」バイトだよね?
「MAX_LENGTH分と余分の1個分」より、さらに「3個多い」って意味?


127 :98:03/06/08 22:25
まだ続いてたのか…
いいかげんネタに思えてきますた。

char buf[   ];
      ~~~
ここに入れるのは「バイト数」じゃなくて「配列の要素の数」だろ
という、ただそれだけの話なんだけど。
char の場合はたまたま両者が一致するが混同しないように。

128 :仕様書無しさん:03/06/08 22:27
もともとやろうとしてることが意味不明なので何個多いかは分からない。
なので3個も4個もどちらが正解ともいえない。
「たいてい」と書いてあるところに突っ込みを入れた117が悪い。

129 :仕様書無しさん:03/06/08 23:09
char buf[HOGE_MAX_LEN +1]; //sizeof(char)分余計に確保
int buf[HOGE_MAX_LEN +1]; //sizeof(int)分余計に確保
hoge buf[HOGE_MAX_LEN +1]; //sizeof(hoge)分余計に確保

130 :98:03/06/08 23:22
ちょっと誤解&言葉足らずだった。

>「MAX_LENGTH分と余分の1個分」より、さらに「3個多い」って意味?
そういうことです。
スマソ>115

131 :112:03/06/08 23:23
だから、sizeof("")と書けと・・・

132 :98:03/06/08 23:27
>131
sizeof("") / sizeof(char) でないと
sizeof(char) と実質的に変わらないよ。

133 :仕様書無しさん:03/06/08 23:38
ここまでやればすっきり?
#define NULLTERMINATE (sizeof("") / sizeof(char))
char buf[HOGE_MAX_LEN +NULLTERMINATE];

134 :名無し@沢村:03/06/08 23:39
sprintf("ある晩、二人の男が風呂に入った。
一人がもう一人のちんぽを見た。
そいつのちんぽはドス黒かった。使い古した後がうかがえた。
「おまえ、ずいぶん女を泣かせただろ?」
「いや、おれはまだ童貞だ」
そいつのちんぽはせんずりで使い古したのだった。 ");


135 :仕様書無しさん:03/06/08 23:45
Perlか何か?
確かにこんなのが埋まってたらやめたくもなるね。

136 :仕様書無しさん:03/06/08 23:49
Cじゃないか?

コンパイル通らないけど。

137 :仕様書無しさん:03/06/08 23:58
sprintfで引数1個の言語って何?

138 :仕様書無しさん:03/06/09 00:10
Perl, Ruby,...
あとは知らん。

139 :仕様書無しさん:03/06/09 00:13
>>133
ええ〜、まじー?それともねた〜?

140 :仕様書無しさん:03/06/09 00:39
たしかに、、、もし [HOGE_MAX_LEN + 1] って書いたのを
「定数を裸で書いちゃ駄目だろ!」って>>133に直されたら、
さすがに辞めようって思うよ


141 :133:03/06/09 01:19
漏れの環境では sizeof("")/sizeof(char) = 4 になりそうだよ〜。
まじー?それともねた〜?

142 :仕様書無しさん:03/06/09 01:20
ごめん騙ってしまっちゃいました。>>141 の名前は >>139 でつ。
ゴメンコ。

143 :仕様書無しさん:03/06/09 01:58
>>141
「定数を裸で書いちゃ駄目だろ!」っていう方向だから>133に書いてあるように直すよ。
とりあえずdefineにしとけば、リーダー説得したあとで好きなように一気に置換できるし。
#include <stdio.h>
int main()
{
printf("NULLTERMINATE= %d\n", sizeof("")/sizeof(char));
return 0;
}
俺んとこではこうなるよ。
NULLTERMINATE= 1
4になるの?
まじー?それともねた〜?

144 :133:03/06/09 02:00
「定数を裸で書いちゃ駄目だろ!」なら
#define NULLTERMINATE 1
これでいいのかも

145 :仕様書無しさん:03/06/09 02:08
>>143
ああ、漏れが勘違いしてたよ〜。ごめんねー。
( sizeof(char*) と間違えた )

146 :仕様書無しさん:03/06/09 02:14
>>144
だと思うが。

147 :80:03/06/09 03:01
単なる高速化&機能追加の依頼だと思ってたら
「実行途中でフローティングエラーが出るから1ヶ月以内にバグフィックスもお願い」
だそうだ。
バグが再現するまで3週間かかる計算なのに・・・
2ヶ月専念させてくれるなら一から開発したほうが絶対いいって(−−;
このソース見てると胃に穴が空きそうだ。
並行でsolaris9でサーバー新設やってるんですがやたら時間かかりますね。
Linuxみたいに入れてすぐ使えるOSがやっぱりいいわ〜


148 :仕様書無しさん:03/06/09 03:10
>>147
年度末や連休前後に胃が痛くなることを思えば太陽の方がぜんぜんマシよ。
いろいろ使ったけどやっぱり Linux は Solaris, HP-UX, AIX に比べて I/O が
多くなると不安定気味。専用ハードに専用設計 OS がやっぱ安定するわ。

149 :仕様書無しさん:03/06/09 05:08
>>147
フローティングエラー???
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%83%95%E3%83%AD%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%A8%E3%83%A9%E3%83%BC

150 :仕様書無しさん:03/06/09 10:43
#define NULLTERMINATE sizeof('\0')

とかやるといろいろ面白いぞ。

151 :仕様書無しさん:03/06/09 10:52
>>150
CとC++で挙動が変わることがそんなに面白いか?

152 :仕様書無しさん:03/06/09 16:43
>>150
えええーーっ
CとC++で挙動が変わるのか!!

 
 
 
 
って書いて欲しかった?

153 :仕様書無しさん:03/06/09 21:03
スマソ>>150のってCとC++でどう違うんだ?
無知な漏れに教てくれ

154 :仕様書無しさん:03/06/09 21:28
>>153
'\0' は C だと int だけど、C++ だと char

155 :仕様書無しさん:03/06/09 22:03
~/prog % cat ahya.c
#include <stdio.h>

int main()
{
printf("sizeof('\\0') = %d\n", sizeof('\0'));
return 0;
}
~/prog % cc ahya.c && ./a.out
sizeof('\0') = 4
~/prog % c++ ahya.c && ./a.out
sizeof('\0') = 1

ふむ

156 :仕様書無しさん:03/06/09 22:57
全然関係ないんだけど、C++というコマンド名が
ちょっとやだな、と思った漏れはダメダメでしょうか?

157 :仕様書無しさん:03/06/09 23:44
>>156
ホモホモです

158 :131:03/06/09 23:50
>>132
sizeof演算子の意味くらい調べろ

159 :仕様書無しさん:03/06/09 23:58
CとC++のC言語の範疇では、微妙なところが微妙に変わっているようだが、
そういったことを完全に把握してる香具師いるか?
漏れはほとんどC++を使うからあまり意識してないんだが、まずいかな。

160 :仕様書無しさん:03/06/10 00:40
>131=112

>127

161 :131:03/06/10 02:03
>>160
はぁ?

162 :仕様書無しさん:03/06/10 02:18
漏れは初めに見たのがクラスのないC++ソースだった・・・


163 :80:03/06/10 06:16
>>149
ごめんよ
Floating exception (core dumped)
だった

164 :仕様書無しさん:03/06/10 11:22
>>159
> CとC++のC言語の範疇では、微妙なところが微妙に変わっているようだが、
> そういったことを完全に把握してる香具師いるか?
完全に把握しているとはいわないけど、
・文字リテラルの型(C:int, C++:char)
・関数宣言(C:宣言しない場合、intを返す関数を暗黙で宣言する, C++:宣言しないとエラー)

これぐらいはC/C++使いの常識だと思っていたのだが...
CとはC++のサブセットのC違いはCのポインタと配列ぐらい違う。

165 :仕様書無しさん:03/06/10 12:23
void *から他のポインタ型への暗黙のキャストとか。
int *p = malloc ( sizeof (int) * size );
CだとOK。C++だと駄目。

166 :仕様書無しさん:03/06/10 13:04
そういう、コンパイルエラーがでるところは、
まあ、大した問題じゃないわけだ。

167 :仕様書無しさん:03/06/11 00:56
漏れが今使わされてるCコンパイラは
struct A* に struct B* を入れても警告しか出さないです。
struct A* に struct A const* を入れても警告も出さないです。
これってCだから?

168 :仕様書無しさん:03/06/11 02:56
>>162
たいていの人が最初に見るC++ソースにはクラスがないんじゃないか?
StroustrupのHello, new world.

169 :仕様書無しさん:03/06/11 05:50
C++前提なんだけど、回りじゃ typedef struct .. ってやる人が多いです。
自分は滅多に typedef 付けないけど、まずいですかね?
(規約がある訳じゃありません)。

170 :仕様書無しさん:03/06/11 06:27
>>169
別にいいんじゃない?
C++のコードをCで書き直すことはまずないだろ。
逆はあっても。

171 :仕様書無しさん:03/06/11 23:34
>>168
うちの会社が作ってる製品のソースなんだ・・・

172 :仕様書無しさん:03/06/11 23:52
"Hello, World!" が?

173 :仕様書無しさん:03/06/12 04:00
クソコードに機能追加とかするときって元のソースに合わせてクソな
書き方する?それとも浮いてまうの覚悟でマトモな書き方する?

174 :仕様書無しさん:03/06/12 04:12
>>173
可能ならば作り直す。

175 :仕様書無しさん:03/06/12 11:59
外側から機能だけ呼び出す形に封じ込めてコードの中には立ち入らない
それがダメだったら仕方なく作り直す

176 :仕様書無しさん:03/06/13 15:55
>>173
浮き過ぎない程度に、まっとうな書き方を。

177 :仕様書無しさん:03/06/13 18:13
漏れ自分が入社したときに作ったPGの改良を頼まれて
自分の担当した箇所を見て絶句

Dim 開始
Dim やる
Dim 終了

型も切ってないし日本語だし、「やる」ってなにやるんだよ
とかなり赤面しました

178 :仕様書無しさん:03/06/13 19:25
>>177 それは証拠湮滅のチャンスが与えられたということだから,会社辞めなくてよかったと
思えるソースコードでもあるんじゃないかな。自分が辞めてたら今頃誰かがそれを見て笑って
るわけだし。

179 :仕様書無しさん:03/06/13 19:52
もう遅い、俺が笑った

180 :仕様書無しさん:03/06/13 21:40
入社直後にVariant型連発や日本語変数やっちまうのは基本だ。気にするな

入社後数ヶ月の間に、規約関係の本を読んで改宗するかどうかでその後が決まるな

181 :仕様書無しさん:03/06/13 21:45
赤面できるようになっただけ
成長したと思って強く生きろということか…

182 :仕様書無しさん:03/06/14 02:32
a=b=c;(C言語)

間違いでは無いんだが、んなもん知らん!

183 :仕様書無しさん:03/06/14 05:21
「型を切る」ってうまい言葉だな。使わせてもらお。

184 :仕様書無しさん:03/06/14 08:50
>>182はどこが会社を辞めようと思ったソースコードなの?

185 :仕様書無しさん:03/06/14 09:05
>>182は会社辞めた方がいいな。確かに。

186 :仕様書無しさん:03/06/14 10:39
「型を切る」って一般的には
typedef int Hoge;
みたいなケースを指すのでは?

187 :仕様書無しさん:03/06/14 11:17
http://www.engiware.com

188 :仕様書無しさん:03/06/14 12:37
>>180
でも新人がそんなコード書いて誰も注意せずに納品ってダメな会社
だと思う。>>177のプログラムの位置付けが、わからんから一概には
いえないけど。

189 :仕様書無しさん:03/06/14 15:10
以下、処理と引数を省略した以外はそのまんまコピペ。

'CheckText
Private Function CheckText() As Boolean
'省略
End Function

'CheckTextのサブルーチン
Private Function CheckTextSub() As Boolean
'省略
End Function

'CheckTextSubのサブルーチン
Private Function CheckTextSubSub() As Boolean
'省略
End Function

'CheckTextSubSubのサブルーチン
Private Function CheckTextSubSubSub() As Boolean
'省略
End Function


関数名も関数ヘッダも原文まま。なに考えて命名しやがった。

190 :仕様書無しさん:03/06/14 15:13
VBにしてはまともな方だよ。

191 :仕様書無しさん:03/06/14 15:38
>>186
切り出す、と
切り離す、の違いかな

192 :仕様書無しさん:03/06/14 21:17
>>188
周囲が皆それどころじゃないので新人の書いた糞コードのまま納品

193 :仕様書無しさん:03/06/14 21:22
#define INT_CONST_5016 5016 /*保守性のためマクロ定義*/

194 :仕様書無しさん:03/06/15 01:47
>>193
なんか若干目立の臭いがするなあ。

195 :仕様書無しさん:03/06/15 05:36
漏れの作ったプログラム、テスト通ればOKって感じで
未レビューで納品しちゃった・・・
自分で言うのもなんだが酷え作り。
顧客は分からないからソースは見ないっつってたから改善しろ!
っていわれることはないと思うが。

とりあえず今のところ順調に動いてるようだが
問題出る前にドロンしたいな・・・

196 :仕様書無しさん:03/06/15 23:13
static char *get_token (FILE *in)
{
  char b [32];
  /* 1000行ぐらい */
  gets (b);
  /* 1000行ぐらい */
  return b;
}

inは使われてない。
そもそもこの関数が呼ばれてない。
ファイル名がaa.c。
なんかget_token2とかget_token3とかいう関数がある。
が、結局どれも呼ばれてない。
良く見るとファイル内の関数が全部staticだ。
fとかいう関数があった。

鬱だ。

197 :仕様書無しさん:03/06/15 23:53
呼ばれてないならいいじゃんw

198 :仕様書無しさん:03/06/16 01:29
( ゚ д ゚ )エッ!?

199 :仕様書無しさん:03/06/16 06:50
ファイル削除してビルドしてみて、通れば解呪成功。

200 :仕様書無しさん:03/06/16 15:03
>199
ディスペルかよw

201 :仕様書無しさん:03/06/16 16:27
ネタだとばかりに思っていたretrunを目の当たりにした…

202 :仕様書無しさん:03/06/16 17:00
RetRunner

203 :仕様書無しさん:03/06/16 18:11
>201
次はmein関数?

204 :仕様書無しさん:03/06/16 23:48
/* a=b; この行なぜかコンパイルエラーになる */
a=b;

(´ー`)ほのぼのした

205 :仕様書無しさん:03/06/17 00:23
>>193
#define INT_CONST_5016 5016 /*保守性のためマクロ定義*/
#define INT_CONST_5017 5017 /*保守性のためマクロ定義*/
#define INT_CONST_5018 5332 /*保守性のためマクロ定義*/

206 :仕様書無しさん:03/06/17 00:32
>>205
#define INT_CONST_5016 5016 /*保守性のためマクロ定義*/
#define INT_CONST_5017 5017 /*保守性のためマクロ定義*/
#define INT_CONST_5018 5332 /*保守性のためマクロ定義*/
#define INT_CONST_5018_ORIG 5018 /*副作用回避のためマクロ定義*/

207 :仕様書無しさん:03/06/17 02:21
>>205-206
おお、君達もそんな世界の住民かい。
(-_-)ウツダ


208 :ヽ(´ー`)ノ:03/06/17 09:21
>>205-206
それってどうやって使うの?

// バージョン番号を #define すれば解決なんじゃ…。


209 :仕様書無しさん:03/06/17 11:54
>206

いや、むしろこっちかと。

#define INT_CONST_5016 5016 /*保守性のためマクロ定義*/
#define INT_CONST_5017 5017 /*保守性のためマクロ定義*/
/*#define INT_CONST_5018 5018 *//*保守性のためマクロ定義 値変更に伴い廃止 2003.06.17*/
#define INT_CONST_5332 5332 /*保守性のためマクロ定義 値変更に伴い新規作成 2003.06.17*/


210 :仕様書無しさん:03/06/17 20:29
全然関係ない話で申し訳ないんだけど
Javaって、確か日本語のクラス名とか変数名OKだよね?
ってことは

class ぬるぽ extends NullPointerException {
}

とかしたら

try {

} catch (ぬるぽ n) {
  System.out.println("ガッ");
}

とかできるの?

211 :仕様書無しさん:03/06/17 22:57
>>210
} catch (NullPointerException) {
ではいかんのかと小一時間(ry

212 :仕様書無しさん:03/06/17 23:00
>>211
喪前はソースコードの中にぬるぽと書きたくないのかと小一時間(ry

213 :仕様書無しさん:03/06/17 23:23
ぬるぽをスローする側を作るのがめんどくさそうだ。


214 :仕様書無しさん:03/06/18 00:14
単にNullPointerExceptionのラッパーではいかんですか?


215 :仕様書無しさん:03/06/18 10:19
>>210
試せ。

public class Test {
  public static void main(String[] args) {
    try {
      throw new ぬるぽ();
    } catch (ぬるぽ n) {
      System.out.println("ガッ");
    }
  }
}

class ぬるぽ extends NullPointerException {
}


C:\tmp\java\test>java Test
ガッ

ぬるぽ.classというファイルが出来上がって非常に鬱になれます。

216 :仕様書無しさん:03/06/18 12:17
>>215
ガッ.classも作るべし。

217 :仕様書無しさん:03/06/18 14:49
ワロタ
しかし、生成されるファイルに困るな。
WindowsからUNIX系に持っていったら動かなくなったりして。

218 :仕様書無しさん:03/06/18 19:34
よく出てくるこの
(ry
ってなに?
良識的に考えろとかそんな意味?

219 :仕様書無しさん:03/06/18 19:43
(略→(ry

220 :仕様書無しさん:03/06/18 20:18
(rythmicalに

221 :仕様書無しさん:03/06/18 21:34
>>218
キーボードのrとyに対応するひらがなを見よ

222 :仕様書無しさん:03/06/18 22:00
すん

223 :仕様書無しさん:03/06/18 22:09
>>221
すん

ryはryakuの略ではと鯉知事姦



224 :仕様書無しさん:03/06/18 22:16
♪ryryr-y

225 :仕様書無しさん:03/06/18 22:20
>>224
( ゚Д゚)fz!

226 :仕様書無しさん:03/06/18 23:04
224>>225
ケコーンしてください。マジデ

227 :仕様書無しさん:03/06/19 00:45
rhakuはこうだよ。
お前らいい加減ヘボン式使えよ。
変数名ローマ字はいいんだけどヘボン式とかに
統一されてないのいらいらする。

228 :仕様書無しさん:03/06/19 00:51
変数名ローマ字はイライラする。マジで。

229 :仕様書無しさん:03/06/19 00:57
既存のコードに、こんなのがあった。これは、僕が書いた。
class Base {
    const int limit; // 上限
public:
    Base( int newLimit ) : limit( newLimit ) {}
    int GetLimit() { return limit; }
};
limitは、絶対設定してもらいたかったから、デフォルトコンストラクタは
作らなかったんだ。配列を確保する必要もなかったしね。

で、上限値だけじゃなくて、下限値も必要になった。そこで、派遣さんに下限値を持つサブクラスを作ってもらうことにした。



230 :仕様書無しさん:03/06/19 00:58
しばらくして「publicにしといたよ」って返事が返ってきた。
「publicって何?」って聞いたら、「公開派生」を示す「public」を
マウスで選択してくれた。
どうも某派遣会社では、公開派生の事を「publicにする」と言うらしい。
class Sub : public Base {
public:
    int Under_limit;
    int Over_limit;
    Sub( int Under_limit, int Over_limit, int newLimit ) : Base( newLimit ) {
      this -> Under_limit = Under_limit;
      this -> Over_limit = Over_limit;
    }};
「なんで全部publicなの?」って聞いたら
「もしかして、protectedにしたがる人?」って返事が返ってきた。
もういいやどうでも、って思った。
もうGetLimit()メソッドとlimitフィールドは使いそうもないので、
「コメントにGetLimit()はもう使えない、って書いといて」
とだけ伝えた。
彼も苦心したはずなんだ。
スーパークラスのコンストラクタの呼び方を知らないで困ってたしな。
これがやつのポテンシャルなんだな。これ以上の期待はダメ...
しかし...派遣PG5年やってて...


231 :仕様書無しさん:03/06/19 01:07
5年のうち4年半がCOBOLとみた

232 :仕様書無しさん:03/06/19 01:12
>>230
どうでもいいならわざわざ2chなんかに書き子するなよ。

233 :229-230:03/06/19 01:12
>>231
2年くらいはVBで、あとはC/C++らしいです。
いや、そう言えば、うちに派遣に来た当初、
enumも知らなかったな、その人....

234 :229-230:03/06/19 01:15
>>232
おや、お気に触りましたか。

235 :仕様書無しさん:03/06/19 01:18
>>233
外注のスキルシートや経歴を真に受けるな。
かくいう漏れも偽装派遣社員だが、会社が勝手にスキルシート捏造して
3年目なのに6年目ってことにされて外に出ている。
会社(営業)の力不足をこっちにしわ寄せしてるわけだ。
しかも一年目からずっとこんな感じ。
おまけに案件に応じてそれに合わせた捏造をしてるから
内容の違う物が数種類出回っていることになる。多分この会社長くない。
漏れは今年か来年に引っ越す予定があるのでそのときに辞めるつもりだが
そういう事情のある人間もいると言うことを頭に入れておいてくれ。

まあそいつは単に勉強不足なだけだろうが

236 :229-230:03/06/19 01:34
>>235
いや、スキルシートとかじゃなくて、雑談してた時に、
自慢そうに、彼自身、経歴をそう語ってたのです...
まぁあんまり話してるとスレ違いになってきそうなので。おやすみなさい。

237 :仕様書無しさん:03/06/19 01:35
このPrjもう数年間続いて、ようやく佳境を迎えつつあるんだが

I F 仕 様 書 が な い っ て ど う い う こ と よ ?

238 :仕様書無しさん:03/06/19 01:38
IFって?インタフェースだよね?
つか、なんのIF?UI?

239 :仕様書無しさん:03/06/19 01:57
>>237
大幅な仕様変更のヨカーン


240 :仕様書無しさん:03/06/19 02:00
>>239
しかも「バグ扱い」にされそうなヨカーン

241 :仕様書無しさん:03/06/19 02:15
インタフェースは、普通、I/F とかにしない?
どうでもいいっちゃぁ、どうでもいいけど、3文字語も4文字語も
飽和状態でわけわからなくなってるから、混乱の種を増やしてくれるなよな。


242 :232:03/06/19 02:31
全然釣れなかった。
素直に普通のネタ探してこよ。

243 :仕様書無しさん:03/06/19 04:38
>>230
Sub コンストラクタの最後のパラメタって必要なのか? と問うてみる。

244 :229-230:03/06/19 09:03
不要だとしか思えないけど、派遣さんが作っちゃったからなあ。

245 :仕様書無しさん:03/06/19 09:29
>227
ヘボン式
http://www.seikatubunka.metro.tokyo.jp/hebon/
http://www.kictec.co.jp/inpaku/iken%20keikai/syasin/hebon/romaji.htm
http://www.so-net.ne.jp/india/suhi/hebon.html

中学校やり直してきた方がいいのでは?

246 :仕様書無しさん:03/06/19 09:49
今どき、国際規格でもないヘボン式で書けとか言ってる時点で
釣りなのでは…

247 :仕様書無しさん:03/06/19 09:59
>>246
ローマ字に国際規格とかあるの?
ISO?

248 :仕様書無しさん:03/06/19 10:14
でもまあ、パスポートや道路標識ではヘボン式が使われてるって事だから、
少なくとも日本では正式な表記と考えていいと思うけど。

249 :仕様書無しさん:03/06/19 10:33
>>248
まじで?>247の一つ目のサイトで
「なんば」を「NAMBA」と綴る例が出てたけど、
パスポートってそうなってるの?

変なのー。

250 :仕様書無しさん:03/06/19 12:55
>>247 http://www.halcat.com/roomazi/doc/index.html

251 :仕様書無しさん:03/06/19 13:00
>247
このようなページが見つかりましたが、どうでしょう。
http://www.age.ne.jp/x/nrs/iso3602/iso3602.html
http://www.age.ne.jp/x/nrs/rn/rn474/rn474-1.htm

>249
パスポートがヘボン式なのはアメリカ様に従った外務省の
意向とか。パスポートのローマ字に関しては外務省と
バトルしてる人のページを見たことがあります。

252 :仕様書無しさん:03/06/19 15:08
関数名だって英語ばっかなんだしヘボン式でいいじゃん
つか、別にヘボン式じゃなくてもいいけど>227みたいに書かれたら
気持ち悪くてかなわんな

・・・別に辞めようとまでは思わないが

253 :仕様書無しさん:03/06/19 15:50
逆に無理に英単語にしてるのとか、さらに微妙に単語が間違ってるとかも見ていて辛いな。
あとスペルミスも。


254 :仕様書無しさん:03/06/19 17:03
おまえら、sb_huraguとかいうメンバみたらどー思うよ。
しかも、「sbってなに?」って聞いたら、「識別の略なんですけど・・・」
という答えが返ってきた。
てめーは会社辞めてとっとと田舎帰れ!! と口から出そうになるのを
鉄の自制心で必死に抑えて、「うーん、ただ識別フラグじゃあ何の識別なのか
分かりにくいから、もうちょっと表意的な名前にしてよ。あと、フラグは、
えふ、える、えー、じー、な。ははは」と、笑顔で答えた俺は、我ながら
仏のようだと思うのだが、どうか。

255 :池澤:03/06/19 17:34
「drapeau」とかって教えてあげてこそ仏っぽい。

256 :仕様書無しさん:03/06/19 20:06
ローマ字で書かれる位なら、英語で書かれている方が見やすい。
例えば、

connect( /* 略 */ );



sethuzoku( /* 略 */ );

とか書かれてたらどうよ?

257 :仕様書無しさん:03/06/19 20:18
英単語一文字つかわれてシステムコールなんかと名前がぶつかってるのがイタイ。

名前空間きっちり使ってるなら文句言わないけど、何も考えずにヘッダで
using namespace std;
するくらいの無意識っプリだし。


258 :仕様書無しさん:03/06/19 20:28
>>256
sethuzoku せてゅぞく
な訳だが。

259 :仕様書無しさん:03/06/19 21:11
>>256
セット風俗かと思った。

260 :仕様書無しさん:03/06/19 22:40
>>259
それだ!

261 :仕様書無しさん:03/06/19 23:44
ワロタ

262 :仕様書無しさん:03/06/20 00:11
>>259
セット付属
だろ?

263 :仕様書無しさん:03/06/20 00:26
void sethuzoku(Onna o);
Onna& gethuzoku();

264 :仕様書無しさん:03/06/20 09:30
const Onna& gethuzoku() const;
だったら見るだけですか?

265 :仕様書無しさん:03/06/20 10:02
const Onna& gethuzoku() const throw();

266 :仕様書無しさん:03/06/20 10:28
gethuzoku().connect();

bus error

267 :仕様書無しさん:03/06/20 23:13
セット付属で盛り上がってるとこ申し訳ないんだけど
聞いたこともないようなHCPチャートとかいうのをやらさせるおいらは
もう会社をやめようかなぁ、と思ってまつ

なんつーか、そこまでN○Tにへーこらしなくても・・・

268 :仕様書無しさん:03/06/20 23:51
HCPチャートっぽい模様を出力するプログラム作れば


269 :仕様書無しさん:03/06/20 23:54
>>267
「やらされる」だよな?
「やらさせる」じゃぁ、おまえも一味になっちまうぞ(w

270 :仕様書無しさん:03/06/21 00:27
(・∀・)七味ハケーン

271 :仕様書無しさん:03/06/21 00:43
>>269
やらせられる

272 :仕様書無しさん:03/06/21 00:48
>>269は、「ら抜き言葉」と「さ入れ言葉」の複合技かよ

参考
http://www.twca.or.jp/tfw/df/intel/intl_indx.htm

273 :仕様書無しさん:03/06/21 02:30
>>267
EzDocで生成しる


274 :仕様書無しさん:03/06/21 04:24
Shellで
rm -rf ${INST_HOME}/var/*

OS入れ直し。

人間辞めようかと、思った。


275 :_:03/06/21 04:31
http://homepage.mac.com/hiroyuki44/

276 :50(バグリ気味):03/06/21 06:00
>>274
rootユーザしか設定されていないマシンで!!
/bin/で!!
rm *を!!
(恐ろしいことに、そのプロジェクトでは、/(中略)/(開発ソフト名)/bin/で rm*を実行してからテスト用バージョンを入れよ、という掟があったのだ!!)

UNIXシステムにおけるユーザ管理の重要性について、身を持って知ることとなりますた。

277 :非プログラマ>>ALL:03/06/21 12:19
プログラマってけっこう、ピンきりなんですね?!
でもって、みんな俺が一番だくらいに考えているんですか?

278 :_:03/06/21 12:29
http://homepage.mac.com/hiroyuki44/

279 :r:03/06/21 13:09
こんなコードがあった。これは、一緒に仕事してる派遣さんの書いたコード
/* 文字列を受け取っていろいろする関数。 */
/* コンテキスト的に、origは最大31文字。*/
void func( char* orig ) {
char name[31];
strcpy( name, "" );
strncat( name, orig, 31 ):
// :
}

strncatで文字列コピーするのは、Cでは常套手段。だけど、name[31]では足りないよね。ぼくは、name[32]に変更してもらおうと思って、
「ねえ、これ、strncatのところで、オーバーインデックスするかもだよ」
と教えてあげたんだ。

280 :r/279:03/06/21 13:15
そしたら、こんなコードになってた。
void func( char* orig ) {
char name[32];
strncpy( name, orig, 31 );
// :
}
これだと、origが31文字だった時、終端文字がnameにコピーされない。
そこで
「ねぇ、これだとあとでnameを参照する時にオーバーインデックスしちゃうかもだよ」
って教えてあげたんだ。

281 :r/279:03/06/21 13:21
そしたら、こんなコードになってた。
void func( char* orig ) {
char name[32];
strncpy( name, orig, 31 );
strcat( name, '\0' );
}
突っ込みポイントが2個あって、
「そもそも終端されていない文字列に対してstrcat()を呼んでる」
「つか、strcatの第2パラメータが '\0' == 0 なので、ぬるぽ!」

なんてゆえば、彼のプライドを傷つけることなく
解らせられるかなぁ、って思って、しばらく考えてると、
彼が「あ、このプログラムは変ですね。ちょっと考えます」ってゆってくれたんだ。

282 :r/279:03/06/21 13:27
で、これが最終型。
void func( char* orig ) {
char name[32];
memset( name, 0, 32 );
strncpy( name, orig, 31 );
}
そもそも、memsetやstrncpyみたいに、
「配列の全要素をアクセスする関数」を使うと
効率が悪くなりがちだから、strncatを使って
コードを書いてもらいたかったのに。

要素数が32個程度だし、バグにはなりそうもないので
とりあえず、それでOKにしちゃった。

あーあ。

283 :仕様書無しさん:03/06/21 14:44
>>277
うんにゃ
みんな、自分が良い仕事をしていない事を理解しつつ仕事してる
「俺は天才プログラマーで仕事も完璧だ!」と思いながら、やってる奴は
DQNか変態ぐらいさ
無責任な上司は、完璧な仕事をしろと言うがな・・・

284 :仕様書無しさん:03/06/21 15:25
「自分が一番かどうか」と「他者と自分でどちらがマシか」は違うよ。

優れてる人は俺様サイコー!天井天下唯我独尊」とか考えない。
考えるやつはまさにDQN

285 :仕様書無しさん:03/06/21 15:37
>274
${INST_HOME} が空だったってこと?
/var の下って何があるんだっけ。

286 :仕様書無しさん:03/06/21 15:44
>>279-282
snprintf....

287 :仕様書無しさん:03/06/21 16:43
>>286
どの開発環境で使用できるの?

288 :287:03/06/21 16:47
>>286
っていうか、snprintfって、結果の文字列を
確実にナル文字で終端するんだっけ?
たとえば、これは安全?
char buf[10];
snprintf( buf, 5, "%s", "Hello world\n" );
printf( "%s", buf );

289 :仕様書無しさん:03/06/21 17:01
snprintfがない処理系でも、そのくらい作ってやれよ


290 :仕様書無しさん:03/06/21 17:28
元COBOLerが書いたCのソースは、なんか変なんだなぁ、
普通整数を入れる場合は、int を使うなりするのだが、
全部文字列として格納したがる。
int a=1234;
で済むのに、
char a[]="1234"
なんで?

291 :仕様書無しさん:03/06/21 17:33
>>289
snprintf作るの?


292 :仕様書無しさん:03/06/21 17:41
>>290

char a[]="9999";
strcpy(a,"1234");

が正しいCOBlerC の書き方。

293 :仕様書無しさん:03/06/21 18:32
>>288
C99に準拠した環境であればOK.

でもC99非準拠なシステムのいくつかは
ナル文字終端を保証していなかったはず。

294 :仕様書無しさん:03/06/21 19:30
for(int i=0; i<10; i++){
for(int i=0; i<10; i++){
syori( i );
}
}

うぇーん、お化けが出るよー。

295 :仕様書無しさん:03/06/21 19:39
>>294
「syori」じゃなくて「shori」だろってことが言いたいの?

296 :仕様書無しさん:03/06/21 20:03
そのスコップじゃ掘れない(かもしれない)よ、と言いたいのだろう

297 :仕様書無しさん:03/06/21 20:53
>282

ローカル変数にコピーした後、そこで終わるだけなら

void func(char *orig)
{
  /* nothing */
}

でいいような気がするが、なんか説明に肝心なことが抜けている
ヨカーン。


298 :仕様書無しさん:03/06/21 22:57
>>282
・何のための関数なのか?
・呼び出される頻度、要求される実行効率は?
・そもそも文字列をコピーする必要があるのか?

によって話は全く違ってくると思います。


299 :仕様書無しさん:03/06/22 17:12
a[strlen(a)]=0;

きちんと
文字列を
ターミネートさせるんだってさ。

300 :仕様書無しさん:03/06/22 17:21
>>299ワラタ

301 :学生:03/06/22 17:38
>>299
>ターミネートさせるんだってさ。

誰が言ってたのですか?

302 :学生:03/06/22 17:40
入社したての方ですよね

303 :仕様書無しさん:03/06/22 17:46
a.Ptr[a.Length]=0;

...やっぱし、意味無いや

304 :仕様書無しさん:03/06/22 21:15
>>267

すまない。おれN○T社員だけどHCPチャートなんて聞いたことないんだが・・

305 :仕様書無しさん:03/06/22 22:26
>>299
突っ込みどころ満載だな(w

306 :仕様書無しさん:03/06/22 23:10
>>282
純粋に速く小さくしたいなら、アホstrncatより、
name[sizeof name - 1] = '\0';
strncpy(name, orig, sizeof name - 1);
じゃないか?つーか、そんなことよりconstの教育の方が
重要だと思う。

307 :仕様書無しさん:03/06/22 23:11
>>297
おまいは「抜粋」という言葉を知らんのか

308 :仕様書無しさん:03/06/22 23:22
>>267
ウチも研修でHCPチャートやったな。(N○T社員じゃないけど)
フツーのフローチャートなんかよりはよっぽど描きやすいと思ったけどな。
シンボル図形が小さくて場所を取らないところもいいし、ブロックの
まとまりやループ構造もわかり易いぞ。
これくらいで会社辞めるほどのことでもあるまい。


309 :仕様書無しさん:03/06/22 23:37
>>294-296

310 :仕様書無しさん:03/06/23 00:32
>>306
ばーか、strncpyの仕様をみてみろ。


311 :仕様書無しさん:03/06/23 00:43
>>308
おれはNTT系の社員で、HCPチャートは研修で習ったが、
ソースコード以上の書きやすさも読みやすさも持っていないし、
ソースに埋め込むコメント程の意味も持たない物だと思ったがな。




312 :仕様書無しさん:03/06/23 00:50
>>306
同意。自分はconst付けまくり派。
ところでJavaではfinalって聞いた(読んだ)んだが、Java屋さんfinal付けてるか?

313 :仕様書無しさん:03/06/23 01:16
>>312
Cはシランし、プログラム滅多に書かないんだが、
int function( const int x){}
みたいなやし???
C++の入門書を読んだとき以来、一度も書いたこと無いっす。

314 :仕様書無しさん:03/06/23 01:27
そこでconstはいらないでしょ。

315 :仕様書無しさん:03/06/23 01:31
>>313
まぁそんな感じだが...
重要な意味を持つのは、ポインタや参照を関数間で受け渡したり、
メンバ変数の宣言のときだな。

こんな感じ
class C {
const std::string l;
public:
C( const std::string& m ) : l( m ) {}
const std::string& getL() const {
return l;
}
};
こうすると、変な箇所でオブジェクトの値が書き換えられたり、
削除されたりすることがなくなる( = バグが減る )。
また「そのコンテクストでは変更されない」ことで
コンパイラの最適化が働きやすくもなる。



316 :仕様書無しさん:03/06/23 01:37
APIがうんこでconst全く使ってない場合は
どうしたらいいでしょう?

317 :仕様書無しさん:03/06/23 01:38
>>314 いや、無意味ではない。
以下の例を考えてみるべし。
void foo( int n ) {
const int size = n;
for( int i = 0; i < n; i++ ) {
// :
}
}
このとき、sizeのconstは不要と言い切れる?
# まぁ、あんまり重要な働きはしないかも知れないが、
# この関数内で size の値を変えないのであれば、# どっちかってゆうと妥当だと思う...

318 :312:03/06/23 01:40
さすがに const int x は滅多に書かない。
推奨するのは const char* str のようにポインタ類。
もし int function(char* str); って関数宣言されちゃうと呼び出す方が
int ret = function("hoge"); って書けなくなるでしょ。
C++になって見通しは良くなったけど変数を多くの関数に与えている場合、変数がどの関数で変更されてるのか判りにくいんよ。
と言う訳で変更しないポインタ引数はconst付けてね、って事。後、参照もね。

319 :仕様書無しさん:03/06/23 01:48
>>316
「本来はそこにconstがあってもいい」って断言できるなら、
const_castすればいい。

そこがほんとにconstでない時はいったん変更してもよいオブジェクトにコピーせよ。

320 :299:03/06/23 07:31
>>301

10年ほど前。当時の会社の先輩(ビジネス系プログラマ。)
まじめに語ってくれた。

自分はすぐやめたよ。

321 :仕様書無しさん:03/06/23 09:58
>>299は殿堂入りだな

322 :306じゃないけど:03/06/23 12:45
>>310
なんで「ばーか」なの?

323 :310じゃないけど:03/06/23 13:16
>>322
strncpyのマニュアルを見ろ。馬鹿という言葉にだけ反応するな。
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/strncpy.3.html
> srcのnバイトを越えない数の文字がコピーされることを 除けば、strncpy()
> 関数も同様である。 したがって、もし srcの最初のnバイトの中に NUL 文
> 字が無ければ、 コピーの結果としてできる文字列は NUL で終端していない
> ものになる。

324 :仕様書無しさん:03/06/23 14:28
>>323
322=306が何を主張してるのかも、
310の突っ込みの意味もわかって無いでしょ。

文字列の終端の話じゃないよ。

325 :仕様書無しさん:03/06/23 14:42
>323

strncpyの仕様に絡めた方が判りやすいのなら、>306のやろうとしていることは

strncpy(name, orig, sizeof name - 1)[sizeof name - 1] = '\0';

だよ。別に問題ないと思われ(いや、上のような書き方をしたら問題だが :-)


326 :仕様書無しさん:03/06/23 15:17
ああ、こっちの話ね
> src の長さが n よりも少ない場合は、 dest の残りは NUL 文字で埋められる。

で279が複数箇所でマジックナンバーを使っていることがそもそもの原因なのには
には誰も突っ込まないの?

327 :仕様書無しさん:03/06/23 15:43
マジックナンバー以前の問題。

328 :仕様書無しさん:03/06/23 21:03
>>326
ここにソースさらすときは#defineで定義してあった値もマジックナンバー
に変えてさらしてるけど、ダメか?

329 :仕様書無しさん:03/06/24 01:14
>>328
ダメじゃないけど、このスレの住人には
「書き込みの主旨」を読み取れないやつが多いからな。

330 :仕様書無しさん:03/06/24 01:42
>>329
スターダストボーイズですから(w


331 :仕様書無しさん:03/06/24 01:49
マジックナンバーと言えば、みなさん特定のソースでしか
使わん#defineは書くなら何処に書きます?
漏れは一括管理しないんだったら、ヘッダー(.h)には置かず
ソース(.c/.cpp)に置いた方が良いのでは、
と提言したら変態扱いされますた。

漏れの考えって、本当に変態的?

332 :仕様書無しさん:03/06/24 01:55
>>331 普通。

333 :仕様書無しさん:03/06/24 02:00
>>331
そもそも特定のソースでしか使わないのにdefineて・・・。
constのstatic変数にでもしとけば?


334 :331:03/06/24 02:18
>>333
変数の初期値は当然#define切らにゃならんから、
火に油注ぐようなものです。
つーかconstとstaticもほとんど使われて無かったり…
今まで見た先輩の中で、まともに使ってたのは2,3人…

335 :仕様書無しさん:03/06/24 04:08
>>331
クラスで整数定数の場合ならクラス内(.h)にenumで書くのが好みですな。
constも良いけど.hで初期化できないのが面倒(今は出来るのかも..)。
templateの場合、enum、const で手こずった記憶があるけど何か忘れてしまった。

336 :ヽ(´ー`)ノ:03/06/24 11:18
ちょっと疑問。
> 変数の初期値は当然#define切らにゃならんから、
> 火に油注ぐようなものです。

 #define HOGE_CONSTANT 1234
と書くところを
 static const HOGE_CONSTANT = 1234;
にすればいいだけで、別に別途 #define する必要は無いのでは?

// 俺が勘違いしてるヲカン

337 :仕様書無しさん:03/06/24 12:47
>>336
いや、俺もそう思ったので、???だった。


338 :仕様書無しさん:03/06/24 15:06
>>336-337

>>331がC++使ってないだけだろ。

もしかしたら、
#define HOGE_CONSTANT 1234
static const HOGE_CONSTANT_DATA = HOGE_CONSTANT;
とかやらないといけない規則なのかもしれないがなー

339 :仕様書無しさん:03/06/24 15:07
C++以前の問題。

340 :338:03/06/24 15:13
ああ、static変数って言ってるんだからCでもそうかスマソ


341 :仕様書無しさん:03/06/24 16:54
>>338
> もしかしたら、
> #define HOGE_CONSTANT 1234
> static const HOGE_CONSTANT_DATA = HOGE_CONSTANT;
> とかやらないといけない規則なのかもしれないがなー

俺も一瞬それ考えたが……まさか?

342 :仕様書無しさん:03/06/24 19:21
>>341
>俺も一瞬それ考えたが……まさか?
いや、こんな規則ぐらいなら普通にあるw

343 :仕様書無しさん:03/06/24 19:46
禿しく趣味悪い規則だなw
可読性悪くしてないか?


344 :仕様書無しさん:03/06/24 23:08
>>338
確かに火に油を注いでる


345 :331:03/06/25 00:58
>>341
ビンゴ。

>>343
  #define HOGE_A1 0xA1

みたいな定義が大半なんで、可読性はさほど悪くないです。(ニガワラ
コーディング効率は悪いけど。

ちなみに漏れは派遣で途中参加なんだけど、参加時点で
・全定数が1つのヘッダで#defineされてる
・定数を管理(命名規約を決めたり、分類する等)していない
という何とも芳醇なソースですた。

その後、機能別に分割するよう説得はできたものの、
>>331で書いたように全部ヘッダに置いたままという…
コンパイル効率の悪化や、名前の衝突などデメリットを散々説明したけど
「#defineはヘッダでするもんだ」と受け入れられず。
各ソース毎に定数用ヘッダを作るのもアホらしいし…
どうしたものか。

346 :仕様書無しさん:03/06/25 01:06
srcに#defineされると、2回grepする事になるから嫌い。
やめてくれって思うけど。
同じ理由でマクロの切り直しとかも嫌い。

constでも#defineでも、コメント書けばどっちでもいいんじゃないですか?
ってか、コーディング規約って無いの?ヤバいでしょ。それは。


347 :仕様書無しさん:03/06/25 01:06
>>345
各ソース毎に定数用ヘッダを作りましょう。

348 :仕様書無しさん:03/06/25 01:08
「srcに#defineされると、2回grepする事になるから嫌い。 」
の、意味が全く和漢ナインですが。

349 :仕様書無しさん:03/06/25 01:15
>>348
あれ?普通Cなら、1回目のgrepってgrep XXX *hじゃないの?
甘い?

350 :仕様書無しさん:03/06/25 01:27
>347

各src毎にxxxx_n.hっていうヘッダファイルを3つ
作ってたプログラムなら見た事あるよ。
1がI/F定義用、2が定数定義用みたいな感じで
レベル付けされてたが意味がサパーリ分からんかった。
結局xxx_1.hに必要なもの詰め込んで他空っぽなのがほとんどだったが。

って同じPRJで働いてたヤシが一人はいそうな悪寒。

351 :仕様書無しさん:03/06/25 01:57
>>349
「普通」ってこともないが「甘い」ってこともない。
つーか、みんなが(そんなどうでもよさそうなとこまで)同じやり方だと
信じてる、その感覚がキモい。

352 :349:03/06/25 02:12
>>351は、ちなみにどーやんの?おせーて。

353 :仕様書無しさん:03/06/25 02:13
>>352
そんなことをおしえてもらおうという発想がキモイ。

354 :349:03/06/25 02:17
>>351はケチでした
漏れはgrep XXX *だとか?(藁

355 :仕様書無しさん:03/06/25 02:41
grep って、拡張子複数指定出来ないの?
●丸みたいに。

356 :仕様書無しさん:03/06/25 02:46
C言語のプロジェクト内で"XXX"を検索するには?
1.まず、grep XXX *h を実行してください。('*'はShift+':'またはテンキーから入力できます)
2.・・・

とかいうマニュアルを片手に、
ぎこちなくキーボードをつつく
おっさんの姿が思い浮かびました。

357 :仕様書無しさん:03/06/25 02:49
>>355
馬鹿丸出しですね。

358 :331:03/06/25 03:38
>>346
補足。
>>331>>345で、ヘッダではなくソースに置きたいと言ってるのは、
「変な規約のために仕方なく#defineしてる、特低のソースでしか使わない定数」
であり、本来はgrepする必要などないモノです。

あとマジでヤバいです。
周囲の会話聞いてると、ようやく気付きはじめてる様子。


359 :仕様書無しさん:03/06/25 07:21
>constでも#defineでも、コメント書けばどっちでもいいんじゃないですか?

変数とか定数もスコープ化しろっつーこと問題にしてるんじゃ?
コメント書くのはむしろ常識の範囲内だろ。


360 :仕様書無しさん:03/06/25 08:10
% fgrep "^#define.*XXXXX" *


361 :仕様書無しさん:03/06/25 12:02
>>336

#define DEFAULT_NAME "guest"

static char *current_name = DEFAULT_NAME;

とか、するときの話でしょ?


362 :仕様書無しさん:03/06/25 13:39
>>360
ソースではないけれど突っ込みどころ満載のコマンドだな

363 :仕様書無しさん:03/06/25 23:57
>>362
満載のツッコミ希望

ハヤク ハヤク

364 :仕様書無しさん:03/06/26 00:42
>>362じゃないけど。

いや、普通さ、
$ grep "define hoge" *.[ch]
じゃないの?


365 :仕様書無しさん:03/06/26 00:58
% egrep "^.[ \t]*#define[ \t]*XXXXXXX[ \t]" *.(c++|cpp|cc|h)

366 :仕様書無しさん:03/06/26 01:48
それを言うなら、
% egrep "^.[[:space:]]*#[[:space:]]*define[[:space:]]*XXXXXXX([[:space:]]|$)" *.{c++,cpp,cc,h}
もっとも、普通はここまでやらずに、
% ggrep "#[ \t]*define.*\bXXXXXXX\b" *
くらいで済ませてしまったり。

367 :仕様書無しさん:03/06/26 03:44
その前に、正規表現を使用しながらfgrepってところには
誰も突っ込まないのか?


368 :仕様書無しさん:03/06/26 11:09
@
もし
 A かつ B
ならば
 not B にして、C する

A
もし
 A かつ not B
ならば
 B にして、C する

これを書けばこんな感じなのでしょうか?
if A and B then not B C
if A and not B then B C

@A両方を行いたいのですが、永遠にループしてしまいます。
そうではなく
 @の場合はAを一度行って終わり。
 Aの場合は@を一度行って終わり。
このようにしたいのですがどうすればよいでしょうか?

どうぞよろしくお願いします。

369 :仕様書無しさん:03/06/26 11:34
>>368
板違い。

370 :仕様書無しさん:03/06/26 11:38
>>368
この会社辞めようと思った仕様書ですか?

371 :仕様書無しさん:03/06/26 12:36
>>368 は、WebProg板からの誤爆。
……なんでこんな誤爆をするのか全く理解できんのだが。

372 :仕様書無しさん:03/06/26 12:39
>>368 はハングル板でも見かけたんだが。
もしや、何かの釣りなんだろうか。

373 :仕様書無しさん:03/06/26 13:16
struct foo1 {
  int a1;
  int b1;
  // :
};

struct foo2 {
  int a2;
  int b2;
  // :
};

struct foo3 {
  int a3;
  int b3;
  // :
};

// おんなじのが続く
// :

struct hoge {
  struct foo1 f1;
  struct foo2 f2;
  struct foo3 f3;
  // 続く
};


374 :仕様書無しさん:03/06/26 15:44
なんかシュールだな。

375 :仕様書無しさん:03/06/26 20:38
>>368ってこれだけのことだよな...
if (A) {
B = !B;
C;


376 :仕様書無しさん:03/06/26 23:24
>>375
正解です

377 :仕様書無しさん:03/06/27 01:21
>>330
結構良いとこあるってか?

378 :仕様書無しさん:03/06/27 01:35
宇宙船サジタリウスはここですか?

379 :仕様書無しさん:03/06/27 09:01
ご期待通りに現れませんw

380 :仕様書無しさん:03/06/27 19:21
>>373
それはきっとプログラムで自動生成したソースで
マクロを駆使したトリッキーなコードになってるんだよ。

多分。

381 :仕様書無しさん:03/06/27 23:07
大人が懐かしがることもない

382 :仕様書無しさん:03/06/27 23:14
宇宙便利舎かよ

383 :仕様書無しさん:03/07/01 10:54
このスレの連中は拍手をするほど働いてる?

384 :仕様書無しさん:03/07/01 12:00
だからといってダメじゃない・・・・のか?

385 :仕様書無しさん:03/07/01 13:15
サービス残業は、結構いいとこ……にしたくないなぁ。

386 :仕様書無しさん:03/07/02 02:11
オレらは星屑でつか?


387 :仕様書無しさん:03/07/03 00:19
星屑少年隊

388 :仕様書無しさん:03/07/05 18:00
int test(void)
{
 char  buff[128];
 int   result;

 (なんか前処理)
 
 while(1){
  menu_disp()/*メニューリストの表示*/
  result = get_menu(buff);

  if(buff[0] == '\0'){
   break;
  }
/*通常コマンドテスト*/
  else if(buff[0] != '!'){
   if(buff[0] == '1' && buff[1] == '\0'){
    (テストのための処理)
   }

   (中略)

   else if(buff[0] == '4' && buff[1] == '0' && buff[2] == '\0'){
    (処理)
   }
  }
 }

(いろいろ後処理)

 return 0;/*正常終了*/
}

389 :388:03/07/05 18:11
五年程前に作られた組み込み用機器のプログラムの改造の仕事で、
手元に実物が無いので結構適当ですが、おおむねこんな感じ。

通常メニューが40、隠しメニューが10の総計50メニューあり、
1つのテストにつき5〜20行記述してあるので、
この一つの関数だけで軽く500行あります。
改造自体は至極簡単なもので、あまり作業時間をもらえなかったため、
この部分は一切いじってません…

390 :仕様書無しさん:03/07/05 21:06
>>389
たしかに20%もの隠しメニューを準備する会社はどうかと思うよな。

391 :Delフサギコ ◆A6VzDeLphI :03/07/06 02:48
  ∧,,∧  うちの社が頼り切ってる
  ミ;゚Д゚彡  優秀な(とは思えない)海外パートナ企業が
  ミつ旦(ミ    くれたソース、、、
〜と,,,~),,~) 
      こんな書き方って普通だったっけ?
Private Enum AParameters
  Number = 1
  FirstName = 2
  LastName = 3
…37コ略…
End Enum

Private Sub SendResultToClient(oMsg As cMessage)
  Dim iIndx As Integer
  Dim sendmessage As String
  Dim oMessage As cMessage
  Set oMessage = oMsg
  For iIndx = 1 To 37
    Select Case iIndx
      Case Number        sendmessage = oMessage.Number
      Case FirstName        sendmessage = oMessage.FirstName
      Case LastName        sendmessage = oMessage.LastName
…適当に略…
      Case Else
        sendmessage = ""
    End Select
    'データ送信
    oSendObject.Send sendmessage
  Next iIndx
End Sub


392 :仕様書無しさん:03/07/06 02:51
>>391
Delじゃねぇのかよ(w

393 :仕様書無しさん:03/07/06 03:37
>391
データ送信をしない又は、データ送信の順番を後で簡単に変更できるように
書いたつもりが失敗したって事かな。

394 :仕様書無しさん:03/07/08 01:27
#define PORT_80 80
#define PORT_23 23
...

はぁ...

395 :r:03/07/08 13:08
for-switch構文って、この祖先スレでも時々出てくるし
自分が昔いたプロジェクトでも見たことがある。
人間の脳がある条件を満たすと、for-switch構文を使ってしまうんだろう。

きっとこれは、人間の脳の本質と何か関係があるんだ。


396 :仕様書無しさん:03/07/08 13:40

oSendObject.Send が引数に与えたオブジェクトを更新するのかな。
そんで
sendmessage = oMessage.Number
oSendObject.Send sendmessage

sendmessage = oMessage.FirstName
oSendObject.Send sendmessage

って書くかわりに、>391 見たいに書いたのかな。
oSendObject.SendFinalObject
とかを作ったほうがよさそうな気もするけど。

397 :仕様書無しさん:03/07/08 19:39
>395
つーか、stateを使っているのか、その辺を訳も判らず単純にコピペしたのか、
の違いと思うのですが…

398 :仕様書無しさん:03/07/08 20:22
俺はバウムクーヘン派

399 :r:03/07/08 20:26
>>397
state?
なんかもしかして for-switch 構文が有効に活用できる場合があるんですか?


400 :仕様書無しさん:03/07/08 20:37
>398
http://pc.2ch.net/test/read.cgi/prog/1055387911/l50
こっちの誤爆か?

>399
状態遷移のことでは?

401 :仕様書無しさん:03/07/08 20:47
>>400
誤爆ではないと貫き通してみる

402 :仕様書無しさん:03/07/08 22:22
>>399
わけもわからずコピペして改造したからいつの間にか
意味のないfor-switchになってしまった、ってことだと思うよ。

403 :会社を辞めたくなった仕様:03/07/09 00:24
・前の項目ボタン
「このボタンをクリックする直前にフォーカスのあったコントロールに対して
タブオーダーが1つ前のコントロールにフォーカスをあわせる。」

素直にShift+Tab押すか、その「1つ前のコントロール」をクリックすれば
すむだけだと思うんだが。


404 :仕様書無しさん:03/07/09 00:26
>>403
ためになったよ!
ありがとう。
それでやってみる

405 :仕様書無しさん:03/07/09 00:34
こんな所でメアド晒しちゃぁダメダメだな

406 :仕様書無しさん:03/07/09 03:23
>403
まだマシだ。IEのスクロールバーを右クリしてみろ。

407 :r:03/07/09 05:01
int continuable_func( int start ) {
    try {
        for( int i = start; i < END; i++ ) switch(i) {
            case 0: any_processes0(); break;
            case 1: any_processes1(); break;
            case 2: any_processes2(); break;
            // :
            // :
        }
    } catch( ... ) {
    }
    return i;
}
for-switch 構文の使用例...


408 :仕様書無しさん:03/07/09 05:14
#define voin void
#define maid main
voin maid( long skirt );


409 :仕様書無しさん:03/07/09 06:56
>>408
やっぱりメイドさんは清楚でないとな。

410 :仕様書無しさん:03/07/09 12:27
goto HELL;

411 :仕様書無しさん:03/07/09 14:00
goto West;

412 :仕様書無しさん:03/07/09 14:06
変数名が
ringo とか mikan になっているソースは見たことあるな。
実際のシステムで。
サンプルそのまま使うなって言いたい。


413 :仕様書無しさん:03/07/09 15:56
>>406
笑えますた。

つか、こんなの知らんかったよ... :-p
何に使うんだろ?


414 :仕様書無しさん:03/07/09 19:38
>>406
うぉっ、すげぇ
こんなん初めて知ったよ


ちなみにコピペっぽいわけわからんソースは
関数のインターフェース仕様書とかが決まっちゃってて
どうにもこうにもならないんで、無理矢理処理しようとして
ダメダメぽになってるケースが多い、とか言ってみたりして

前工程をやり直させろ、と。

415 :仕様書無しさん:03/07/09 21:51
>>406
え、何か変?

416 :仕様書無しさん:03/07/09 21:59
>>406
IE以外のスクロールバーでも同様になるものがあるので
スクロールバーコントロールの標準の機能ではないだろうか?

417 :仕様書無しさん:03/07/09 22:52
MS謹製のソフトウェアは、独自コントロールを実装していることが多いからあなどれない。
(Office とか)

IEもたしか独自コントロールのオンパレードだったような。

418 :Delフサギコ ◆A6VzDeLphI :03/07/09 22:52
  ∧,,∧  つまりスクロルBarの
 ミ,,゚Д゚彡 メニュ-を実装したやつは
 ミつ[|lllll]).  Windowsの会社を
〜ミ   ミ    辞めたくなっただろうなと。
  ∪''∪

419 :416:03/07/09 23:12
IE以外ってのはMS製以外ってつもりだったんだけど。
手元にあるアプリだとxyzzyとかeclipseとかffftpとか
ほとんどのアプリのスクロールバーで同じ動作になってる気がする。

420 :仕様書無しさん:03/07/10 00:12
全部そうだよ。
スクロールバーのコンテキストメニューの内容は
スクロールバーコントロールに普通に用意されているメッセージだし。
いつからかは知らないけど。

421 :仕様書無しさん:03/07/10 00:13
つまり、「仕様」と。

422 :会社を辞めたくなった仕様:03/07/10 00:25
社内用スケジュール管理アプリの案件。
ユーザ情報のテーブル構造案の中に
・誕生日
・好きな食べ物
・好きな色
・宴会等の案内回数
・同・参加回数
なんて項目が。

なんでも、客先側窓口の上司が
「社員の誕生日にバースデーカードなどを贈れるように」
と入れさせたらしい。
結局「非業務目的のデータは個人で管理すべき」ということで却下された。

つか、宴会の参加回数なんかデータ化してどうするんだ。


423 :仕様書無しさん:03/07/10 00:40
>>422
宴会によく来るやつは会社に忠誠心があるって思ってるんだろ。

424 :仕様書無しさん:03/07/10 02:28
まぁ、誕生日くらいはいいんじゃないの?
とか思わないでもない
誕生日をパスワードに設定してるアフォとかチェックできるしな

って、スケジュール管理アプリか。

425 :仕様書無しさん:03/07/10 03:01
好きな色とか何に使うんだろw

426 :仕様書無しさん:03/07/10 06:44
>>425
パンティーの色を予想しまつ。

427 :仕様書無しさん:03/07/10 09:23
誕生日/好きな食べ物/好きな色
この辺は上司がプレゼント攻撃で女子社員を落とすために
入れさせたんじゃないか。

428 :仕様書無しさん:03/07/10 11:45
ねえ、>>406ってなんなの?
わかんないんだけど。

429 :仕様書無しさん:03/07/10 12:02
>>426
21世紀にもなってパンティーって言うなよ

430 :仕様書無しさん:03/07/10 14:19
じゃあ、スキャンティー

431 :仕様書無しさん:03/07/10 14:47
じゃあ、ショーツ

432 :仕様書無しさん:03/07/10 15:11
>>428
漏前はIEの画面をスクロールさせるのに毎回右クリしとけ

433 :_:03/07/10 15:13
http://homepage.mac.com/hiroyuki44/

434 :428:03/07/10 16:20
>>432
いや、そのレスの意図もわからん・・・マジで。

435 :仕様書無しさん:03/07/10 16:34
>>434
とにかく>>406をやってみな

436 :仕様書無しさん:03/07/10 17:13
>>435
実は環境によっては出ない罠

オレの所では出なかったのでIE以外のスクロールバー使ったぞ。
もしかしたら406がいっているのとは違うかもしれないが。

あの機能ってマウスキーのためにあったりするんじゃないかとちょっとだけ弁護

437 :428:03/07/10 17:19
お、エクスプローラで試したら出た。
この「上にスクロール」とかのことでいいのかな?

438 :仕様書無しさん:03/07/10 17:25
MeのIE5.5だと、IEでは出るけどエクスプローラで出てこない。
2kのIE5.5なら両方出てくる。

439 :仕様書無しさん:03/07/10 17:57
新コントロールはだいたいIEやOfficeで先に登場して、
次の段階で標準コントロールに組み込まれてるよな。

440 :仕様書無しさん:03/07/10 22:37
#define CORON ":"

441 :仕様書無しさん:03/07/11 00:31
入社1ヶ月目の20歳の小僧です。
UIが全部ダイアログ。
グローバル変数上等、externの嵐。
newとdeleteのタイミングがばらばら。deleteし忘れ、2重newなんかも・・・。
関数が異様に深い。
条件次第で0配列を作ろうとしてる。
明らかに固定配列と実際にくる数が違うのでスタックぶっ壊しまくってる場面も。
根本的にエラーチェックが皆無に等しい。
3ヶ月前からわかってた致命的なバグを放置してた。(結局2日かけて自分で直した。)
よく使われるルーチンが全部それぞれの関数へコピペなのでバグを取っても取っても・・・。
VC6にSP当ててないので理由を聞いたら返事は「そんなの要るの?」と。翌朝こっそりSP入れときました。
研修おあずけで残業既に100時間突破してます。
バグバグなコードを書きやがった先輩は毎日残業1時間くらいしかしません。
自社開発してる会社なのですが、今は出先で結合検査(実際は修正の毎日だった・・・)なので社長の私に対する評価は
「画面(UI)くらい作れるのぉ?」程度のままです。
未経験(趣味で2、3年C++やってた)文系大学中退なので拾ってくれた社長には感謝してるんですが
あと3年経ったら辞めます(実務経験のためだけ)。

長文&愚痴&生意気な発言スマソ

442 :仕様書無しさん:03/07/11 00:41
>441
3年も居てどーする? 半年ぐらいで十分「実績」になるじゃん?
次の会社の面接で、前の会社は>441 だったので転職したいって
言えばおけー。

443 :仕様書無しさん:03/07/11 00:55
ところがどっこい。
3年以内で退職だと何を言っても逃亡兵と見られる向きもあったりする。
退職金もでないしな。

444 :441:03/07/11 01:01
>>442
よく求人に実務経験3年以上とか見かけるんで社会では
このくらいで実務経験ありと見なされるのでは?と思ってたんですがどうなんでしょうねぇ・・・。
ただ、この会社給料が良いんで(残業代は出ないけど)
次プロジェクトに入れられたときは定時に帰るくらいの勢いでやります。
転職するまでには何個か資格取るつもりです。
情報処理かもしれないし、税理士とかかもしれないですw

>>443
今の会社は小企業なのではなっから退職金制度ないというオチ(;´Д`)
保険関係はしっかりしてるけど・・・。

445 :仕様書無しさん:03/07/11 01:10
漏れ2年で辞めてえらい苦労したよ。
結局、元・客先の会社に雇ってもらったのが情けない。

雇ってくれた理由が
「元・漏れの会社が納入したアプリがヘタレすぎる。
内部構造までわかってる香具師じゃなきゃまともに使えない」
ってのがますます情けない。


446 :441:03/07/11 01:28
>>445
今やってるソフト、ソース知ってるから、あんなの50円で売ってても絶対買いたくない・・・。
自分が作ったものではないけど、携わった者として納得いかないです。

今日は早めに寝ることにしよう・・・

447 :仕様書無しさん:03/07/11 23:39
うひゃー。441に激しく同情。
俺も最近入れられたプロジェクトで、ソースを見て愕然。
一個のクラス作るのに5個ぐらいのFactoryクラスを経由するような、デザパタの名を借りた意味の無いクラス群。
至るところに見られるマジックナンバーと、気まぐれに現れるstatic finalな定義。
GCをあざ笑うかのように同じオブジェクトを何回もプーリングして豪快にメモリリーク。
XMLファイル、propertiesファイルそしてソースの中と見事に分散された設定情報。

コレ見たときは本当に泣けてきた。
Foo foo;
Vector vec = XXX.getXXX();
for (int i = 0; i < vec.size(); i++) {
foo = vec.get(i);
break;
}
バグかと思って確認したら、これがやりたいことだったらしい。vec.get(0)でないの?って
聞いたら、「それでもいいかもしれません。」だってさ。あんまりにもあんまりなので注意
したら「同じ意味だからいいんです!」って逆切れされたYo。
こんな人達が設計、実装しているステキアプリはただいまデスマ真っ盛り。

448 :仕様書無しさん:03/07/11 23:56
>>447

> 一個のクラス作るのに5個ぐらいのFactoryクラスを経由するような、デザパタの名を借りた意味の無いクラス群。
こんな感じか?
 Foo foo = BarFactory.create().createBar().createBaz().createFoo();

> コレ見たときは本当に泣けてきた。
そいつは真性の馬鹿だな。

449 :仕様書無しさん:03/07/12 00:00
>>447
なんか経緯があったんだろうなって思うコードだ。
リファクタリングくらいしろよというつっこみはあるが、デスマ中じゃいじるのも怖いか・・・

450 :仕様書無しさん:03/07/12 00:02
>>442
3年いる必要はないけど、半年じゃ短いって思われるだろうね。
さすがにプロジェクトを一通り(要件定義からシステムテストまで)経験してないと。

451 :仕様書無しさん:03/07/12 00:13
>>449

もともとはfooは配列で
(しかもそいつはVector.copyinto(...)を知らなくて)
でも配列だとあとあとの処理が面倒だからやっぱり
単一オブジェクトを扱うことにしたと勝手に推測

452 :447:03/07/12 00:16
>>448
概ね。一行で書いちゃーくれないが。
FactoryのFactoryをFactoryBuilderとか呼んでいるのにも萎え。
もちろんBuilderパターンなどではない。
基本的にGoFを愚弄している。

>>449
当然リファクタリングを申し出たのだけど、上司は納期のせいで首を縦に振らず。
開発者達は自分達の設計や実装に満足しているので、協力してくれない。
もうだめぽ。

そうそう。あと、あれだ。コピペ。同じようなコードがたくさんある。
なんでかっていうと、「この部分はここのコピー&ペーストで実装してください。」
とかいう会話が日常茶飯事的にしょっちゅうある。しかも誰も疑問を感じていない。
そういう志が低い人達ばかりなので、プログラマを入れ替えないと、リファクタリング
するよりも早いスピードでバグが埋め込まれてゆくのだよ。

453 :仕様書無しさん:03/07/12 00:24
1メソッド2000行オーバー、インデントがめちゃめちゃなソースの改修。
こんなのよくある、別に珍しくないんだ…と思いたいけど、
最近あたってなかったので苦しい。

454 :仕様書無しさん:03/07/12 00:29
あるプロジェクトのライブラリのサンプルコード

Hoge aHoge;
Foo aFoo;
Giko aGiko;
Mona aMona;


...いや、サンプルコードだから構造体の名はなんでもいいんだけどね。
ライブラリの出来はなかなかの出来だったんだけどね・・・


455 :仕様書無しさん:03/07/12 00:56
だからさ、「念のため…」でソースのコピーを考えなしに作るなって言ってるわけよ。

・src
・コピー 〜 src
・コピー 〜 src(2)
・src_最新
・src_20030710
・src_最新2
・最新src
・src_backup

結局どれが最新なわけ?なんでどのフォルダにも更新日付2003/07/11
(しかも更新されてるソースはバラバラ)のソースファイルがあるの?



456 :仕様書無しさん:03/07/12 01:34
俺もsrc_20030710  はよくやってるなあ。
だってCVS使い方わかんないんだもん・・

日付入りなら許してくれる?


457 :仕様書無しさん:03/07/12 01:39
時間の前後関係がわかるように名前の付け方を統一せよ、という話では?


458 :仕様書無しさん:03/07/12 09:27
>>456
そんなに面倒臭くないから勉強しる。

CVS 導入スレ
http://pc2.2ch.net/test/read.cgi/tech/1030563262/

459 :仕様書無しさん:03/07/12 12:36
>>457
だろうね。あと、いらなくなったら捨てとけよと。

ちょっと気になったけどみんなCVS派なの?
RCSとかVSSみたいにファイルロックするタイプのものは使わない?

460 :仕様書無しさん:03/07/12 15:02
>>459
CVS無料だし。

個人的にRCSはチーム向きではないと思う。個人で使う分には便利と思い使ってる。

461 :441:03/07/12 21:17
今日は他所様が休みで検査ないのでうちもお休みでした。

>>447
メモリリーク・・・。
うちのはVCデバッガのアウトプットにおさまらないほど出てるときもありましたw
漏れも一部再構築しましたが、副作用が出て大変でした。

>>455
0307**〜というフォルダが。会社にソースセーフあるみたいだから次からは使ってほしいです。

検査前日にコード書き直してたとき、急ぐあまりにint hogeを使ってしまった。反省。

462 :仕様書無しさん:03/07/13 01:27
CVSは解説してるサイトも多いことだし、
VSSに比べて、個人で試しやすいと思います。


463 :仕様書無しさん:03/07/13 04:56
C++ならメモリリークとはほぼ無縁だな
デストラクタでメモリ必ず解放するし

464 :仕様書無しさん:03/07/13 05:54
>>463
(゚Д゚)ハァ?
自分で言ってる意味わかってんの?

465 :仕様書無しさん:03/07/13 07:15
463は自分がPGだと思っている素人
お前みたいなのがいるから糞ソースが出来ちまうんだよ

466 :仕様書無しさん:03/07/13 09:56
最近はSubversionとかにも注目やな。
http://subversion.tigris.org/

467 :仕様書無しさん:03/07/13 10:14
463みたいなのはJavaやC#でもメモリリーク起こしそうだ(w

468 :名無しさん@Emacs:03/07/13 17:26
>>467 Javaでリークって、JNIとか使えば出来るのかな?

469 :仕様書無しさん:03/07/13 17:28
>>468
SWTとか

470 :仕様書無しさん:03/07/13 17:29
きっとCOBOLでもメモリリーク

471 :仕様書無しさん:03/07/13 17:34
JavaScriptでもメモリリーク


472 :仕様書無しさん:03/07/13 17:54
参照カウンタ使ってる言語ならメモリリークは必至だな。
GC使ってるやつでメモリリークて、どうするんだ?

473 :仕様書無しさん:03/07/13 17:54
Perlはクロージャ使えば簡単にメモリリーク発生するかな?

474 :仕様書無しさん:03/07/13 17:55
ちと意味が違うかもしれないけど、こんな記事見つけた
ttp://www-6.ibm.com/jp/developerworks/java/010824/j_j-leaks.html

475 :仕様書無しさん:03/07/13 19:20
GCがある言語でも、インスタンスをプーリングしっぱなしにするのは
メモリリークだと思うな。

476 :仕様書無しさん:03/07/13 21:17
ruby 1.6.8 (2002-12-24) [i686-cygwin], Win98でメモリリークを試してみた。

#! ruby --
class A; def initialize; @a= nil; end; attr_accessor :a; end
def leak; a= A.new; b= A.new; a.a= b; b.a= a; a;end
ary= [];100000.times{ ary<< leak };ary= nil
GC.start
while true; sleep 1; GC.start; puts "?"; end

こんなコードでメモリリークを起こしてるみたい。
どうも循環参照しているオブジェクトをGCが開放できないように見えるんだけど
どうなんだろ?

477 :名無しさん@Emacs:03/07/13 21:38
>>476 この場合は循環は関係ない。
ローカル変数のaryが生きてて、aryからleakで生成された全てのオブジェクトが
参照されてるせい。
ary = nil
すれば(多分)違って来るかと。

478 :477:03/07/13 21:39
ごめん、すっごい勘違い。
ちゃんとary=nil;してるし。


479 :仕様書無しさん:03/07/13 22:37
Javaはjdk1.4あたりから循環参照は問題なくなったらしいよ。
いや、俺が調べたんじゃないんだけどさ。

480 :仕様書無しさん:03/07/14 09:14
>>468
   _,._
(  ゚Д゚)

481 :仕様書無しさん:03/07/14 11:59
>>479
JDK1.4?
はるか以前から循環参照は問題になってませんが。

Javaだと、「状態を持つSingletonに所有させたMap」で
メモリリークさせたことがあります。


482 :山崎 渉:03/07/15 11:19

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

483 :仕様書無しさん:03/07/15 17:27
463の言ってること間違ってるの?
メモリリークってメモリ確保して
解放し忘れる事を意味するんじゃないの?(↓参照
俺は少なくともそう思ってるが?


p = new int; // @
...
p = new int; // A ここでメモリリーク
...
delete p; // @で確保したメモリは解放されてない

484 :仕様書無しさん:03/07/15 17:36
>>483
それは、>>463への反証ではないのか?

485 :仕様書無しさん:03/07/15 17:45
>>482
_,._
( ゚Д゚)

486 :485:03/07/15 17:47
げっ、失敗した

487 :仕様書無しさん:03/07/15 17:53
なるほど、『デストラクタで必ず解放』だけ読むと
483に書いたようにメモリ確保するのは自由だと読み取れるな。

class XXX{
public:
XXX() : p(NULL){}
~XXX(){ Delete(); }

public:
bool New(){ if(p){ Delete(); } return (p = new int) != NULL; }
void Delete(){ delete p; }

private:
int *p;
};


488 :仕様書無しさん:03/07/15 17:54
>void Delete(){ delete p; }
void Delete(){ delete p; p = NULL; }


489 :仕様書無しさん:03/07/15 18:57
>485
バーコードがはがれちゃった!って感じだなw

490 :仕様書無しさん:03/07/21 19:37
char* getMem();
void main()
{
  char* mem;
  mem = getMem();
  memcpy(mem, "moji", sizeof(moji);
  printf(moji);
  return;
}

char* getMem()
{
  char* mem;
  mem = malloc(256);
  return mem;
}

491 :仕様書無しさん:03/07/21 21:12
compile error.

492 :仕様書無しさん:03/07/21 23:42
>>490
memcpyの括弧が閉じてないのと、
memとmojiがごっちゃになってるような……

493 :仕様書無しさん:03/07/22 02:01
木を見て、森を見ず

494 :仕様書無しさん:03/07/22 02:37
森を見て、林を見ず














 どこ逝ったんだ林さん・・・・・

495 :仕様書無しさん:03/07/22 10:13
そんなことよりも、
void main() ってのが最悪だな。(w

496 :仕様書無しさん:03/07/22 10:19
mallocが成功したかどうか、memの値をチェックしろよ。

497 :仕様書無しさん:03/07/22 11:40
読んでたらマジで怖いスレだと今わかった

498 :仕様書無しさん:03/07/22 11:48
char と * の間にスペースが無いのに虫酸が走る

499 :仕様書無しさん:03/07/22 17:20
mallocしたメモリは、やっぱfreeするべきだと思うんだよな、作法として

500 :仕様書無しさん:03/07/22 17:54
4行目の次に、
char moji[] = "a";
って入れて、memcpyの括弧を閉じたら、完璧だよ。

501 :仕様書無しさん:03/07/22 18:57
sizeof(moji)とか文字列コピーにmemcpy単純に使ったりとか

502 :仕様書無しさん:03/07/22 23:07
高卒がつくった無限ループ。

大卒のオレでさえそんな高度な技術は使いこなせないというのに・・・鬱

503 :仕様書無しさん:03/07/22 23:43
すまんがこれは main() に printf("%s","moji");ではイクナイ!のか?

504 :仕様書無しさん:03/07/23 00:20
すまんがこれは main() に printf("moji");ではイクナイ!のか?

505 :仕様書無しさん:03/07/23 00:22
>>504
それはちょっとキモくないかい?

506 :仕様書無しさん:03/07/23 00:32
>>505
>>503には突っ込まんのか?

507 :仕様書無しさん:03/07/23 10:21
いっそのこと % echo moji に。

508 :仕様書無しさん:03/07/23 14:49
putsでいーじゃねーか。
改行されるってのには、目をつぶるとして。

509 :490:03/07/23 21:29
490 を書いたものです。イパーイ釣れた!

510 :仕様書無しさん:03/07/24 00:12
fputs("moji", stdout);

511 :仕様書無しさん:03/07/24 02:02
あとでファイル出力化する時とかに、修正が楽なように全部printfで書くんだが・・・・おかしいか?

昔は、putsとprintfの速度の違いとかもあったけど、
これだけ速いCPUだらけになったら、そんなこと気にすることも無いし。


512 :仕様書無しさん:03/07/24 02:07
>509
釣りにしては駄作だな。どの部分で釣ろうとオモタの?

513 :仕様書無しさん:03/07/24 04:33
>>511
だったらそれこそfputs

514 :仕様書無しさん:03/07/24 10:30
せいぜい50文字の編集にしか使われない
char tmp1[512],tmp2[512],tmp3[512];

0/1/2しか想定されていない
long n;

実装後も hoge 2>/dev/null で出力しつづけている
fprintf(stderr,"変換前\n");
for(i=0;i<sizeof(buf);i++)
 fprintf(stderr,"buf[%03d][%02x]\n",i,(unsigned char)buf[i]);
fflush(stderr);
hoge(buf); /*コード変換
fprintf(stderr,"変換後\n");
for(i=0;i<sizeof(buf);i++)
 fprintf(stderr,"buf[%03d][%02x]\n",i,(unsigned char)buf[i]);
fflush(stderr);

俺達って楽な時代に生きてるよな

515 :490:03/07/24 20:35
>>512
いや別に・・・。なんとなくいやーなソースかなと。
キモイというか。

とりあえずレスを引き出すためだけに 3 秒で書いて
みますた。

516 :なまえをいれてください:03/07/25 14:37
ハッキリ言ってアメリカなどの多民族国家では黒人の方がアジア人よりもずっと立場は上だよ。
貧弱で弱弱しく、アグレッシブさに欠け、醜いアジア人は黒人のストレス解消のいい的。
黒人は有名スポーツ選手、ミュージシャンを多数輩出してるし、アジア人はかなり彼らに見下されている。
(黒人は白人には頭があがらないため日系料理天などの日本人店員相手に威張り散らしてストレス解消する。
また、日本女はすぐヤラせてくれる肉便器としてとおっている。
「○ドルでどうだ?(俺を買え)」と逆売春を持ちかける黒人男性も多い。)
彼らの見ていないところでこそこそ陰口しか叩けない日本人は滑稽。

517 :なまえをいれてください:03/07/25 16:10
ハッキリ言ってアメリカなどの多民族国家では黒人の方がアジア人よりもずっと立場は上だよ。
貧弱で弱弱しく、アグレッシブさに欠け、醜いアジア人は黒人のストレス解消のいい的。
黒人は有名スポーツ選手、ミュージシャンを多数輩出してるし、アジア人はかなり彼らに見下されている。
(黒人は白人には頭があがらないため日系料理天などの日本人店員相手に威張り散らしてストレス解消する。
また、日本女はすぐヤラせてくれる肉便器としてとおっている。
「○ドルでどうだ?(俺を買え)」と逆売春を持ちかける黒人男性も多い。)
彼らの見ていないところでこそこそ陰口しか叩けない日本人は滑稽。

518 :仕様書無しさん:03/07/26 00:47
>515
いやかいやじゃないか以前に>491

519 :仕様書無しさん:03/07/26 21:11
>515
すごいな! 490は15行だから1行当り200ミリ秒で書いたっつー事か。神だ!

520 :仕様書無しさん:03/07/26 21:49
460が1行書く間に、シャリバンは200回赤射蒸着する。
たいしたことないよ。

521 :仕様書無しさん:03/07/27 01:58
また蒸着かよ・・・

522 :仕様書無しさん:03/07/27 09:39
こーのかーいしゃ やめよかなー
 やーめよおおかなー

523 :仕様書無しさん:03/07/28 00:48
int cunt;

524 :仕様書無しさん:03/07/28 10:41
cuntってなんだろうと思って、ググって最初に出たページを
何気に開いてみたら酷い目にあった。
というわけで、>523のソースは最低。o(`ω´*)o

525 :仕様書無しさん:03/07/28 11:02
>>524
つーか、まずは辞書で引けよ。(w

http://dictionary.goo.ne.jp/search.php?MT=cunt&kind=ej&mode=0

526 :仕様書無しさん:03/07/28 11:08
↓ここのほうが男前な訳をしてくれるぞ。
ttp://wwwd.nova.co.jp/webdic/webdic.html

527 :仕様書無しさん:03/07/28 11:48
>>526
ワラタ

528 :仕様書無しさん:03/07/29 00:16
>524
これか。
ttp://www.cuntcircus.com/

529 :仕様書無しさん:03/07/29 00:19
☆★ 新商品 ゾク・ゾク 入荷!! 急げ〜!! ☆★☆
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安!  スピード発送!  商品豊富!   
★☆      http://www.get-dvd.com        
☆★ 激安DVDショップ 「GETDVDドットコム」 
★☆      http://www.get-dvd.com        
☆★ 今すぐアクセス Let’s Go!   急げ! 
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★


530 :仕様書無しさん:03/07/29 01:08
ところでBoundsChecker使ってる会社ってある?
むかし体験版を使って、よく出来たソフトだなー なんて思ってたんだけど、
結構な値段するんだよね。

BoundsCheckerを使ってた時は、他人のソースを改修する前に、
必ず一発使ってたなー、破棄し忘れてるCBrushとかたまーにあった。

531 :仕様書無しさん:03/07/29 09:17
long cunt;
short cunt;
double cunt;
signed cunt;

532 :仕様書無しさん:03/07/29 09:28
long long cunt...(*´Д`)ポワポワ




533 :仕様書無しさん:03/07/29 11:46
double cunt;
に萌え

534 :仕様書無しさん:03/07/29 12:53
cunt寺院

535 :仕様書無しさん:03/07/29 13:07
会社の子 に見せる為 age
ごめんね。

536 :仕様書無しさん:03/07/29 13:54
会社の子にcuntを見せる...(´Д`)ハァハァ...

537 :仕様書無しさん:03/07/29 15:32
オレは会社の子のcuntが見たい...(´Д`)ハァハァ...

538 :仕様書無しさん:03/07/29 16:35
他人のコードを組み込んだらエラーでまくって調べてたら
まさか こんなもんがでてくるとはな・・・

// for
#define for if( false ) {} else for

// ef
#define ef else if


539 :仕様書無しさん:03/07/29 16:53
>>538
で、エラーの原因はなんだね?


540 :仕様書無しさん:03/07/29 16:57
>>538
>// for
>#define for if( false ) {} else for
それは、VisualC++のバグ回避の話か?このスレでも既出だと思ったが。

>// ef
>#define ef else if
気持ち悪いとは思うが、別にどうということはない。

で、エラーの原因は何だね?



541 :仕様書無しさん:03/07/29 16:58
>#define for if( false ) {} else for
これってつまりあれか・・・スコープの有効範囲

for(int i = 0; i < count; ++i){
...
}
...
i = 100;
...

VC++だとこれが通るけど
通らなく(と思う)ようにしたいということで
上の定義してるんじゃないか?


542 :仕様書無しさん:03/07/29 17:08
>>520
>460が1行書く間に、シャリバンは200回赤射蒸着する。
>たいしたことないよ。

いっておくが、シャリバンは”蒸着”しないぞ。

543 :仕様書無しさん:03/07/29 17:10
つまり538は、541の例のような書き方をしていたということかな?

544 :仕様書無しさん:03/07/29 17:22
ギャバンか?

545 :仕様書無しさん:03/07/29 18:50
シャイだー

546 :仕様書無しさん:03/07/29 20:09
>>542
「赤射」蒸着と書いてあるのが読めないか?

547 :仕様書無しさん:03/07/29 22:43
>>545
謝意だーは、1msecで焼結完了
ギャバソの50倍の速さだ

548 :仕様書無しさん:03/07/29 22:49
んじゃ間を取って、
「ギャイダー」ってことで。

549 :仕様書無しさん:03/07/29 22:50
シャバン

550 :仕様書無しさん:03/07/29 22:53
ギャイダー:悪そう
シャバン:弱そう
タリバン:古そう

551 :仕様書無しさん:03/07/30 11:08
ピップエレキバンってまだ売ってるかな

552 :仕様書無しさん:03/07/30 12:19
>>551
うん。売ってるよ。

553 :仕様書無しさん:03/07/30 15:03
また懐かしいネタだな


サンバルカン

554 :538:03/07/30 15:40
レス遅くなってスマソ

>#define for ...
バグ回避か・・・聞いたことないが まぁ残しとくか。

>#define ef
とりあえず 俺のほうではundefしとくよ。

for( int i=0; i<10; i++ ) {
i = i;
}

i = i * i;
って変数使いまわしきくから頻繁に使ってるよ。
エラーってのは コンパイルエラーね。

余談だが
{
for( int i=0; i<10; i++ )
i = i;
}
i = i * i;
にしたら コンパイルエラーになったよ。 VC++6.0 SP3

555 :仕様書無しさん:03/07/30 15:52
>554
ループのカウンタでしかないものか、ループを抜けても意味を成すものかで
宣言方法を変えるほうがいいと思わない?

556 :仕様書無しさん:03/07/30 16:42
>>554
>余談だが
>{
>for( int i=0; i<10; i++ )
>i = i;
>}
>i = i * i;
>にしたら コンパイルエラーになったよ。 VC++6.0 SP3

当たり前だ。もし、そのコードが通るコンパイラを持っているのなら、教えてくれ。
買わないように気を付けるから。


557 :538:03/07/30 19:47
>>555
扱う変数が増えるから嫌い。

558 :仕様書無しさん:03/07/30 20:09
それは違うだろ。
変数のスコープはループ内に限定されるんだから、
部分部分で扱う変数の数は変わらない。

てか、これは好み云々以前の常識だと思うんだがなぁ……。

559 :仕様書無しさん:03/07/30 20:55
まぁ、あれだ
スコープの概念のない
>>538=554=557とは仕事したくない

560 :仕様書無しさん:03/07/30 20:56
>>557

なら、

int i;
for( i=0; i<10; i++ ) {
  i = i;
}

i = i * i;

にしろや

561 :仕様書無しさん:03/07/30 21:17
>>553
オーロラプラズマ返し

562 :仕様書無しさん:03/07/30 21:43
>>552
今のって何ガウス?

563 :仕様書無しさん:03/07/30 22:00
>>562
調べた
今って、G(ガウス)じゃなくて、mT(ミリテスラ)なんだな、
で、130mTなんで、1300Gだな

564 :仕様書無しさん:03/07/30 23:36
VC++の ループ変数ってバカだからスコープの外でもたしか有効になるんだよな。

565 :仕様書無しさん:03/07/30 23:52
全角で書く君がバカ

566 :仕様書無しさん:03/07/31 00:08
>>564
たしか規格制定中にスコープが変わったような記憶があるんだが。
コンパイラのバージョン上げたらいきなり通らなくなって焦った。


567 :仕様書無しさん:03/07/31 00:37
>>564
つまり、JavaScriptは馬鹿馬鹿だと言いたい?

568 :仕様書無しさん:03/07/31 00:45
バカっていうなー。ググれば簡単に見つかると思うけど,

for( int i=0; i<CUNT; ++i ) {
 if ( some_condition == SHOULD_BREAK )
  break;
 /* gehehe... */
}

if( i < CUNT ) {
 /* break した */
} else {
 /* break しなかた */
}

と書きたかったのではと言われている・・MS の公式見解じゃないけどね。
ループ変数のスコープについての標準が定まったのは,結構最近の事。
metaware の昔のコンパイラはどうだった? High-C の事を覚えてるやし居ない?

569 :568:03/07/31 00:47
あーもうタイミング悪ぃなー。
568の頭に >>564 を補ってちょ。

570 :仕様書無しさん:03/07/31 02:15
で、結局>>538のエラーの原因はなんだったんだ?
>>554のコードを見る限り、相当低レベルな部分で
エラーを出していたみたいなのは解るのだが。

あ、ここで言う「低レベル」は、そっちの意味ではなくて、あっちの意味。

571 :仕様書無しさん:03/07/31 02:33
COUNT の間違いだろうが、CUNT はやめとけ

572 :仕様書無しさん:03/07/31 06:25
countのことだったのか。ワラタ

573 :538:03/07/31 08:56
>>570
どっからレベルの話になったんだ?
会話しずらいやつだな

574 :仕様書無しさん:03/07/31 09:18
>>564
/Za オプションを知らないお前がバカ

575 :仕様書無しさん:03/07/31 10:39
>>573
で、エラーの原因はなんだね?

576 :仕様書無しさん:03/07/31 16:04
>574
……実際に/Zaオプション使って通したことあるかい?
VC6ではwindows.hが通らなくなるんだぞw


577 :仕様書無しさん:03/07/31 17:12
>576
VC6なんて古いの使ってるからじゃん。/Zc:forScope使え。

と言いたいが、まあ開発環境のバージョン上げられないってのはよくある話だね。

578 :仕様書無しさん:03/07/31 18:28
金がないからバージョンアプできない ヽ(`Д´)ノ まいったか

/* 辞めよう。マジで */

579 :仕様書無しさん:03/07/31 18:44
Borland C++ 5.0(1996年くらい?)がデフォルトで新しい方のスコープになっててびっくり
したことを思いだしました。C++の今の規格はそれよりずっと後だったような気がします
がいつ頃だったか思いだせません。

580 :566:03/07/31 22:16
>>579
それだ。BC4→5ではまったんだ。
最新のドラフトに準拠とか言ってたが、えらい迷惑だったよ。


581 :山崎 渉:03/08/02 02:28
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

582 :ぼるじょあ ◆yBEncckFOU :03/08/02 05:09
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

583 :仕様書無しさん:03/08/04 10:53
保守

584 :仕様書無しさん:03/08/06 00:30
nakadashi( void )

585 :仕様書無しさん:03/08/06 19:51
baby nakadashi(long seishi) {
return rand(seishi);
}


586 :コンパイラ:03/08/06 21:45
>>585
***エラー*** rand() ノヒキスウハ void デス
***エラー*** nakadashi ハ baby オブジェクトヲカエサナケレバイケマセン


587 :仕様書無しさん:03/08/06 23:12
babyがNULLだったら流(ry

588 :仕様書無しさん:03/08/06 23:23
いやむしろそのまえにSegmentation Fa(ry

589 :仕様書無しさん:03/08/07 00:03
やっぱ、宇宙刑事スレたてなきゃだめか。

590 :仕様書無しさん:03/08/07 18:22
#define SUCCESS 1
#define SUCCEED 0
#define SUCCEEDED(h) (h>=0)

という状況をどうにかできないかなぁ…。

591 :仕様書無しさん:03/08/07 19:35
If minLimit <= InData <= maxLimit Then
えーと、これが本番で稼動しているソースのですが、
どうした方がよろしいでしょうか?

592 :仕様書無しさん:03/08/07 22:36
>>591
VBですね…

593 :仕様書無しさん:03/08/07 23:03
>>591
見なかった事にするべきではないかと。
へたに触ったら何がおきるか…


594 :仕様書無しさん:03/08/07 23:19
>>590 一瞬、
#define FAILURE -1
#define SUCCESS 0
#define SUCCEEDED(h) (h>=0)

かと思って、普通の(MS的)ソースじゃない? と思った。

595 :仕様書無しさん:03/08/07 23:27
>>591
VB知らんのだが、それ意図どおり動くの?
全部素通りになりそうな気がするんだが。

596 :仕様書無しさん:03/08/07 23:31
maxLimitが0以上なら素通りだなあ

597 :仕様書無しさん:03/08/08 09:05
>591
ごめん、何がいかんのかよくわからん・・・
解説キボン

598 :仕様書無しさん:03/08/08 09:20
Cで書くと

if ((minLimit <= InData) && (InData <= maxLimit)) {

となることを意図しているらしいが実際には

if ((minLimit <= InData) <= maxLimit) {

になるということか?

599 :仕様書無しさん:03/08/08 11:18
>>598
そういうことです。
Booleanと数値の比較で型が一致しないとか出してくれればよさそうなのだけど、
どんなときも強引に暗黙の型変換が働くのがVBです。

600 :仕様書無しさん:03/08/08 11:47
>>597
お前か!
これ書いたのは

601 :597:03/08/08 12:33
ごめん、俺Delphi使いなんだ

602 :仕様書無しさん:03/08/08 15:41
犯人はPython使いかも。

603 :仕様書無しさん:03/08/08 15:59
直前に
On Error Goto 0
を加えておきましょう。

きっと表面化します。

604 :仕様書無しさん:03/08/08 16:15
VBネタなら・・・
3年目(入社以来VB専門)の人のソースです。

Select Case LCase(Trim(Text1.BackColor))
Case "white"
Case "red"

初めて見たときは、そりゃ笑いましたよ。笑ったさ。

でも・・・(((( ;゚Д゚)))ガクガクブルブル


605 :仕様書無しさん:03/08/08 18:02
VBは解説無いとわかんないよぉ(;´Д⊂

606 :仕様書無しさん:03/08/08 18:26
>604
それってちゃんと動きすらしないんじゃないの?

607 :仕様書無しさん:03/08/09 00:27
TextクラスのBackColorプロパティをoverroadしたんじゃねえの?
C++厨がVBで犯しそうな間違いだな(w

608 :仕様書無しさん:03/08/09 01:23
>>607
もまいのoverroadが間違いだw

609 :仕様書無しさん:03/08/09 02:02
>>604
BackColorって名前付の色を持ってるの?

610 :仕様書無しさん:03/08/09 02:15
>>609
もちろん、数字。
色の定数は定義されているがvbWhiteとかだしなぁ。

文字列で"white"とか"red"とかってどこから出てきたんだろう?

611 :仕様書無しさん:03/08/09 02:28
そもそもVBは文字列でcaseの条件が書けるのか?よく知らんのだが。

612 :仕様書無しさん:03/08/09 02:40
>>611
文字列でCase条件を書くことは出来る。

>>604
単体テストで気づかないかなぁ…普通。
確かに辞めたくなるな。(w

613 :仕様書無しさん:03/08/09 03:36
>>612
そう。出来るんだよねぇ。チョトうらやましくなった2003夏。

614 :仕様書無しさん:03/08/09 04:48
int roop;
for(roop = 0; roop < MAX; roop ++){
  ...
_

615 :仕様書無しさん:03/08/09 06:21
そうだよなあ。

何が恥ずかしいって、英語で変数名つけたのに綴り間違えちゃった時だね。
明らかにtypoってわかってもらえるときならいいけど、この人勘違いって
思われちゃうやつあるからねえ。

それにしても、誰でも知っているループを間違えるのは論外だ!

616 :Delフサギコ ◆A6VzDeLphI :03/08/09 08:35
    ∧,,∧    変数名なら修正できるけど
   ミ,,゚Д゚彡   DBフィールド名で
    ミ つ旦)~~  綴り間違うと、修正できなくって
  〜と,,,~),,~)    恥ずかしさ倍増です

617 :仕様書無しさん:03/08/09 12:29
目の前にループになったロープがちらついて...

618 :仕様書無しさん:03/08/09 12:36
>>617
ロープのスペルは rope

619 :仕様書無しさん:03/08/09 13:21
だからといって「変数名はローマ字読みで」ってのもどうかと。

そして更に、ローマ字の綴りすら間違うヤシが出現する罠。

620 :仕様書無しさん:03/08/09 19:21
メンテナンスコマンドの出力スペル間違えて客に指摘された。
死にたくなった。

621 :仕様書無しさん:03/08/09 20:50
linuxのコマンドか、そのオプションかでtypoが定着しているのがあったはず。
(何だったか思い出せない。結構大物だったと思う)
それに比べれば、機械に読ませるのが目的であるソースコードでのtypoなんて
恥ずかしくも何とも無いね。

622 :仕様書無しさん:03/08/09 21:39
UNIXのシステムコール
creatのことか?

623 :仕様書無しさん:03/08/09 22:54
>662 それだ。システムコールだったね。ありがと。

googleスペルチェッカにも突っ込まれるcreatタソ。

624 :仕様書無しさん:03/08/09 22:56
>>621 は激しく無知ということがバレバレ

625 :仕様書無しさん:03/08/10 00:14
>624 知識が有るのはあなただけのようで。
http://www.google.com/search?q=creat+ken+Thompson&lr=lang_ja

626 :仕様書無しさん:03/08/10 04:38
REFERER が REFERRER であることは HTTP/1.1 の RFC で突っ込まれてるわけで

627 :仕様書無しさん:03/08/10 06:40
>>625
いや、有名な話だろ?

628 :仕様書無しさん:03/08/10 12:44
>627
 うむ。何せ C の開発者(カーニハンだったかリッチーだったかは忘れた)にインタビューで、
「もし C 言語を作りなおすとしたら、どこから手を入れます?」
って問いに、
「まず creat のスペルミスを直すね」
って答えた、って話があるからな(w

629 :仕様書無しさん:03/08/10 13:12
>>628
>>625を読め

630 :仕様書無しさん:03/08/10 13:27
そういや、
if (minLimit <= InData <= maxLimit)
が意図したように動くように、InDataのクラスを定義する、っていう
話が、どっかで持ち上がってたなぁ

631 :仕様書無しさん:03/08/10 13:32
int ruupu;
for ( ruupu = 0; ruupu < MAKKUSU; ruupu ++ ) {

そんな開発絶対嫌。


632 :仕様書無しさん:03/08/10 14:25
>>631
631 03/08/10 13:32
int kurikaeshi;
for ( kurikaeshi = 0; kurikaeshi < SAIDAI; kurikaeshi ++ ) {

 気が狂いそう…

633 :仕様書無しさん:03/08/10 17:50
ローマ字変数ってtypo誘発しそう

634 :仕様書無しさん:03/08/10 22:46
>625
もう10年以上前の本ですが、「Life with UNIX」(幻の邦題「UNIXだよ人生は!」)は
そのころUNIXに携わっていた人で読んだことある人は多いんじゃないかな。
"creat"の話は「UNIX面白エピソード」コラムにあります。
私もついひさびさに本棚から引っ張り出して読みふけっちゃったよ。

635 :仕様書無しさん:03/08/10 23:51
みんな 変数++ なのか。
漏れはforループなんかでは必ず ++変数 ってやってんだけど

636 :仕様書無しさん:03/08/11 00:21
C++派なら for (C=0; C<count; C++) だな。

637 :仕様書無しさん:03/08/11 00:25
ツマンネ

638 :仕様書無しさん:03/08/11 00:37
++cの方が効率が良いとか何とか言ってたような気がするが、
どーでもいいや、もう、くせでc++って感じ〜〜


639 :仕様書無しさん:03/08/11 00:40
++変数だな。

どっちでもいい状況なら、最適化がバカなコンパイラでも効率的
になる点で++変数のほうがなんとなく気分がいい。

640 :仕様書無しさん:03/08/11 00:53
俺の周りでは

datas

という綴りがまかり通っている。dataの複数形らしい。

641 :仕様書無しさん:03/08/11 01:01
>>640
これはコーディングルールでも従いたくない類だな。


642 :仕様書無しさん:03/08/11 01:02
>640
じゃあdatumはどう扱うんだろう。

643 :仕様書無しさん:03/08/11 01:05
datams だったりして

644 :仕様書無しさん:03/08/11 01:23
>>639
C++でオブジェクトが相手だと最適化は絶望なので、前置だな。
object++ すると、object のインクリメント前の値を覚えておいて、値返しにする必要がある。
++objectなら、インクリメント後の自分自身を参照返しすればいいから無駄がない。


645 :仕様書無しさん:03/08/11 02:02
EffectiveC++を読んで味噌>638, 639



646 :仕様書無しさん:03/08/11 02:03
あっ、MoreEffectiveC++かも


647 :仕様書無しさん:03/08/11 02:08
そんなことにアタマを使うより、せっかくだから俺は使い慣れたC++を使うぜ。

648 :仕様書無しさん:03/08/11 02:45
VBならそんな事で悩む必要ないぜw

649 :仕様書無しさん:03/08/11 10:42
まぁ、自分の周りにあわせるのが一番でしょ
同僚とか客先での可読性優先が一番かと

というわけで、変数名++に一票
++変数名を知らない香具師はいるかもしれないが
変数名++を知らない香具師はまぁいないだろうからなぁ

650 :仕様書無しさん:03/08/11 12:20
日本人なら、目的語+動詞だ。
i++ iをインクリメント
++i インクリメント iを


651 :仕様書無しさん:03/08/11 12:35
はぅぅ愛++


652 :仕様書無しさん:03/08/11 13:04
>>649
++変数名 を知らない奴が同僚にいるなら、

確かに会社を辞めたくなるな……

653 :仕様書無しさん:03/08/11 20:07
for(VB=0; VB<10; ++VB)
{
  ・・・
}


654 :仕様書無しさん:03/08/11 20:42
ごめん、++aとa++の違いわからないまま、約1年間プログラム書いてました。

655 :仕様書無しさん:03/08/11 20:55
>>654
この1年の間、周りで何人会社を辞めた?

656 :仕様書無しさん:03/08/12 00:09
>>654
それは効率面? それとも文法面?

文法面ならさすがにやばすぎる。


657 :仕様書無しさん:03/08/12 00:31
>>654
でもうちの職場では違いのわかる必要のあるソースに出会ったことないよ。

658 :仕様書無しさん:03/08/12 23:06
>>657 まあ、分かる必要があるケースは希なのかも知れないけど。

でも、それ分からないなら「Cは触ったことあるけどよく分かりません」
って言うんだぞ。「使えます」とか言うんでないよ。>>654

659 :仕様書無しさん:03/08/12 23:20
そもそも、a=b++; を a=b; b++; と書いたり、a=++b; を b++; a=b; と書いて何か悪いのか?
これで効率が変わる処理系でもあるの?

可読性を下げるプログラミングスタイルだと思うんだが。

660 :仕様書無しさん:03/08/12 23:24
int count = 0;

while(条件) {



}

661 :仕様書無しさん:03/08/12 23:25
間違い

int count = 0;

while(条件) {
 count++;
 System.out.println(count);
}



while(条件) {
 System.out.println(++count);
}

なら後者を取るよ

662 :仕様書無しさん:03/08/12 23:26
>>659
* 古いコンパイラなら無いわけでもない。
* 携帯だのの場合今でもあるのかも知れない。
* 結局VCで開発するなら関係ない。
* ただし、>>644みたいのは今でもある。
* それで可読性が下がるとしたらチームのレベルが低いだけ。
 そんなヤシらはC/C++/JAVAプログラマーとは呼べない。
* でも、現実にそんなチームはざらにある。

663 :仕様書無しさん:03/08/12 23:35
恥ずかしながら、漏れはC++しか知らんのだが、
javaでは、>>661のコードは、上下同じ結果になるのか?

664 :仕様書無しさん:03/08/13 00:04
(;´Д`)

665 :663:03/08/13 00:09
ごめん、勘違い。忘れてくれ。

顔を赤らめ赤面して、
家へ帰って帰宅して、
仏の前の仏前で、
腹を切って切腹する。

666 :仕様書無しさん:03/08/13 00:10
単に無知なだけでなく
>>659すら目に入らないという訳か。

667 :663:03/08/13 00:14
>>666
だから勘違いだと言っておろうが!

それが馬から落ちて落馬した者に対してかける言葉か!

668 :仕様書無しさん:03/08/13 00:16
ツマンネ

669 :663:03/08/13 00:17
>>668
ツマンネ
とはなんて物の言いぐさだ。
俺は古の昔の武士の侍だぞ

670 :仕様書無しさん:03/08/13 00:17
夏厨も暇なんですね

671 :663:03/08/13 00:18
俺は断じて夏厨などではない!!

俺を笑うとは、貴様女の娘だな?

672 :仕様書無しさん:03/08/13 00:23

     ///////
    ///////____________
    ///////  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄
   ///////              (~) チリンチリン
   ///////              ノ,,
  ///////     ∧_∧         / ̄ ̄ ̄ ̄ ̄ ̄
  ///////     ( ´∀`)( 厨 ) )) <  夏だなあ〜
 ///////      (つ へへ つ      \______
///////   //△ ヽλ  ) ) 旦
//////  l ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄l
/////    ̄| .| ̄ ̄ ̄ ̄ ̄ ̄ ̄| .| ̄
////     ^^^          ^^^

         2chの夏。厨房の夏。

673 :仕様書無しさん:03/08/13 00:38
>662
ま、せっかく演算子が存在してるんだから、使って悪いことは無いな。
でも何でこんな演算子があるんだろー。

これで書くと激しくソースが短くなったり、意味的にすっきり(3項演算子なんかそうだね)したりする
場面も思い付かないし、自動的に判断させられない最適化場面も思い付かない・・・・・・

と思って実験(gcc3,javac)したら違うアセンブリコードになってしまたよ。アレ?何で?

674 :673:03/08/13 01:12
あ、間違えてました。
gcc-3.2.3 -O4
では同じでした。するとやっぱ要らないような。

675 :仕様書無しさん:03/08/13 12:57
>667
>それが馬から落ちて落馬した者に対してかける言葉か!

可読性悪いコード書きそうw

676 :仕様書無しさん:03/08/13 13:57
>>671
> 女の娘

はずしたな。

677 :仕様書無しさん:03/08/13 14:43
>>675-676
もしかして、元ネタわかってない??


678 :仕様書無しさん:03/08/13 23:16
>>677
漏れもわかってないけどいいや。つまらんそうだし。

679 :仕様書無しさん:03/08/13 23:37
>>678
ええーっ!!
めちゃくちゃ面白いのに〜〜

680 :仕様書無しさん:03/08/13 23:40
誰も知らんし
つまらんし

681 :仕様書無しさん:03/08/13 23:55
「古の昔の武士の侍が、馬から落ちて落馬して、女の婦人に笑われて、腹掻き切って切腹」

冗長な文の代名詞でしょうが。一般常識の範囲だと思うけど。


682 :仕様書無しさん:03/08/13 23:57
だからつまらないんだろ。

683 :仕様書無しさん:03/08/14 00:01
?????
すまんがオレは未だに>>663と同じ疑問が解決しないのだが。
>>661
の下のコードは
int count = 0;
は省略してあるだけなんだよねえ?

684 :仕様書無しさん:03/08/14 00:02
(゚听)ツマンネ

685 :仕様書無しさん:03/08/14 00:03
もし本気で言ってるんだとしたら、そんなのがいる会社になんか入りたくねえなあ

686 :仕様書無しさん:03/08/14 00:03
>>681
で、どこを縦ヨミですか?

687 :仕様書無しさん:03/08/14 00:05
>>683
int count=0; は省略してあるだけで間違いない。

C++でもjavaでもいいから上と下のコードの
脳内実行結果を書いてみろ

688 :663:03/08/14 00:05
俺はもう謝ったからな!!

689 :仕様書無しさん:03/08/14 00:07
>>688
でも>>665からのつまらない流れを作ったことには謝っていないだろう。

690 :仕様書無しさん:03/08/14 00:20
あわてん坊と無教養がくだを巻くスレはここですか?

691 :仕様書無しさん:03/08/14 00:22
どっちもツマンネ

692 :仕様書無しさん:03/08/14 00:29
で、>>683はもう出てこないのかい?

693 :673=674:03/08/14 01:20
誰か教えてくれたかと思って新着チェックしたらつまんない言葉遊びで(´・ω・`)ショボーン
結局++は何のためにある演算子なんですか?

仮説1:最適化できないバカなコンパイラで有利
i386の場合、アセンブリコードを見てもそんな気はしない。
むしろインクリメント機能だけで、voidを返す仕様の方が最適化無しのとき有利なんじゃなかろうか。
CPUによっては意味があるのか?

仮説2:変数の登場回数が減るから、長い変数名を使っても楽できる
そんなこと気にする言語ならC++でJavaScriptみたいにwithが使えるようにしそうだし。
それに、オートコンプリートやコピペの普及した現在においては説得力を欠く。

仮説3:これで可読性が落ちるとか言い出すかどうかでで、プログラミング能力を推定できる
まさかこんな理由じゃないよね。

694 :仕様書無しさん:03/08/14 01:22
プププ

695 :仕様書無しさん:03/08/14 01:46
>>693
例えば++使わない場合のソースってどうに書くつもり?

696 :673=674:03/08/14 02:33
今実験した結果、gcc -O0(最適化オフ)では、
 *p=*q;
 *p++;
の方が
 *p++=*q;
より短いアセンブリコードを吐くことが判明。>693仮説1ますますピンチ。

>695
上記の例のように、a=b++; とか、 *p++ = *q;とかを、
インクリメントだけの行と代入だけの行に分離するつもり。
「意味的にひとつの単位であるものを一つの関数に」するのと同じ気分で、
一つの行に二つの意味を入れるのはどーなんだ?と。
>661みたいな例で、インクリメントは止めたくないけどメソッド呼出しだけ
コメントアウトしたい場合もあるだろうし。

697 :仕様書無しさん:03/08/14 02:38
>>696
>>693で「結局++は何のためにある演算子なんですか?」って言ってるから
++演算子を一切使わないのかと思ったら使ってるじゃん

698 :673=674:03/08/14 02:48
あ、すまそ。普通に間違えました。

699 :仕様書無しさん:03/08/14 07:22
>693

68kだと
b=++a;とかb=a++;とかb++=a;とかとか・・・
は、一つの命令になるよ


たまに
*a++=*b++;
みたいなコードは、自分で書いても頭が痛くなる。


700 :683:03/08/14 10:12
あ、ひょっとしてJavaのコードじゃなくてスレの流れを勘違いしてたみたい。
同じ意味になるからこそ、どっちの書き方するかって言ってたのね…

>>692
そんな30分も経たないうちに言われても

701 :676:03/08/14 13:28
>>681
わかっているからこそのレスだったんだけど・・・

曖昧な解釈のできるコードは美しくない。

702 :仕様書無しさん:03/08/14 14:30
>>696
Cができたのは1970年代の頭。
リソースが少なく、ワンパスコンパイラが好まれた。
最適化なしではなく、簡単な最適化しかかけられない。
*p = (*q + a) + (b + c); q++; よりも
*p = (*q++ + a) + (b + c); の方がqがレジスタに
割り当てられている間に++を処理できる可能性が高い。

とかいう話があるのではなかろうか。

703 :673=674:03/08/14 20:58
>699 >702
なるほど、なるほど。納得です。ありがとうございます。
こうやってみると、今は効果は無さそう(最適化、クロスコンパイルで対処できそう)ですが。
とりあえず自分はそういう使いかたはしないことにしますが、
定型句・習慣として今後も使われるんでしょうね。

704 :仕様書無しさん:03/08/14 23:56
>>702
Cは前方参照許してるから普通2passだろう。
最適化ゆるいのは、リソースの制限だけじゃなくて、
そっち方面の研究が進んでなかったってのもあると思うし。

で、++/--の存在理由は、PDPにそういう命令があったから、
(かつ、普通に計算するより早い)と言う話だったと思う。


705 :仕様書無しさん:03/08/15 00:47
ワンパスといってみただけちゃうんかと

706 :仕様書無しさん:03/08/15 00:47
間違い
ワンパスといってみたかっただけちゃうんかと

707 :仕様書無しさん:03/08/15 00:48
>>703
最適化はともかく、どうしてクロスコンパイルで対処できるんだ
(クロスコンパイルということばの意味が変わったのならともかく)

708 :仕様書無しさん:03/08/15 00:54
しかし、TturboCは1パスだった。

709 :仕様書無しさん:03/08/15 01:50
問1.クロスコンパイラという言葉の意味を記述せよ。

710 :仕様書無しさん:03/08/15 02:55
そろそろ名無しに戻ります(と名乗ってみる)。

>704
最適化の研究と言っても、書く側がアーキテクチャ知ってればすむようなことを
適当に入れるのは気がひけたんでしょうね。

>707
>662、>702の意見を踏まえてのレスです。
昔、ハイエンドCPUさえも遅くリソースが少なかった時代は1パスにせざるおえなかったと思うが、
今なら携帯だろうが何だろうが、豊富なリソースの元でクロスコンパイルして遠慮なく最適化すればよろしいかと。

711 :仕様書無しさん:03/08/15 20:08
ゲーム作ってた会社なんだけどさ。
画面描画するときにちらつかないように、
バッファに1回描画しといてから画面に表示するんだけど…。
チップとかを指定の位置に描画してくれっていう仕事がきたからやったわけさ。
んで、動作確認して渡したのにさ、どうも指示通り動かないとか言ってくるから
おかしいと思ってしらべてたら、
漏れが描画したバッファを一回クリアして、別の表示のバッファとして使って、
その後で漏れが描画した画像として描画しようとしてやがった。
1.漏れがバッファに描画。
2.呼び出し元が別の作業のバッファとして使用。
3.1で用意した内容を表示しようとする。
4.1のバッファに2の作業でのゴミが載っている
5.漏れに文句。

もう死ねよ。


712 :仕様書無しさん:03/08/15 20:14
↑ソースコードは?


ていうか、君短期だね。一般のソフトウェアやハードウェアの会社じゃ
1日で辞めたくなるだろうね。

713 :仕様書無しさん:03/08/15 20:16
短気、、だった。鬱だ・・・・711よ一緒に氏のう

714 :山崎 渉:03/08/15 22:48
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

715 :仕様書無しさん:03/08/16 12:30
短期は損機

716 :仕様書無しさん:03/08/25 11:53
タンキマタンキ

717 :仕様書無しさん:03/08/26 18:35
去年の今頃の話。Unix用のC++のコードを保守してた。
class ShainInfo {
    const char* name;
public:
    inline ShainInfo( const char* newName )
        : name( newName ) {}
};
こんなコードがあったんで、
「ShainInfo::nameの指すオブジェクトの寿命を、ShainInfoと合わせられるようにしてね」
ってお願いしたんだ。
そして2時間後。こんなん↓が出てきた。
class ShainInfo {
    char* name;
public:
    inline ShainInfo( const char* newName ) {
        name = new char;
        strncpy( name, newName, strlen(newName)+1 );
    }
};
nameは1文字じゃ足りないし、strncpyの第3パラメータが意味不明だったから、
だめ出ししたら、こう↓なった。
class ShainInfo {
    char* name;
public:
    inline ShainInfo( const char* newName ) {
        name = new char[ MAX_NAME_LEN ];
        name = (char*)newName;
    }
};
「std::string使う?」って聞いたら「ああ、CStringってやつですか?」と返ってきた。

718 :717:03/08/26 18:53
↑これ、かきわすれたけど、
派遣の人とのやりとりです。

719 :仕様書無しさん:03/08/26 23:59
ShainInfo::nameの指すオブジェクトの寿命が社員の寿命になるという呪い

720 :仕様書無しさん:03/08/27 03:07
ShainInfoとかいう日本語と英語が混じったクラス名自体にDQNの香りがする

721 :仕様書無しさん:03/08/27 17:33
>>720
えーそれは勘弁してほしいなあ

722 :仕様書無しさん:03/08/30 09:53
>>721
そういうのはザラにあるな。

// 論理削除フラグ
RonriDeleteFlag

// 値
"Yukou" // 有効
"Mukou" // 無効
"E9999" // エラー


723 :仕様書無しさん:03/08/30 10:01
もうね、いっそJavaで漢字使って書けと。

724 :仕様書無しさん:03/08/30 10:08
業務で使うような用語って英語にできない場合が多いから、
どうしても英語と日本語のちゃんぽんになってしまう。

725 :仕様書無しさん:03/08/30 14:40
Uwariteに勝てる関数名などない。

726 :仕様書無しさん:03/08/30 15:41
>>722
逐語訳ってところがタチ悪いな

727 :仕様書無しさん:03/08/31 21:48
#ifdef _JAPANESE_
    int RonriSakujoFlg;
#else
    int LogicalDeleteFlg;
#endif


728 :仕様書無しさん:03/08/31 21:52
Flgは日本語なの…?

729 :仕様書無しさん:03/08/31 22:28
#ifdef _JAPANESE_
    int RonriSakujoHata;
#else
    int LogicalDeleteFlg;
#endif


730 :仕様書無しさん:03/09/01 02:10
>>727,729
そこまで書くなら Flg も Flag にしてやれよ

731 :仕様書無しさん:03/09/01 10:40
そうだintもintegerにね

732 :仕様書無しさん:03/09/01 11:09
#ifdefも
#if defined


733 :仕様書無しさん:03/09/01 11:18
_JAPANESE_も_NIHONGO_で

734 :仕様書無しさん:03/09/01 11:45
intはseisuuで

735 :仕様書無しさん:03/09/01 12:20
って言うか、Hataは無いだろう。
Hanteiとか、
Sikibetuにならないか?

736 :仕様書無しさん:03/09/01 12:38
辞めたい・・・

737 :仕様書無しさん:03/09/01 14:53
>>731, 734

型エラーですね
でもtypedefや#defineで強引に...

#moshi teigizumi _NIHONGO_
seisuu RonriSakujoHantei;
#jyanakutte
int LogicalDeleteFlag;
#owarizonamoshi




MINDや「ひまわり」ってこんなの?

738 :仕様書無しさん:03/09/01 18:06
Javaなら
int 論理削除判定;
とかできるのにね。

739 :仕様書無しさん:03/09/03 01:18
MINDぉぉ

740 :仕様書無しさん:03/09/10 20:32
char*の配列に固定長でMALLOCを使いメモリを確保しようとしていた。
何と言っていいのか言葉に詰まってしまった。
しかも
MALLOC(sizeof(char*))
で確保しようとしていて、うまくいかずに悩んでいた。
あのね、もう(ry

741 :仕様書無しさん:03/09/10 21:26
(ry房ウザイ

742 :仕様書無しさん:03/09/10 21:27
>>741
(ry

743 :仕様書無しさん:03/09/10 21:37

int CUtility::OutPutStringToConsole( const char *ref )
{
   printf( "%s\n", ref );
}

FILE *CUtility::OpenReadOnlyFile( const char *ref )
{
   return fopen( ref , "r" );
}

int CUtility::CloseReadOnlyFile( FILE *ref )
{
   return fclose( ref );
}

FILE *CUtility::OpenReadOnlyTextFile( const char *ref )
{
   return fopen( ref , "rt" );
}

以下標準ライブラリのラッパー(????)が延々

すいません、ユティリティーって便利だからユティリティーなんですよね?
全然便利じゃないのは気のせいですか?


744 :仕様書無しさん:03/09/11 00:00
関数の引数の順番を覚えられない奴なんじゃない?

745 :仕様書無しさん:03/09/11 02:26
CloseWriteOnlyFile() も有るのか?

746 :仕様書無しさん:03/09/12 00:07
if(strlen(aaa)<0){

747 :仕様書無しさん:03/09/12 19:50
>>746 で、そのif文の中には何が? ドキドキ

748 :仕様書無しさん:03/09/12 23:48
}


749 :仕様書無しさん:03/09/13 00:00
C++のほうが簡単だし実用的で良いな
メモリなんか自分で管理すれば良いことだし。
Javaはどうもめんどくさい。

750 :仕様書無しさん:03/09/13 01:12
>>746
プロトタイプがないのか?
あればコンパイラが何か言ってくるはずだが。
それともネタ?

751 :仕様書無しさん:03/09/13 01:20
>>750 ?

752 :仕様書無しさん:03/09/13 01:30
>>751 ?


753 :750:03/09/13 01:41
>>751
gccで試したら何の警告もなく通ったよぉ。
スマソ。

754 :仕様書無しさん:03/09/13 06:38
>>753
そういう問題じゃないと思う

755 :仕様書無しさん:03/09/13 09:31
>>749
まじ!? Javaおぼえちゃったら、GCないと
「それくらいお前がやってくれよー」の連発なんだが。

Javaに関しては、

最初:「あれもダメ、これもダメ、がたがたうるせーよ、好きにさせろゴルァ」


中期:「あれ、なんかいいカモ」


覚醒:「先生、オレが間違ってたよ、あの時ダメダメいってくれてありがとう、うわーん」

今となっては、Java以外書きたくないとまで言い切るオレがいる(w

756 :ヽ(´ー`)ノ:03/09/13 11:47
>>750
strlen が負の値を返すのは…?

>>755
GC は Boehm GC あるし、メモリ管理を半自動化してくれるスマートポインタもある。
「GC しかない」Java よりは C++ の方がいいなぁ、俺は。


757 :仕様書無しさん:03/09/13 18:27
う〜ん。size_t が signed な処理系ってあるの?

758 :仕様書無しさん:03/09/13 19:33
>>757
それを探すためのソースだったりして

759 :仕様書無しさん:03/09/13 22:02
>>757 size_t は無符号汎整数型だったと思う。

760 :仕様書無しさん:03/09/14 03:11
size_tなんか実際、必要ない。
intでいいよ。別に。

761 :仕様書無しさん:03/09/14 05:32
1クラス6000ステップ。
1メソッド2500ステップ。

自分が見た過去最長のコード…。
言語はJava。オブジェクト指向のオの字でも知ってたらこんなに長く
なるはずはないのだが。

762 :仕様書無しさん:03/09/14 13:22
>>761
普通だね。

長い関数の報告ってだいたい6000〜7000行だよな。
もっと30000行の関数を見たとか凄い奴はいないのかな?

763 :仕様書無しさん:03/09/14 13:48
関数ではなくメソッドの話です

764 :仕様書無しさん:03/09/14 14:18
メソッドを関数で実装しない人がいるのか?


765 :仕様書無しさん:03/09/14 14:27
だけどわけりゃいいってもんじゃないだろって細切れのソース見るよりましだったりする。

766 :仕様書無しさん:03/09/14 15:06
>>763
この文脈ではメソッドだろうと関数だろうと大差ない。

>>765
6000行の関数が?

767 :仕様書無しさん:03/09/14 16:29
>>762
普通だなんて言う貴方の神経は普通ではない。

768 :仕様書無しさん:03/09/14 16:31
>>767
ちがうよ。このスレに出てくる長さとしては普通だっていったんだ。

769 :仕様書無しさん:03/09/14 23:29
>766
あんたも苦労してるんだね・・・

770 :仕様書無しさん:03/09/15 12:35
友人が残していったコードを見て爆笑してる奴がいたので覗いてみた。
 hogehoge(/*・∀・*/);

…違うグループで良かった。

771 :仕様書無しさん:03/09/15 14:17
>770
一括置換かけたくなってきた

772 :仕様書無しさん:03/09/15 15:33
>>771 勿論、
s/\(\)/\(\/\*・∀・\*\/\)/g;
ですよね。

773 :仕様書無しさん:03/09/15 16:54
>>770
2ch の様式美を外に持ち出さないで欲しい。
TPO をわきまえて欲しい。

>>772
%s

774 :仕様書無しさん:03/09/15 16:59
1クラス6000ステップってまずいの?
1メソッド2500ステップはどう考えてもまずいだろうけど。

775 :仕様書無しさん:03/09/15 17:57
>>773
どっちやねん

776 :仕様書無しさん:03/09/15 22:59
>>773
JUnitのテスト用データが2chAAとかの山って、やっぱりダメですか?

777 :仕様書無しさん:03/09/16 00:09
>>776
「人に見せないしー」とか思ってても、どこかで見られてる罠。


778 :仕様書無しさん:03/09/16 00:13
>775
設計ミスの可能性がありそう。



779 :776:03/09/16 01:17
>>777
たぶん、来週半ばに後任の人に引き継ぐんだけど、
なおしてる余裕無いんだよなぁ…。(w

780 :仕様書無しさん:03/09/18 00:35
>>775
どっちでもいいよもう。(;;´Д`)

>>776
納品しないソースなら好きにすればいいんじゃないの。

>>778
俺の人生そのものが設計ミスの塊だよ。

781 :仕様書無しさん:03/09/18 00:42
SQL 1500行 とかいうのはどうだ


782 :仕様書無しさん:03/09/18 03:09
S
E
L
E
C
T

*

F
R
O
M

このノリならすぐに千行突破!!

783 :仕様書無しさん:03/09/19 06:48
つか、普通に書いて1500行ってどんなSQLなんだろう。
カラムが200列くらいあったり。


784 :仕様書無しさん:03/09/19 08:53
携帯で見たんじゃねーのか?

785 :仕様書無しさん:03/09/20 14:30
コメント30行
コード3250行

解析死んだよ

786 :仕様書無しさん:03/09/20 18:22
>>785
コメント30行もあったのか。
いいじゃないか。

787 :仕様書無しさん:03/09/20 21:24
読んで気絶しそうになったソース その2


前スレ
読んで気絶しそうになったソース
http://pc.2ch.net/test/read.cgi/prog/1053725281/

788 :仕様書無しさん:03/09/21 01:07
>>783
1500行には全然及ばないけど、丁度目の前に800行のSQLがあるよ。。。
case文で山のようだ。。。作ったやつ誰だよ。。。
別のSQLでは、使ってるテーブルの列が400越えててAccessで開けないし、、、
DB設計したやつ誰だよ。。。自分は手伝いだからいいけど。笑

789 :仕様書無しさん:03/09/21 02:50
966 名前:仕様書無しさん[sage] 投稿日:03/09/20 22:50
スレタイとしては、ビミョーに違うんだけどな。
派遣先で渡されたソース見て気絶しそうになっても、派遣もとの会社を辞めようとは思わないからなぁ。
あと、プログラムコンテスト等の作品のソース見て気絶しそうになるとかね。

あっちは「会社辞める」が強調されてて、「悲惨なソース」というのが隠蔽されてるんだよなぁ。



前スレでこんな意見が出てたので
次スレを立てる時はもっと窓口を広くしたスレタイにしたほうが良いと思われます。

790 :仕様書無しさん:03/09/24 20:56
こういうのを「スレストッパー」というのかな?

791 :仕様書無しさん:03/09/25 00:19
言うだろうなあ。
あと窓口は間口の方が良いと思うがどうか。

792 :仕様書無しさん:03/09/25 00:27
 あの……80年代前後の古いCOBOLをご存じの方に質問なのですが、
DBから特定条件のn行を抽出する、という作業をする際、DBテーブルの
開始行から最終行まで全部送りながら確認していくと言う手法(SQLサーバで
言えば、"SELECT * FROM xx"とやって、1レコードずつ読んで条件確認する)
というのは常識なんでしょうか?
 古いCOBOLしか知らない人に「SQLサーバ使ってるなら、SQL文の時点で
抽出した方が速いですよ」と進言したのに、「そんなマネ出来るか」と
突っぱねられたので……


793 :仕様書無しさん:03/09/25 00:30
>>792
DB使えるのに何故そんな茨の道を逝こうとする

794 :仕様書無しさん:03/09/25 01:23
>>793
む。茨の道とは?
(1)SQL一発で済むところをわざわざロジックで数えること
(2)古いCOBOL使いにSQLサーバーを使わせること
(3)古いCOBOL使いに新しいやり方を進言すること

(3)が一番大変そうだ。
そういうのはどうやって納得させればいいんだろうね、ほんと。
実際やってみせてもダメなんだろうか?

795 :仕様書無しさん:03/09/25 01:30
俺は(1)のつもりで言ったんだが
確かにどれも茨の道だな

796 :仕様書無しさん:03/09/25 03:43
>>792
80年代のCOBOLだとそうなるかもねぇ。
てか、そのJOBの入力ファイル自体が既に抽出済みのデータセットに
なるよう設計すると思うし、JOBの中でワザワザ抽出するような汎用性
の低い設計にはしないでしょう。汎用とか独特のJOB設計だね。

で、そういう設計になってないシステムなら論外。


797 :仕様書無しさん:03/09/25 04:45
ジョブをJOB、ファイルをFILE等と書くとなんかヴィンテージ感(?)が出ると思わない?

798 :仕様書無しさん:03/09/25 06:29
>>792
別にCOBOLに依存する話じゃないけど、汎用機のネットワークDBなら当たり前の処理。
(IのDB2とか、NのADBSとかね)

(SQLの無い)ネットワークDBでは、1つ1つのノードのアクセス、抽出のロジック(ループ)をユーザーが書く必要があるからね。

799 :仕様書無しさん:03/09/25 23:46
それってまるでXMLだな

800 :仕様書無しさん:03/09/26 01:12
IのDB2はRDBだろというつっこみはありでつか。

801 :仕様書無しさん:03/09/28 18:36
>>800
さらにつっこめば、DB2でもOracleでもSQLServerでも、
SELECTで条件切るより総なめの方が早い場合もある。
(検索条件項目にインデックスはっててもね)

オープン系とホスト系を比べると、DBアクセスの効率化に
ついてはホスト系の方が断然うるさいので、そこまで考える
必要がある(場合もある)。
件数やクライアント数が全然違うので当然だが。

>792の聞きたいことには関係ないね。ごめん。

802 :仕様書無しさん:03/09/29 00:14
オープン系とかホスト系とかって何?

803 :仕様書無しさん:03/09/29 05:37
日中、窓口から入力される作業と、
深夜1時にそれら数百万件を処理するバッチで求められるものは異なる

804 :仕様書無しさん:03/09/29 10:52
>>801
>さらにつっこめば、DB2でもOracleでもSQLServerでも、
>SELECTで条件切るより総なめの方が早い場合もある。

どゆ場合でつか?


805 :仕様書無しさん:03/09/29 11:25
>さらにつっこめば、DB2でもOracleでもSQLServerでも、
>SELECTで条件切るより総なめの方が早い場合もある。
何年前のデータベースよ。んなわけねーだろ(AA略

806 :792:03/09/30 01:12
>>801
 いえ、他の人の話も含めて、だいたい分かりました……
ある意味間違いではないが過去の話、と言う感じ、なんでしょう。

 varcharで取られてる文字列と、string型(VB)を "="で比較、なんて
やってましたし……

 ちなみに、テスト目的でちゃんとselectかけるようにして試したら、
同じテストで処理通過速度が約300倍になりました。


807 :仕様書無しさん:03/09/30 01:48
>>804>>805
この反応はちょっと驚いた。

実行計画とかとってみ。
INDEXはってたって全表走査されるときがあるよ。

一番ありがちなのは、レコード数が多くないマスターなんかに良く使われるテーブル。
こういうときにはINDEXはわざわざはらない。

808 :仕様書無しさん:03/09/30 01:49
>>802
オープン系=UNIX、Windows
ホスト系=メインフレーム
って感じ。

809 :仕様書無しさん:03/09/30 02:18
iSeriesはどっち?

810 :仕様書無しさん:03/10/01 00:18
>>809
AS/400だったやつ?
あえて入れるんならホスト系だろうけど、どっちも違う気がするなぁ。

811 :仕様書無しさん:03/10/01 06:50
>>809
IBMのサーバーだよね?

オープン系:ホスト系って、俺はアーキテクチャや仕様が
公開されているか非公開かで切り分けている。
そーゆー意味では、オープン系に入るんかな?

ホスト系って、ツールのマニュアルすらダウンロード
させてくれないのが多いので、ちょっと腹立つ。
IBMは一部マニュアルだけオンラインで公開してるけど、
全然足りないのだ。

812 : :03/10/01 10:16
>>807
SQLを使ってデータベースを使う意味を根本的に理解していないね。



813 :仕様書無しさん:03/10/01 10:37
>>812
いや、彼の言っていることも間違いではない。
インデックスの更新コストと、データの使われ方によっては、端から全件走査を前提にする場合もある。
但し、そのようなデータがRDB管理対象として向いているかは別問題。

ホスト系のバッチ業務とか、そもそもRDBによる管理が適さないデータもある。
というか、最初の設計する人がカード型DB脳の人だったりと・・・。(以下愚痴は略)


814 :仕様書無しさん:03/10/01 11:42
> 但し、そのようなデータがRDB管理対象として向いているかは別問題。
これが全てだろ。
使いドコロが違うものを持ってきて、
「INDEX なんか張っても遅いですね(^Д^)」
なんて阿呆丸出しもイイトコロだ。こんなだから(以下愚痴

815 :仕様書無しさん:03/10/01 12:18
>>811
汎用機のマニュアルが欲しければ会社で買いましょう。
買うだけの価値はあるし、それで飯食うなら当然。
Nとかはオンラインマニュアルも売ってる。

816 :仕様書無しさん:03/10/01 21:30
>>815
会社がメインフレームもってりゃ別だが、
普通マニュアルは「ユーザー」しか買えないのだが。。。

817 :仕様書無しさん:03/10/01 21:32
>>814
現実的な書き込みではないな

818 :仕様書無しさん:03/10/01 22:29
>>815
Hにもある


819 :仕様書無しさん:03/10/01 23:31
> SELECTで条件切るより総なめの方が早い場合もある。

この文章にみんな反応してるんだと思うよ。
普通「SELECTで条件切る」なんて言い回ししないから、君の言ってることを
みんな理解できないんだよ。

820 :仕様書無しさん:03/10/01 23:35
>>807
少なくともOracleに関しては間違い。

821 :仕様書無しさん:03/10/01 23:37
>>819
Selectで条件していしてQueryするのではなく、条件なしでSelectしてFetchし、
クライアントコードで処理するという意味では?

822 :仕様書無しさん:03/10/02 00:02
>805
 三年ほど前だったかな。DB2/400 に対して Delphi 3/400 使ってアクセスしてた時、
TQuery 使うより TTable(全件取得してクライアント側でフィルタリング)の方が明
らかに速かったことがあったよ。

 Query 解析して実態の ISAM から引きずり出して加工して、を全部ホストで処理さ
せるより速かった、ってことなんだろうけどね。
(むろん、引っ張ってくるデータの総量にもよるんだが)

823 :仕様書無しさん:03/10/02 00:30
なんだDel厨か(藁

824 :仕様書無しさん:03/10/02 00:41
オフコン

825 :仕様書無しさん:03/10/02 00:52
上司が亜無WAYで、こまってます。

://home.intercity.or.jp/users/ytera/ueno/mypro.html

プログラム覚える前に、やめそうです。

826 :仕様書無しさん:03/10/02 08:48
>>816
マニュアルが必要なのに、買うことも出来ないってどんな利用者だよ?
マシンなんか持って無くても、金出せばメーカーからマニュアルくらい買えますが、なにか?

827 :仕様書無しさん:03/10/02 11:16
買えないものもあるのだ。

828 :仕様書無しさん:03/10/02 12:53
>>827
売ってさえくれないものをダウンロードさせろとは無理なはなし

829 :仕様書無しさん:03/10/02 13:01
>>826
ハードとか保守結んでいないと、情報もらえない物なんていっぱいあるよ。
パソコンとかの桁じゃないんだからさ。(数百万からのものとか)


830 :仕様書無しさん:03/10/02 13:45
汎用機系の話はスレ違いではないだろうか...

【ABEND】メインフレーム万歳4【JCL ERROR】
http://pc.2ch.net/test/read.cgi/prog/1054870550/

831 :仕様書無しさん:03/10/03 16:48
ソースじゃないけど。

交通事故でむち打ちになったって奴の仕事を引き継いだ。
Cは知っているがC++(VC)は初めてって奴が、納期直前に
事故ったらしい。残り3日でバグを3つ潰せと言われた。
仕様書は無し。バグ内容は口頭説明。


・1個は凡ミス。
・2個目はプログラムの一部が無駄にコメントアウトされていた。
・3個目は機能そのものが書かれていなかった。


俺が辞める前にむち打ちが辞めていった。話を聞いたら3ヶ月の間に
2回、交通事故でむち打ちになったと言って会社に来なくなってるらしい。



出来ない仕事でプレッシャーだったんだろうな。



白旗は、早めに揚げよう、プログラマー。


832 :仕様書無しさん:03/10/03 16:53
俺も辞めたい
前の会社に戻れるなら戻りたい
給料安くてもしっかり設計、製作できる前の会社がよかった・・・
いまのところはアホみたいな内容でボリュームばっかりある仕事ばかりだ
鬱蛇

833 :832:03/10/03 17:02
ごめん、スレ違いでageてしまった
俺が引き継いだプロジェクトで元は
別支社の新人PGが書いたVBScrit(ASP)のソース

If Rs.EOF = True Then
Else
 処理・・・
End If

これがたくさんある。Not Rs.EOF じゃいかんのか
こいつのソース、グローバルスコープの変数とローカルスコープの変数が
当たり前のように入り乱れて使われている。
こんなこと、初心者向けプログラミングの本には冒頭でまず触れられてそうなのに
If で散々ネストして最終的に全部条件に該当しなかったら何もしないとか
途中で関数抜ければこんなにネストして見難いソースにならないだろうに、とか
言いたいことはたくさんあるけど顔すら合わせたことがない

834 :仕様書無しさん:03/10/03 17:08
>>833
ちゃちゃだけど、途中で関数を抜けるのはGOTO書くのと同じだよ。


835 :仕様書無しさん:03/10/03 17:19
goto使うのに何の問題が?

836 :仕様書無しさん:03/10/03 17:22
>>835
関数分割すれば、そんな抜け方しなくても大丈夫じゃん。
まあ、それができない状況が当たり前なのであまり言わんけど。


837 :832:03/10/03 17:22
>>834
本当に?そしたら画面のデータチェック関数なんて
データ項目分ネストしちゃわない?

if(txfA.getText()==null || txfA.getText().length() < 1){
 エラー処理
}
else{
 if(txfB.getText()==null || txfB.getText().length() < 1){
  エラー処理
 }
 else{
  if(txfC...
 }
}

って

838 :仕様書無しさん:03/10/03 17:25
>>837
それってElseIfでいいんじゃないの?

関数の抜けが複数ある場合、後処理忘れの元になるから、日頃からやらないようにするぐらい。


839 :仕様書無しさん:03/10/03 17:25
>>836
どんなに関数分割しても、問題は一緒だと思うけど。

840 :仕様書無しさん:03/10/03 17:26
>>834
断じて違う。

841 :832:03/10/03 17:34
あ、ElseIf 。。。全然使わない(汗
後処理か。。。tryでくくってfinaly内で片付けるか
関数内でやらずに呼び出し元でできるように作れば一回でいいし。
どうしてもってときは抜ける処理毎に書いちゃうな。
コードが長くなるけど。

842 :仕様書無しさん:03/10/03 17:35
>>838
まとめて後処理をしようとすると泥沼になることが多いと思う。

843 :仕様書無しさん:03/10/03 18:46
またgoto要不要論が始まった〜〜
飽きねえ香具師らだなあ。

と茶々煎れ

844 :仕様書無しさん:03/10/03 20:00
gotoつかってもいいと思うけど、基本的に小さく単純に作ればいいだけなんだよね。

はまってる奴って、自分の理解できないほど大きく複雑なコード書く才能はあるよね。


845 :仕様書無しさん:03/10/03 22:32
は?breakとかcontinue使うなってこと?
そんなもん時と場合によるだろ?

846 :仕様書無しさん:03/10/03 22:41
!#/usr/bin/perl
こんなソースが某スレで書かれていた...

847 :K仲川(^^)g:03/10/03 23:30
うんこうんこ

848 :仕様書無しさん:03/10/03 23:56
>>837
> if(txfA.getText()==null || txfA.getText().length() < 1){

833がVBScriptだから突っ込みたくなるが、
VBでは期待通りに動かないと思われ。

849 :仕様書無しさん:03/10/04 07:21
>848
VBScriptでもVBでも If .... Then じゃないのか?
最新のは違うんだろうか......

850 :仕様書無しさん:03/10/04 11:22
>>849
VBは(A or B)の時、AとB両方チェックする
(AがtrueならBの判定はしない、というわけではない)
・・・だったような
だから>>843ではtxfA.getText()がnullの場合、txfA.getText().length() < 1はぬるぽになって落ちる
( if(txfA.getText()==null | txfA.getText().length() < 1) と同じ)

でもVBにぬるぽってあったっけ?

851 :仕様書無しさん:03/10/04 12:05
>850
ショートカットはしない。先の条件が成立しても必ず後の条件も評価しちまう、ってことだろ?

ぬるぽがあるのはあるが、Variantの取りうる値のひとつじゃなかったけか? オブジェクトに
明示的にNothingをセットすることはできるが。

852 :仕様書無しさん:03/10/04 12:32
==NULL ではなく、IsNothing、IsNullだな。


853 :仕様書無しさん:03/10/04 15:37
If xxx Is Nothing Then 'Is演算子

If IsNull(xxx) Then 'IsNull関数

854 :仕様書無しさん:03/10/05 01:20
>>851
あるかどうか聞いているのは、NullではなくてNullPointerException(に相当するエラー)なんだけど。

855 :仕様書無しさん:03/10/05 02:27
>>854
Nothingな変数のメソッドを呼ぼうとするとふつうにエラーになるが?

856 :仕様書無しさん:03/10/05 10:44
>ぬるぽがあるのはあるが、Variantの取りうる値のひとつじゃなかったけか?

ぬるぽ=nullと勘違いしている悪寒

857 :仕様書無しさん:03/10/05 10:58
Javaはポインタを意識させない言語構造のはずなのに
何でぬるぽなんですか?

858 :仕様書無しさん:03/10/05 19:06
意識させないだけでぬるぽが存在しないわけじゃないだろ、ばーか

859 :仕様書無しさん:03/10/05 19:57
>>858
Null「Pointer」Exceptionって名前を付けたのは何かの当てつけですか?

860 :仕様書無しさん:03/10/05 20:40
ポインタは指し示すものという意味であり
別にプログラム専門の用語ではない。
a.b と書いた場合 a は b へのポインタということができる。

NullPointerException とは
b へのポインタとしての a が null であるという例外である。

861 :仕様書無しさん:03/10/05 21:01
nullというのは参照値だけど、その参照値が入っている参照変数のことを別名ポインタと言ってみろ。それで薔薇色。

862 :仕様書無しさん:03/10/05 21:19
参照変数とポインタは違うが・・・

863 :仕様書無しさん:03/10/05 21:55
>>862
それはCとかC++独特の用語としてのポインタの話だろ
>>860-861をよく嫁

864 :仕様書無しさん:03/10/05 23:10
ヌルというのは縫流という意味であり、
なんというか、その、つま

865 :仕様書無しさん:03/10/05 23:28
民明書房刊

866 :仕様書無しさん:03/10/06 00:23
知能指数は1300ですが、なにか?

867 :仕様書無しさん:03/10/06 05:05
ルチ将軍キター━━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(  )━(。 )━(∀。)━(゚∀。)━━━!!!!!


868 :仕様書無しさん:03/10/06 23:49
>>850-864
ガッ

869 :仕様書無しさん:03/10/08 02:44
>>832

禿同

870 :仕様書無しさん:03/10/09 01:42
>>869
同じく。

871 :仕様書無しさん:03/10/09 22:15
かなーり大きいソースコードを開く…
とりあえず
create procedure AAA_SOSIN
その約700行下のほうに
create procedure AAA_JUSIN
これでもスクロールバーが1/10にもいかないのでとりあえず
% grep create\ procedure sourcefilename [CR]
create procedure AAA_SOSIN
create procedure AAA_JUSIN
create procedure AAA_SEND
create procedure AAA_RECV
create procedure AAA_SOSIN2
create procedure AAA_JUSIN2
create procedure AAA_SOSIN7
create procedure AAA_JUSIN7
create procedure AAA_SEND_BETA
create procedure AAA_RECV_BETA
(以下続く)
…、まぁ好きにしておくれ

872 :仕様書無しさん:03/10/09 23:01
以前、引き継いだプロジェクトでの事。
VisualCのプログラムだったんだけど、とりあえずソースをコピーしてきてコンパイルしたんです。
そうしたら、ワーニングとエラーが大量に出て、これは一体?と思って上司に聞くと、
「あ、それリリース版コンパイル通らないから」
って言われますた。
納品CDを見てみると、実行ファイルの他に、デバッグ版のDLLが一杯・・・
・・・おいおい、デバッグ版で納品かよ(゚Д゚)ゴルァ!

VCのプロジェクトの設定を見直して、リリース版でコンパイルしたら、実行直後にメモリぶっ壊してアプリケーションエラー!!
ちなみに、コンパイルが通ると言われたデバッグ版でも、しょーもないワーニングが腐るほど出ました。

こんな会社は逝ってよしですか?
それとも、辞めずにまだ居る私が逝ってよしですか?(;´Д`)

873 :仕様書無しさん:03/10/09 23:37
全角アルファベット…

874 :仕様書無しさん:03/10/09 23:56
とりあえずVC言いたいだけちゃうんかと

875 :仕様書無しさん:03/10/09 23:59
ビタミンC

876 :仕様書無しさん:03/10/10 00:34
ヴェンチャーキャピタル

877 :仕様書無しさん:03/10/10 07:54
#ifdef 0

1000行ほど

#else

一時間ちかく 関係ないとこを追っかけてしまったじゃないか


878 :仕様書無しさん:03/10/10 08:29
>>877
それは、藻前がおっちょこちょい。
大体エラーじゃないのかと

879 :仕様書無しさん:03/10/10 08:47
渡されたCソースのコメント各所に顔文字が...先行き不安。

880 :仕様書無しさん:03/10/10 10:33
for ( ;_; )

みたいなやつか?

881 :仕様書無しさん:03/10/10 12:31
コメントじゃないじゃん

882 :仕様書無しさん:03/10/10 15:08
亀レスだが、

>>837
データチェックの類は、複数個のエラーを検出したら複数個を返さなきゃならん。
それに、そういう単純なコードはInterpreter書いて宣言的にプログラムするもんだ。

883 :仕様書無しさん:03/10/10 20:22
>872
オレそれ、ユーザー側で経験ある
直接の担当の機械(機械の制御用ソフト)じゃなかったが、問題が起きて
参照DLL調べたらMFCのデバッグ版のDLLごろごろ
「ライセンス違反じゃない?」って言ったら
直したよう。その後、担当者に聞いたらよく落ちるようになったらしい
ソッコーでそのメーカの装置買わないように通達出したよ

884 :仕様書無しさん:03/10/10 20:41
#ifdef 0 がどうとかいう話はともかくとして、俺は張り切って読んだ他人のソースがどう考えても
動作と合わないんで何度も何度も何度も読みかえした挙句、実はMakefileのどこにも書かれて
ないやつだということに翌日気がついたことがあった。>>877

885 :仕様書無しさん:03/10/10 22:04
#ifdef 0

1000行ほど

/*

1000行ほど

#else

5000行ほど

*/

1000行ほど

#else

886 :仕様書無しさん:03/10/10 23:14
どんなショボエディタ使ってたんだ?

887 :仕様書無しさん:03/10/11 14:12
>884
あるある! それ漏れも経験ある(;_;)

888 :仕様書無しさん:03/10/11 14:49
ぞろ目かな?

889 :仕様書無しさん:03/10/11 15:21
>>888
うれしいのか?

890 :仕様書無しさん:03/10/11 15:22
#ifdef 0 ってなんだよ
#if 0 のこと?

891 :仕様書無しさん:03/10/11 21:24
>>890
C#を知らないバカ

892 :仕様書無しさん:03/10/11 21:26
>>891
C#知ってるんだ。すごいね。

893 :仕様書無しさん:03/10/11 21:34
昭和を知らない子供が嫌い
仕事をなくした大人が嫌い
優しい幼女が好き
バイバイ

キユ

894 :仕様書無しさん:03/10/11 21:39
おまいは人間関係に気を使え!

895 :仕様書無しさん:03/10/11 22:31
デスマーチでつきぬけろ!

896 :仕様書無しさん:03/10/11 22:31
>>891
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

897 :仕様書無しさん:03/10/11 23:12
釣るならメル欄に言い訳など書くなよ

898 :仕様書無しさん:03/10/11 23:35
>>897
今はあえてメル欄無視してつられるのがツウ
メル欄なんてまるみえなのにあえて書く奴を笑うべし

899 :893:03/10/11 23:44
昭和を知らない子供が嫌い
休みをくれない大人が嫌い
優しい仕事が好き
バイバイ

キユ

900 :仕様書無しさん:03/10/11 23:45
うろ覚えなんだけど、

int a,b ;
double c ;

// 〜中略〜

char buf[100] ;
char *str="Data1 = %%d.%df\n" ;
sprintf( buf, str, a, b ) ;
fprintf( buf, c ) ;

てな感じで可変長でprintfをするというソースがあった。




こんなソースを書く漏れはもう駄目ですか_| ̄|○

901 :仕様書無しさん:03/10/11 23:48
>>900
代替手段はどうやるべきだろ?
マ板の話題じゃないかもしれないけど

902 :仕様書無しさん:03/10/11 23:54
>>900
書式本当にそういう風に書いてあった?

903 :仕様書無しさん:03/10/11 23:55
なんで * をつかわんのじゃ?

904 :仕様書無しさん:03/10/12 00:06
>>900
それじゃ動かんだろ

905 :仕様書無しさん:03/10/12 00:12
>>900
FILE *fp;

char buf[100] ;
char *str="Data1 = %%%d.%df\n" ;
sprintf( buf, str, a, b ) ;
fprintf( fp, buf, c ) ;

906 :仕様書無しさん:03/10/12 00:13
>>905
多分そんな感じ

907 :仕様書無しさん:03/10/12 00:27
>>899
>>895


908 :仕様書無しさん:03/10/12 01:13
903が無視されてるから、あえて書き込むけど
"%*d"とかって知ってる?

909 :仕様書無しさん:03/10/12 01:15
アナルにdekatinの入る確率

910 :仕様書無しさん:03/10/12 01:16
>>908
何の代入を抑制するんですか?
問題の意味分かってますか?

911 :仕様書無しさん:03/10/12 01:21
>>910
わかってないなぁ。

912 :仕様書無しさん:03/10/12 01:21
>>910
抑制するのはdekatinのはやる気持ち

913 :仕様書無しさん:03/10/12 01:23
>>910
抑制?なにいってんの?

fprintf(fp, "Data1=%*.*f\n", a, b, c);
で済む話だろ

914 :仕様書無しさん:03/10/12 01:31
>>913
恐らく>>910はscanfと混同していると思われ…

915 :仕様書無しさん:03/10/12 01:32
>>910 は無知を晒してしまったな。

916 :仕様書無しさん:03/10/12 01:34
>>914
スマソ

>>913
( ・∀・)つ〃∩ ヘェー

917 :仕様書無しさん:03/10/12 01:39
>>916 妙に素直なヤツだな。ちょっと気に入った。

918 :仕様書無しさん:03/10/12 02:44
910=916=917

919 :仕様書無しさん:03/10/12 02:49
>>918
バレた?

920 :仕様書無しさん:03/10/12 04:02
予想通りの展開に萎え〜。
すぐに自演を疑うんだなぁ。

921 :仕様書無しさん:03/10/12 12:03
920=空気読めない香具師

922 :仕様書無しさん:03/10/12 16:23
何かとすぐに空気空気

923 :仕様書無しさん:03/10/12 16:58
何かとすぐに嫁嫁

924 :仕様書無しさん:03/10/12 20:08
そんなおいらは嫁がほしい

925 :仕様書無しさん:03/10/12 21:54
俺漏れも

926 :仕様書無しさん:03/10/12 23:18
私は娘がほしぃぞぉぉぉぉぉーーーーー

927 :仕様書無しさん:03/10/13 00:12
>>926
オマイに娘は危険すぎるゼ!

928 :予約No.1:03/10/13 00:34
>>926
娘さんを僕に下さい

929 :仕様書無しさん:03/10/13 11:34
ネタスレ化してる・・・(;´Д`)

930 :仕様書無しさん:03/10/13 11:41
マ板はネタ板。

931 :仕様書無しさん:03/10/13 11:41
マ板はマナ板

932 :仕様書無しさん:03/10/13 11:43
まな板娘(;´Д`)ハァハァ

933 :仕様書無しさん:03/10/13 11:44
>>932の手によってマ板発の萌えキャラ「まな板娘」誕生!

934 :仕様書無しさん:03/10/13 12:57
>>932
♀ぬりかべ?


935 :仕様書無しさん:03/10/13 15:24
白板娘?

936 :仕様書無しさん:03/10/13 16:40
>>まな板娘
絵を激しくキボンヌ!

937 :仕様書無しさん:03/10/13 16:59
え、まな板娘って貧乳のコのことだとばかり(;´Д`)

938 :仕様書無しさん:03/10/13 17:01
ほ〜、ここが2ch語「まな板娘」発祥のスレですか
ログ永久保存しとかんとな

939 :仕様書無しさん:03/10/13 17:08
はやるかなぁ

940 :仕様書無しさん:03/10/13 17:09
電気グルーヴのメカニカル娘を
ちょっとだけ思い出した

941 :936:03/10/13 17:18
ぅぉぉ。すんげぇ勘違いしちまった。まな板=ぺったんこか。
てっきり
「まな板の上で、そここそ"まな板の鯉"状態で、
 これから"料理"される事に対してガクガクブルブルしてる小さなおにゃのこ」
をイメージしちまったぜ……


いろんな意味でダメぽ…オレ…=■●_

942 :仕様書無しさん:03/10/13 17:20
>>941
> 「まな板の上で、そここそ"まな板の鯉"状態で、
>  これから"料理"される事に対してガクガクブルブルしてる小さなおにゃのこ」

ソレダ!

943 :仕様書無しさん:03/10/13 17:24
俺も「まな板の鯉」状態で寝転がってるおにゃのこ想像しちまった
これも全て休出のせいだ
帰りてー

っていうか>>932の真意はどっちだったわけ

944 :仕様書無しさん:03/10/13 17:38
半虹の絵師に頼んでみたらどっち書いてくれるかな

945 :仕様書無しさん:03/10/13 17:42
つるぺた娘がまな板の上でころんと丸くなってたらいいじゃん

946 :仕様書無しさん:03/10/13 18:31
>>945
(・∀・)ソレダ!

947 :仕様書無しさん:03/10/13 18:54
何、この展開・・・(;´Д`)

948 :仕様書無しさん:03/10/13 19:01
(;´Д`)ハァハァ

949 :仕様書無しさん:03/10/13 19:48
_| ̄|○
http://www.stv.ne.jp/event/lehmbruck/work01/img/02.jpg

950 :仕様書無しさん:03/10/13 20:20
スレタイとの乖離ぶりにワラタ

951 :仕様書無しさん:03/10/13 21:02
まな板娘ハァハァ

952 :仕様書無しさん:03/10/15 20:51
>945
つるぺた女体盛り

953 :仕様書無しさん:03/10/16 02:36
まな板娘萌え〜


954 :仕様書無しさん:03/11/01 23:46
次スレ立ってたのか_| ̄|○

955 :仕様書無しさん:03/11/02 01:26
次スレリンク希望

956 :仕様書無しさん:03/11/02 10:23
この会社辞めようと思った上司の一言#C
http://pc.2ch.net/test/read.cgi/prog/1066523696/l50

957 :仕様書無しさん:03/11/02 12:06
>>956
関連スレかもしれないけど次スレじゃないよね。
そっちはそっちでずっと続いてきてるし。

958 :仕様書無しさん:03/11/02 13:46
次スレ立てようか?きり番でも何でもないけど、950過ぎてるし。

959 :仕様書無しさん:03/11/02 16:57
>>957
一応ここが950過ぎてから立ってる
けど、ここにリンク貼るのがあまりにも遅かったな

960 :仕様書無しさん:03/11/02 22:45
# このスレ
この会社辞めようと思った*ソースコード*#B
# 956 のスレ
この会社辞めようと思った*上司の一言*#C


なもんで、違うスレなんだけどなぁ…


ちなみに、私的にはこのスレの次スレをサクッと立てて、
スレの内容を復活させたほうがいいと思うに 9bit。

ついでに、スレの埋め立ては、まな板娘で。

961 :仕様書無しさん:03/11/02 23:15
まな板娘

962 :仕様書無しさん:03/11/02 23:19
>>960
スマソ、大きな勘違いをしていたようだ
誰か次スレ立ててね

963 :仕様書無しさん:03/11/02 23:20
>>960
切り番のおまいが責任もってたてれ

964 :仕様書無しさん:03/11/02 23:46
950が立てるのが筋だが、それがだめなら960
960も立てられないなら970ってキリ番でたらい回しにするのが一応のルールなり。


965 :仕様書無しさん:03/11/02 23:51
まな板娘

966 :960 ◆tPlLfpspY. :03/11/03 02:21
よーし、それじゃぁ
パパが次スレ立ててきちゃうぞ〜

967 :960 ◆tPlLfpspY. :03/11/03 02:39
立ててきたー

この会社辞めようと思ったソースコード#C
http://pc.2ch.net/test/read.cgi/prog/1067794604/


以下1000トリでも娘でも嫁さんでも。

968 :仕様書無しさん:03/11/03 03:58
まな板娘ハァハァ

969 :仕様書無しさん:03/11/03 05:11
まな板娘[まないた・むすめ]

マ板における幾多の妄想の産物キャラのうちの一人。
このスレの >>932- を参照。
転機となる一言は >>945 参照。
キャラ的には萌える要素満載だが、未だに絵はない。


というわけで画像キボンヌ


970 :仕様書無しさん:03/11/04 23:29
まな板娘・・・・

今日のところの俺的イメージは、bpsとかいうアニメに出てくる
美砂緒ちゃんだな・・・まうまう

971 :仕様書無しさん:03/11/17 13:37
埋めようや

972 :仕様書無しさん:03/11/17 15:27


973 :仕様書無しさん:03/11/17 15:28


974 :仕様書無しさん:03/11/17 15:29


975 :仕様書無しさん:03/11/17 16:31


976 :仕様書無しさん:03/11/17 16:31


977 :仕様書無しさん:03/11/17 16:37


978 :仕様書無しさん:03/11/17 16:38


979 :仕様書無しさん:03/11/17 16:47


980 :仕様書無しさん:03/11/17 16:49


981 :仕様書無しさん:03/11/17 17:51


982 :仕様書無しさん:03/11/17 19:26


983 :仕様書無しさん:03/11/17 19:28


984 :仕様書無しさん:03/11/17 19:30


985 :仕様書無しさん:03/11/17 21:05


986 :仕様書無しさん:03/11/17 21:06


987 :仕様書無しさん:03/11/17 21:59


988 :仕様書無しさん:03/11/17 22:02


989 :仕様書無しさん:03/11/17 22:53


990 :仕様書無しさん:03/11/17 23:14


991 :仕様書無しさん:03/11/17 23:16


992 :仕様書無しさん:03/11/17 23:17


993 :仕様書無しさん:03/11/17 23:40


994 :972-974:03/11/18 02:32
わけのわからんことになった( ;´Д`)

995 :仕様書無しさん:03/11/18 07:53


996 :仕様書無しさん:03/11/18 10:27
>>994


997 :仕様書無しさん:03/11/18 10:28
>>996


998 :仕様書無しさん:03/11/18 10:28
>>997


999 :仕様書無しさん:03/11/18 10:30
>>998


1000 :仕様書無しさん:03/11/18 10:30
>>999
鹿

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

192 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)