1 :
仕様書無しさん :
03/05/24 06:28 まず私から。 C言語で関数の型が全部void型で 変数はすべてグローバル変数をヘッダーに書いてそれを Externして使っていたソース。
2げっとおおおおおおおおおお。
こういった重複のクソスレ立ててる>>1のソース読んだら気絶を通り越して即死するんだろうな〜
5 :
仕様書無しさん :03/05/24 14:08
放置揚げ
#include ">1"
7 :
仕様書無しさん :03/05/24 14:13
飲んで気絶しそうになったソース
>>1 散々出尽くしたネタを何故スレまで立てて語ったのか?
12 :
仕様書無しさん :03/05/24 15:17
重複定義を回避するために #ifdef してますが、何か?
おたふくソースは、作った人間が死んでしまったわけだが。
14 :
仕様書無しさん :03/05/24 15:22
ソースもそうだけど、他人が書いたDB定義とかSQLなんかも気絶しやすいよな。
>>2 はprivateで宣言されているので、
>>9 との重複はコンパイルエラーにはなりません
16 :
仕様書無しさん :03/05/25 18:08
while(1) printf("\t\b\b");
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
18 :
仕様書無しさん :03/05/30 09:35
チンコが取れた。 いや、マジで。 痛みはない。 だから診断が怖いのと恥ずかしいのとで病院は行ってない。 どうすればいいんだろう。 不自然な股間に興奮を覚えるが、相棒はいない。 変化がおきた俺の身体にいつもの変化はおきない。 またいきり立つ勇姿を見せてくれよ相棒。 なあ。冗談だろ?お前流のキツーイ冗談なんだろ? ・・・・・・・・・・・・。 答えてくれよ。 ちょっと小便したくなってきたけどどうすればいいんだ。 玉袋が寂しそうだぜ。 あ、玉袋も取れた。
20 :
仕様書無しさん :03/05/30 09:53
読んで気絶しそうになったスレですかぁ
重複スレを作る奴って、 同じような関数/クラスとか平気で作ったり、 標準で用意されている関数/クラスを自作していそうな気がする。
重複スレを作る奴って、 標準関数と同名の関数作って、 『コンパイル通んないんスよ。何でですかねぇ?』とか言いそう。
23 :
仕様書無しさん :03/06/21 08:40
goto文の嵐のコード発見後は気絶直前に...。
>>18 チンコにゴムしたまま寝ただろう?
よくあるんだ。 ゴムで締め上げられて、鬱血して
朝起きたら落ちてる。
>>25 ああ、それでか。
せめてあした、「天使みたい」の黒川芽衣を見るまでついててもらいたかったけどな。
まぁしかたない。あきらめるか。
ゴムしたまま寝て、気づかず起きて小便した。 出してるのに出てない!! すげーあせった。
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
新人の頃見た、チーフプログラマの書いたシリアルIOのドライバプログラム。 sio1.c sio1() { あ あ だ 1 こ う だ } sio2.c sio2() { あ あ だ 2 こ う だ } やれemacsは(重くなるから)使うなだの、やれホームディレクトリのパーミッションを 777にしろだの、さんざん偉そうに言われていたので、これ見て絶句した。 会社はやめなかったので、このスレに。
30 :
仕様書無しさん :03/07/20 09:38
いまいち
>>29 の意味がわからないので解説してください
31 :
仕様書無しさん :03/07/20 12:03
>>30 1ソース1関数な上、メチャメチャ長くて読む気が失せるって事じゃないの?
Java 1.0の 1クラス 1ファイル みたいだな。
>>30 「内容がほとんど同じ」というのもあるっぽい。
34 :
仕様書無しさん :03/07/20 12:27
じゃなくて、引数わたしゃすむものを、 一箇所だけパラメータ変えてるってことだろう。
35 :
仕様書無しさん :03/07/20 12:29
ソース見て本当に気絶した奴を見たことが無い。
>>35 じゃあ実験してみよう。
ソースの予約語などを色分け表示できるエディタを準備。
赤、白、青の三色で色分けされるように設定を調整。
この際、比較的均等に色分けされるように、ソースや設定を調整する。
このソースをwheelなどでぐりぐりスクロールさせてみるとどうだろうか。
37 :
仕様書無しさん :03/07/20 13:13
>29の説明能力にもかなりの問題がありそうだな
int i; をグローバルに展開してた奴なら居た。 それも会社の社長。
39 :
仕様書無しさん :03/07/20 13:26
40 :
仕様書無しさん :03/07/20 13:27
果てしなく長いmain関数・・・ 1000行以上あったかなぁ? 処理の半分以上がmainの中に書かれてた。if〜elseの嵐で 見づらいのなんのって(w
>>40 ベーシックから来た奴とかよくやる過ちだね。
関数の作り方とか知らん奴。
42 :
仕様書無しさん :03/07/20 13:44
「初心者」で済まされるならいいんだけどな。 長いソース書くくらいなら、書いてる間に 「こいつはおかしい。こんな、自分でも読むのが苦痛になるもんだろうか」 と分かりそうなもんだが。センスが無いから気づかんのか。
43 :
仕様書無しさん :03/07/20 13:57
コーディング規約が無いプロジェクトで、 でも、一応周りの習慣に合わせたコーディングをしようと思って、 結局統一性に欠けるコーディングをした事ならある。
44 :
仕様書無しさん :03/07/20 14:03
高卒は何度説明してもまともなのが書けない。
45 :
仕様書無しさん :03/07/20 14:06
/ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | |ぬるぽ ./○ ___ ○ ::::::::::::::| もう・・・ぬるぽ・・・ | |ぬるぽ | | | U :::::::::::::| | |ぬるぽ |U | | ::::::U::::| | |ぬるぽ .| ├―-┤ U.....:::::::::::::::::::/ | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::|
どこぞの社内ライブラリで結果がグローバル変数に格納される関数があったな これを実行するとどこがどうなるんじゃいって感じ。 もちろん使わなかった
48 :
仕様書無しさん :03/07/20 16:14
49 :
仕様書無しさん :03/07/20 16:24
PL/SQLでネストが11階層
50 :
仕様書無しさん :03/07/20 23:43
if () { goto ・・・ ・ ・ ・ if () { goto ・・・ ・ ・ ・ if () { ・ ・ ・ goto ・・・ ・ ・ ・ ×40
/ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | |ぬるぽ ./● ___ ● ::::::::::::::| もう・・・ぬるぽ・・・ | |ぬるぽ | | | U :::::::::::::| | |ぬるぽ |U | | ::::::U::::| | |ぬるぽ .| ├―-┤ U.....:::::::::::::::::::/ | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::|
_
≦_ ̄_ ̄─
≦_ )
 ̄≡/
/ \\
グォーン Γ 了/ | |
グォーン |.@| | | ッグェァ!!
/| | .人
. / .| R.| < > __Λ∩
/ ミ .| .| .V`Д´)/←
>>46 >>51 (  ̄ ≧_ // ・;'/
─_ _≧
>>48 言葉が足りなかった
漏れの言ってるのは戻り値
void GetLastError(void)の結果がグローバル変数 rc に返ってくる感じ
ついこないだ、改造依頼があったソース。A4縦100ページ程で k1.c, k2.c. k.h…3ファイルかよ… しかもk2.cなんて2ページしかねー。ゴメンナサイだった。
藻前等こんなのも見ました fclose(fp); fp = NULL; /* ポインターを初期化する */ return; こんな糞コードをメンテしている僕を、慰めてください
>>55 そのコードの下にかんすうの閉じ括弧だけなのだろうかといってみるてすと。
まあ、いいんだけどさぁ。
>>55 その後で
if( fp == NULL )
などとしてファイルが開いてるか、閉じているか判断してるコードがあればその人はまともかと。
それ以降、fp使ってないのであればその人はバカかと
>>55 どっかからソースを部分的にコピーした場合には
そういうこともあり得るかな。
>>57 そういう意味だったです。おやすみなさい。
藻前等こんなのも発見しマスタ if(as == NO_DATA) { return FALSE; } else { だらだらーっと コードが書いてあるが else いらんだろーがヴォケ }
>>60 そういうのは、コンパイルが最適化してくれる
きにすんな。
いや、そういう話では…;;
>>60 それは趣味の領域に踏み出しているような・・・
64 :
仕様書無しさん :03/07/25 23:29
え
if( a = 4 ) AfxMessageBox( "TRUE" ); else AfxMessageBox( "TRUE" ); 代入した挙句、両方とも成功ですか・・・
66 :
仕様書無しさん :03/07/25 23:37
if(rc == ERR) { return(ERRR); break; } おいおい、return した後 breakして何処に行く気だよ
>>57 アホを承知で発言させていただきますと、
もしかしたら未使用のポインタで参照するというバグによる
影響を最小限にくい止める為の行為かもしれないと。
例えば
int a; // グローバル変数
void func1()
{
int *p1 = &a; // p1にaのアドレスを設定
printf( "func1 %p¥n", &p1 ); // p1のアドレスを表示してみる。
}
void func2()
{
int *p2; // 初期化しない
printf( "func2 %p¥n", &p2 ); // p2のアドレスを表示してみる。
printf( "%d¥n", (*p2) ); // 参照する
}
void main()
{
a = 10;
func1();
func2();
}
うまくするとp1とp2のアドレスが一致して、func2で10と表示される。
>>67 コンパイラが警告出すだろ、その程度だったら。
んでもって、最適化で無駄なauto変数の代入なんかも消えるかもな。
69 :
仕様書無しさん :03/07/26 00:50
IIS+ASPだけで書かれたシステム。 JSPだけで書かれたシステム。 もう、アホかと、馬鹿かと。
70 :
仕様書無しさん :03/07/26 00:52
PHPだけで書かれたシステム。 もう氏んでほしい。
71 :
仕様書無しさん :03/07/26 00:59
>>69 え?
ASPだけのシステムは駄目か?
なんで?
>>67 >うまくするとp1とp2のアドレスが一致して、func2で10と表示される。
そんな偶然で正しく動いてるコードの方がめちゃくちゃ嫌です(´Д`;)
コードを修正して突然、動かなくなって「前までは動いてたから修正した部分が悪いんだな」
って思ってめちゃくちゃハマるんです
バグは再現しやすく、すとーんと落ちるほうがバグとしては良いバグなんですよ
>>69 >>70 ASPは今、仕事で使っててむかついてるから良しとして、
PHPとJSPはまともだと思う
PHPは書き手によっては最悪だが
75 :
仕様書無しさん :03/07/26 02:00
書き手によって最悪なのは全部そうだ。
76 :
仕様書無しさん :03/07/26 02:06
procedureを一切使わず わざわざダミーの返り値を用意して なんでもかんでも全部functionにしてる Pascalのソースを見たことがある。 そんなにprocedureが嫌いなのか?
77 :
仕様書無しさん :03/07/26 02:24
ASP.NETを使えってこった
78 :
仕様書無しさん :03/07/26 02:37
>>73 偶然じゃなく狙って動かすことも出来ると思うけど。
前までは動いていたから、修正したところが悪いんだなと
思えるなら、純情派ですね。 その気持ちを忘れずに。
ASPもJSPもさほど変わらんような。 もちろん両方ともウンコ並です。
81 :
仕様書無しさん :03/07/26 07:28
使いこなせない奴がクソなんだろ
>55 俺は仕事で普通にそれやってる。 ファイルハンドルとかウィンドウハンドルとか。 その理由なんだけど、 "無効になったハンドルは確実に使えなくする" というクセをつけておく為。 なんで、こんなクセをつけておくかというと・・・ 人間ってイージーミスしちゃうからね。 仕様追加等でfpに対する処理を追加する場合に、 fclose()の後ろに、本来のfpを扱う処理を書いちゃったりするんだよ。 (fclose()の場所にもよるけどねw returnの直前ならまず大丈夫だけど、"クセをつけておく"という主旨で・・・) そうしちゃった場合にスグに異常動作が判ればいいんだけど、 判り難いケースもある。 特にWin32やMFC関連はエラーも出ずに何か動いちゃってるように見えたりも するんだよね。 でも NULL にする処理を入れておけば、そのプログラムミスに気付く事が 幾分容易になる。 (確実な異常動作が期待できる。 VCならアサーション(デバッグビルド版のみの警告メッセージ)が出る場合も多くなる)
そして異常動作を確認した後、実行時の変数の内容を順次確認するような デバッグをした時に、NULLであるハンドルを利用していると 「ハンドルの内容が適切でない/設定されていない」というのが スグ判るよね? 安全性の向上とデバッグのし易さが目的かな。 >73 >バグは再現しやすく、すとーんと落ちるほうがバグとしては良いバグなんですよ 正にコレ! 異常なハンドルを参照した場合にすとーんと落ちるプログラムに成り易く する為の"クセつけ"。 ※fp扱う処理を追加するならfopen() fclose()の場所を確認するのは必須だろ? というツッコミは無しねw 他人が作ったボリュームのあるプログラムだと、解析に間違う事もあるし・・・。 人間はミスをする生き物だし・・・。
>>82 の冗長な内容のカキコを見ると
コードはクドそうでなおさらイヤだな。
>>84 >>82-83 の例なら、コンパイラはエラー出せないぞ。
後ろに処理追加した時点でfpへの代入も消されん。
>>86 errorじゃなくてwarningならそのとおりだろうな。
というか、assert()が使えないソースを量産しているのか?
>>82-83 ちと長いが同意。オレは実際にはクラスでラップしてやるんで、
後から保守する奴が下手に「最適化」することもできないようになってる。
クラスの実装弄りたがる香具師が保守したら大変だな
ハンドルなんかを無効にする処理とハンドルを使う処理が混じっている プログラム構造自体が問題。
>>82-83 うん、オレもそうしてる。
っていうか、クラスライブラリの
ソースをのぞいてみると、そういう実装してるの多いし。
>>91 に関しては、
>>55 がどこからソースを引っ張ってきたかによるでしょ。
>>92 >
>>91 に関しては、
>>55 がどこからソースを引っ張ってきたかによるでしょ。
それはそうですな。
この話、C++ではメンバの管理として有効だし、
Cでは構造がおかしい場合が多いだろうと感じた。
>>91 問題を画一的にしか考えられない君の思考回路が問題。
話の流れが微妙にかみ合ってない予感。
あのNULL代入はfpを使いまわすことを想定した上での記述ではないかと。
この場合、それほど問題のないコードを晒した
>>55 を呪うということで。
>>55 はfpがローカル変数で、かつfp = NULL; とreturn;の間に
何も文が無いっていうことだと思ったんだが。
そうだとすれば、>58に同意。
>>94 fpがC++のメンバ変数だとしたら>55は厨確定だな。
Cでもfpが実はグローバル変(ry
全くすきかってにかきやがって、御意見ありがとうございます 終了処理の部分で、それ以降、fp は使っていません。 それでも、NULLを代入するという魔可不思議なコードです。
107 :
仕様書無しさん :03/07/28 20:18
108 :
仕様書無しさん :03/07/28 20:47
>>106 ポインタ類は使用済み後、無駄であろうがなんだろうが、とりあえずNULLで初期化しておくのは
死ぬほどコーディングしなきゃならんが品質も確保しなきゃいけない職業プログラマとしては定石の一つ。
それがわからずに「気絶しそう」なんて言うなら、ちょっと問題ありだぞ。おまえ。
109 :
仕様書無しさん :03/07/28 20:50
説明能力が全くない
>>55 に付き合わざるをえない同僚や客に心から同情します
「俺はもう新人じゃない」と粋がっていても所詮経験4ヶ月の素人。 散々たたかれてくやしいだろうが、これを糧に精進しろ。
111 :
名無し@沢村 :03/07/28 21:09
>>1 嘘をつけ!!
ヘッダファイルに書かれたグローバル変数はexternしなくても使えるぞ。
externは外部リンケージを指定するものだから、他のソースファイルで定義されているとき使うものだ。
ヘッダファイルの場合は不要なんだよ!!
つーかおまえExternって何よ?
>ポインタ類は使用済み後、無駄であろうがなんだろうが、とりあえずNULLで初期化しておくのは >死ぬほどコーディングしなきゃならんが品質も確保しなきゃいけない職業プログラマとしては定石の一つ。 ぎゃははははは!そんな定石聞いたこともねえよ! 言いたい事はつまり、自分で書いたソースが どこで暴走するかわからないから、 とりあえずNULLで初期化して置けば安心って言いたいのか? 自分のコードすらまともに管理出来ねえのかよ?
>>111 #ifdef GLOBAL
#define Extern
#else
#define Extern extern
#endif
とかのことじゃないかと思われ。
115 :
仕様書無しさん :03/07/28 21:16
>>113 使用後NULL初期化はJavaやっていると癖になる
116 :
仕様書無しさん :03/07/28 21:22
ボインタンは大好きさ。
予防的プログラミングをはきちがえてる奴多いね。 「バグがあっても動く」みたいな。
118 :
仕様書無しさん :03/07/28 21:31
クラスのメンバ変数がポインタの時、参照先を削除したら、そのメンバ変数にはとりあえず0を代入するよ。 自動変数がポインタの時、参照先を削除しても、その自動変数はホッタラカシにする(ことが多い)。 0を代入することで、インスタンスが「完全になる」感じがする。
119 :
仕様書無しさん :03/07/28 21:32
>115 GC莫迦過ぎるもんねぇ
>>113 藻前は何年間他の人と一緒にプログラミングしたことがあるのかと小一時間(ry
ちょっとまて。まさかそのfpはグローバル変数じゃないだろうな(w そうでなきゃ1関数ながすぎなような。
DirectXでもRelease後、NULL入れとくのは皆やるけどな。
124 :
仕様書無しさん :03/07/28 22:40
// 普通 hage::~hage() { /// Hoge開放 if(_pHoge) { delete _pHoge; _pHoge = NULL; } } // をデストラクタに書くのは常識だろ
125 :
仕様書無しさん :03/07/28 22:43
>>124 常識じゃないよ。
ほとんど趣味の世界だね。
129 :
仕様書無しさん :03/07/29 00:41
>>115 それってどういう状況で有効なの?
nullを入れるのとGCが動くタイミングとは関係ないでしょ?
なんだ、フィーリングでプログラミング野郎が多いな。 安心した。
フィーリングプログラマー5対5
オサーン発見
133 :
仕様書無しさん :03/07/29 01:00
fcloseall() だっけか。 全てのファイルポインタを閉じるって関数。 アレ使ってるソース見たことある?
134 :
仕様書無しさん :03/07/29 01:04
>>129 GCはnullが入っていないとまだ使っていると判断する
おまえら今度はJavaですか 参照カウンタを明示的に減らすのは宵かもな
136 :
仕様書無しさん :03/07/29 01:10
>>129 >>134 は言葉足らずだったので再度書く
クラスのメンバー変数が別のクラスを指す場合、適当なタイミングでその変数に
nullをセットしなければ開放されない
137 :
仕様書無しさん :03/07/29 01:13
いいかげん、C言語やめようや。
元気 殺伐 プログラミングC
140 :
名無し@沢村 :03/07/29 01:22
>>124 ヌヒよ、NULLポインタをdeleteしても無視される。だから下のように書くべきだ。
hage::~hage() {
/// Hoge開放
delete _pHoge;
_pHoge = NULL;
}
141 :
仕様書無しさん :03/07/29 01:26
>>140 漏れは知ってるが、割と知らない人が多い仕様なんで
後で保守する人が知らなかった時の為に、
普段はあえて>124のように書いている。
記述の簡潔化は保守性向上のためのものなのに、
それで却って保守性を下げていたら本末転倒だ。
>>142 そんなことが心配ならコメントでも書いとけばいいでしょ。
//NULLポインタをdeleteしても問題ない罠
delete _pHoge;
_pHoge = NULL;
その方がif()が一つ減って、ほんの少しだけ(゚д゚)ウマー
144 :
仕様書無しさん :03/07/29 03:49
Microsoftは新しいOSを構築するべきだ。
http://www.zdnet.co.jp/news/0307/28/cead_coursey.html それもWindowsの最も厄介な問題を解決するため、必要に応じて
ゼロから作り直すべきだ。その問題とは、使い勝手があまり
良くない点、これ以上の使い勝手の向上が望めないという点だ。
さらに同OSはたいていのユーザーには不要な機能とコントロール
で膨れ上がっており、それがまた使い勝手を損なっている。
真のユビキタス(コンピュータを誰でもどこでも使えること)は、
私たちが知る今のWindowsでは達成できないと思う。
(次期版Windowsの)Longhornは複雑さを取り除くどころか
むしろ増やしているようだ。
Home EditionもProfessional Editionも「シンプルで強力」
という基本要件を満たしていない。
Windowsではよくめちゃくちゃな事態が起きて、
OS全体の再インストールが必要になる
145 :
仕様書無しさん :03/07/29 04:09
デストラクタでメンバに代入するのは糞コードだよな?
146 :
仕様書無しさん :03/07/29 08:35
>>136 だいたいクラスのメンバー変数を
nullで初期化しなきゃいけない場合ってどんなだよ。
設計がおかしいんじゃないか?
> nullで初期化しなきゃいけない場合ってどんなだよ。 初期化は普通に要るだろ。 代入のことか?
149 :
仕様書無しさん :03/07/29 09:09
自分も解放時にNULL代入やってます。 未使用ポインタはNULLであるという自己ルールで やってるんで、例え必要無くてもNULL代入する。 一貫したやりかたを守ってれば判断が必要になった ときに楽だし。
おまえらauto_ptrつかえよ。
>>134 つか、必要も無いのに、インスタンスを捕まえてて、
nullをいちいち入れなきゃならない変数が多数あるっては、
コードの書き方がへたくそなんじゃないの?
どっちかというと安全性のためにNULL代入するんだよ。 不正なポインタを検出し易くなるからデバッグコードも入れやすくなる。 初期化しないままのゴミ値を見てそれが正常かどうかなんて判らないだろ。
153 :
仕様書無しさん :03/07/29 10:17
>>151 別に委譲先のクラスのポインタをメンバ変数に持つのは普通だろ
Cプログラマ?
>>150 auto_ptr知らん、せっかくだから調べてみた。
...これまでの話の流れとは関係ないじゃん。
auto_ptr使ったことないな。 いきなりboost::shared_ptrだった。 経験のためにも一度使ってみようかな。
CFoo foo; <中略> //delete foo; このcomment outは何でつか?
159 :
仕様書無しさん :03/07/29 12:21
FILE* fp = NULL; ResOpen() { if (NULL == fp) { fclose(fp); fopen(...fp); } } ResRead() { fread(...fp); } ResClose() { if (NULL != fp) { fclose(fp); fp = NULL; } }
ResOpen() { if (NULL == fp) { fclose(fp); } fopen(...fp); }
ResOpen() { if (NULL != fp) { fclose(fp); } fopen(...fp); }
165 :
仕様書無しさん :03/07/29 15:57
>>157 fooがポインタじゃないからと違うの?
そろそろ新しいオープンソースのネタでも探してくるか〜〜〜
167 :
仕様書無しさん :03/07/29 21:09
bool isOpen ; ・・・・・・・・・・・ if (isOpen == true) { this.checked = true ; } else { this.checked = false ; } ・・・・・・・・・・・ 気絶しそうにはならなかったが、 「こいつ、プログラマーには向いてないな」 と思ったですね。
>>167 後で処理内容を増やすつもりかも知れんべ
したら可読性という点でダメダメとも限らなかんべ
169 :
仕様書無しさん :03/07/29 21:45
あるJava本のサンプルソースなんだが、 コンストラクタが10ページもあるクラスを見た。 あんなの出版していいのか?
冗長コードで可読性を維持する試みで成功してるのをあまり見てない。 ソース一行いじっていくら、なんて契約のとこならそうだが。 将来のために無駄なコードを書くくらいならない方がマシじゃないか。 だっていくらわかりやすいコードでも、無いのよりは読む手間あるじゃん。
おれも、 return hoge == HOGE; と書いていたら、変な書き方するなって、下のように 書き直しさせられたことがあるよ。 if(hoge == HOGE) { return true; } else { return false; }
>>171 #define true 0
#define false 1
だったらどうする。
それはそれで気絶ものだが。
173 :
仕様書無しさん :03/07/29 22:25
xxxxxx(){
}
みたいな書き方ってキライ。
やっぱ、
xxxxxx()
{
}
でなきゃ、
そういう意味で、内容はともかく個人的には
>>167 みたいな
コーディングってスキ♪
return hoge == HOGE ? true:false; だな、せめて
175 :
仕様書無しさん :03/07/29 23:48
177 :
仕様書無しさん :03/07/30 00:12
>>176 だってさぁ、下のような書き方なら、ブロックの範囲を確認したり、
コピペでブロック選択したりするとき、目を左右に動かさないで
済むじゃないよ。
カッコの位置について語るのは やめましょうよ〜。
179 :
仕様書無しさん :03/07/30 00:20
>>177 インデントで判断つくけど、括弧を改行しておいたほうが
見やすくはなるね。
Javaは、なぜかxxxxx(...) { が多いんだよね。
しょうがないから、JavaとC/C++で書き分けています。
180 :
仕様書無しさん :03/07/30 00:31
>>113 ちゃんと管理できたら、メモリリークも二重解放も発生しません。
おながいしますので自分のコードが完璧であると考えないで下さい。
>>179 Javaだとextendsだとかthrowだとかでクラスやメソッド行が長くなりがちなのにね。
(C#なら「:」で済むのになぁ)
>>173 さんざん語り尽くされてるから、もういいよ
183 :
仕様書無しさん :03/07/30 01:49
確かにスコープの終わりやデストラクタだと
冗長なコードになってしまうけれども
使い終わったポインタにNULL代入することを
癖づけるのはいいことだと思う
すくなくとも気絶しそうになるソースではないな
確実にいえるのは
>>113 みたいな奴と
仕事はしたくないってことだな
こんな奴に限って保守しにくいコードを書く
自分の書いたコード全てを100%管理できる奴なんて
この世にいない
184 :
仕様書無しさん :03/07/30 03:28
Dim i As Long For i = 1 To 100 List1.AddItem (GetIniStr("ItaName", i)) Next
185 :
仕様書無しさん :03/07/30 04:39
なんで
>>167 はプログラマーに向いてないって思ったんだろ?
>>68 すんごい遅レスでスマソ。
確かにコンパイラは警告を出すかもしれないけど、
夜のこびとさんがその警告を読むかどうかは別の問題だと思う。
>>180 >>183 > 自分の書いたコード全てを100%管理できる奴なんて
> この世にいない
だからこそ、メモリリークや二重解放などのバグがあっても(一見)正常に
動いてしまうようなスタイルはやめるべきだと思う。
>190 言ってること自体は正しいが、それを180と183に向ける理由が分からん。
>>191 メモリを開放したあとにかならずNULLを入れるってのは、
「ロジックのミスで二重開放とかあっても動くから安全」という発想なんでしょ?
こういうバグがあっても動くような工夫じゃなくて、バグがあったら早期に
発見できるように工夫するってのが大切なんだけど。
>>192 NULLを入れておいたほうがバグの発見も容易じゃん。
C++の場合は二重開放に関してはdeleteの仕様上エラーが出ないけど、
既に開放されているオブジェクトを誤って使ってしまうというケースは
ほぼ確実に検出できる。
>>193 NULLを入れることによって、バグが発見しやすくなるってのは、
変数を使いまわして、どの状況でどういうインスタンスを指して
いるのか、分かりにくいとかそういう状況なのかなぁ。
教条主義的にNULLを入れるってより、そういうコードを改善する
ほうが先決だと思うけど。
以前どっかのサイトで紹介されてたひどいテクニックで、
malloc()で領域確保するときは、常に数バイト多めにサイズを
指定するってのがあった。
hoge = malloc(size + 5) みたいに。
オーバーランしたときの用心らしいけど、普通は、こんなことしないで、
オーバーランそのものをしないようにすると思うけど、ポインタに必ず
NULLを入れるってのは、このテクニックに通ずるものを感じるなぁ。
196 :
仕様書無しさん :03/07/30 13:24
>>192 メモリ解放後NULL入れるのは
二重開放があっても動くから安全だから
という理由でやってるんじゃないでしょ
それはポインタにNULL値がが入ってるかも
しれないことを前提にした狙った開放の場合だけ
たとえロジックのミスで二重開放があっても
NULL値が入ってるならコードとして冗長になってしまうだけで
バグではない。もちろん設計上の問題はあるかもしれないけれど。
一度開放したポインタを利用しようとした場合
NULLが入っていれば
>>193 が言うようにエラーの検出が
確実になるし、たとえロジックミスの二重開放があっても
NULL値が入ってるかどうかだけで分かるんだから検出は楽
でもポインタが不定のままそのポインタを利用するような
誤ったコードを書くと、それは再現性の低い、エラーの検出が難しい
バグになる
後のリスクを考えた場合、NULLを入れておくほうが明らかに
正しいと思うけど
>>195 assert()とか使ったことないの?
NULL入れといたら assert(p) とかできるだろ。
効率の良いバグ発見方法なんだよ。
VCをCとして使っている奴に何話しても無駄
VCもassertは使えるし、MFCのソースなんかASSERTだらけですが…。
201 :
仕様書無しさん :03/07/30 15:14
どでもいいけどCVSってなによ・・・。 使ったことないの。おせーて。
202 :
仕様書無しさん :03/07/30 15:21
>1 ヘッダーファイルに記述されてる別のヘッダーファイルを 探していて 途中でフッととぎれたようにファイルが 見つからなくなったとき
NULLを入れなかったらどうやって有効なインスタンスか判断するんだろう そもそもそんなことしないとか言いそうだが。
>>203 このスレの上のほうでNULLを入れるって言ってるやつは、文脈にかかわらず、
メモリを開放した後はかならずNULLを入れるって言ってるわけでしょ?
>>204 文脈にかかわらずではなく、ポインタを使いまわす場合の話だよ
208 :
仕様書無しさん :03/07/30 18:49
>>204 文脈にかかわらず、ポインタに NULL を代入しなきゃな時は
設計しなおすんじゃないの?
しかし、
>>192 が『assert』っつった瞬間に
assertネタが連発されるのも、アレだな。まさに。
何?
文章であれこれ説明せずにさっくりと簡単なプログラム例を 上げて説明するのがカッコイイプログラマじゃないの? というわけで、NULL代入のメリットがわかるプログラムをキボンヌ。
むしろメリットがわからない人のプログラムをキボンヌ。
assert使うのに便利だし。サンプルなぞなくても十分な理由だと思うが?
>>214 十分だということがわからん人がいるのですよ、
それをうまく説明できるプログラムをキボンヌ。
216 :
仕様書無しさん :03/07/30 22:06
ポインタにNULLが入ってたらエラーっつうのはmallocの戻り値がエラー時はNULL っつーのと結びつくものがある。 ポインタがNULLならデバッガで見たとき、明らかにおかしいと判るだろ? まあ、デバッガでポインタ内容を見ればNULLじゃなくてもおかしいかどうかすぐ わかる、もしくは、デバッガなんか使わないっつーなら、必要ないかもな。 ちなみにオレはポインタが無効な場合はNULLを入れて渡すというルールでC言語で プログラム組んでるよ。 メリット? これやるようになってから、アドレスエラーの遭遇率がとてつもなく低下したな。
まぁこれだけ議論になるって事は気絶するほどのソースでもない。
>>216 > ちなみにオレはポインタが無効な場合はNULLを入れて渡すというルールでC言語で
> プログラム組んでるよ。
これは普通だろ。
今の話は、メモリを開放したら、それを指してたポインタに無条件に
NULLを入れるスタイルが有効かってことだろ。
クダラネー話延々とすんな 結論 その状況ではNULLを入れることに意味は無い。 ただ、いちいち目くじらを立てるほどのことでも無い。
〜1001ストッパーが壊れた!?〜
科学板のとあるスレで、1001ストッパーが壊れ
1001以降もまだ書き込みできている模様。
1001 名前: 1001 投稿日: Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1006 名前: オーバーテクナナシー 投稿日: 03/07/30 06:25 ID:Z0CeMHS7
何これ
1014 名前:オーバーテクナナシー 投稿日: 03/07/30 09:25 ID:AxlwdY4A
お〜い、まだ書けるぞ?
−書き込みは1300レスを過ぎた今も続けられている。−
1305 名前:オーバーテクナナシー 投稿日: 03/07/30 20:25 ID:???
てか1300くらいじゃ驚かないな
過去には実際に15000越えたことあったからな
●最もレス数の多いスレ
ギガウイング2
1位 15535レス(1001ストッパー導入後→5904レス)
↓のスレに直行し、2ちゃんねるの歴史に名を残そう!
http://science.2ch.net/test/read.cgi/future/1059322332/
NULLを入れるよ派でポインタの使いまわしだの二重開放だのの話なんて してる奴いないのに(>193にもあるように二重開放の検出に対しては 無意味)、入れない派の人達はやけにそこにこだわるね。 >213,215 数万行以上の規模のプログラムを書いたら分かるよ。 ここにはちと載せられないがね。
ああ213は嘘、ゴメンナサイ。
とりあえず、デストラクタでの解放後に代入するのを肯定してる奴はアホだろ。
>>224 どの書き込みに対するレスだ? ってそれはさておき。
「解放後はNULLを代入」っていうことを意識して習慣付けている
プログラマならそういうコードを書くことはありうる。
確かに無意味だが、それがパフォーマンスに影響を及ぼすこともあまり無かろう。
個人的にはデストラクタでまでってのは推奨はしないが、別に問題とも思わん。
結局、ここまでくるとほとんど趣味の領域だな。
つまりdeleteしたポインタにNULLを入れるなってこった
おまえらauto_ptr使え。
ポインタ変数を使いまわすような設計をしないのと、解放後 NULL を入れるような 予防的プログラミングは競合しない。両方やっとけば良いと思うが。
不定のポインタを見るとほっとけないたちなの。
auto_ptr坊キター!
俺は常に処理が例外にジャンプする可能性があるとしてコーディングしてる。 だから例外処理でfclose()してるなら、正常処理のfclose()の直後でreturnする 場合でもfpにNULLいれとく。
設計時には予期しなかった状態が発生した時に、 それを設計ミスだと考えたのは前世紀のお話だよね。
>>55 うちなんかこうだ
fp = NULL; /* ポインターを初期化する */
fp = fopen(...);
無駄だが害は無いし、その無駄ってのも実行速度とかに 大きく影響するようなものでもないから、そんなことを いちいち気にするより別のことに集中力を注いだほうが いいと思うが。
>>235 そのとおりなんだけど、例えば
>>234 みたいなコードに出会うと
「なんだこりゃ?」と、集中力がプッツリと切れるわけで。
プログラム上で開放したかどうか判断するのにNULL代入使ってる その場合無駄じゃないと思うんだけど。
>>234 >/* ポインターを初期化する */
なんて無意味なコメントなのか…。
「見ればわかる!ボケが!」
と言いたくなる。
>>238 プログラマに向いてない
ポインタにNULLを入れる奴は馬鹿
ポインタにNULLを入れるなんて、 まともなソースかけない証拠。BASICがお似合い
242 :
仕様書無しさん :03/07/31 16:36
>>240 FILE* datafile = NULL;
do{
if( NULL==(datafile = fopen( 〜 ) ) break;
if( syori1(datafile) ) break;
if( syori2(datafile) ) break;
if( syori3(datafile) ) break;
}while(0);
if( datafile ) fclose(datafile);
printf("処理終了!");
↑こういう状況で使えるじゃん。
ファイルのオープン失敗、syori1〜3のどこで落ちようとも、ちゃんとfclose⇒終了通知してくれる
こう書かないと毎回、syori1〜3がエラーを返したときfclose⇒終了通知とか書かなきゃならないし
この方法以外に効率がよいやり方があれば逆に聞きたい。C++使えってのは抜きで。
244 :
仕様書無しさん :03/07/31 17:17
delete全く無しはヤバイの?
>>239 わかるなぁそれ。
あと↓こういう変数名を単に日本語にしただけの奴。
int errcode; /* システムエラーコード */
int errmsg[256]; /* システムエラーメッセージ */
#define ABC_PRODUCT "ABC企画" //プロダクト名
#define ABC_SYSCODE 1 //システム識別コード
「フーン( ´_ゝ`)。それで?」といいたくなる
まあ、糞コードというわけではないけど意味ないよね。こういう説明。
>>244 どういう理由でいってるのかわからないけど、
軽い処理してすぐ終了するプログラムならいいでないの?
鯖とか起動しっぱなしのプログラムだとはやばいけど。
自分のコードすらまともに管理出来ない屑がポインタにNULLを入れる
>>243 の最初のif文を見ると、==の左辺と右辺を逆に汁と言いたくなる。
漏れ的にはスッゲー気持ち悪い。
間違って代入記号を書いちゃうバグ回避策って奴だね。 単純ミスって誰でも起こりがちだから、そういう習慣に口出すのは野暮。
コンパイラの警告レベルをあqwうぇいpwwgとかんかいっ!
>>248 バカの一つ覚えだな、デバッグ以外でも使える場合はあるというのを認めないわけ?
自分のコードをマトモに管理出来てると思い込んでるバカが一番怖いよね。 自分の程度を知り、ミスの予防策を講じる人のが管理はシッカリしてるよなあ。
自分の程度を知り、ミスの予防策を講じる人のが管理はシッカリしてるよなあ、
と自分のコードをマトモに管理出来てると思い込んでる
>>253 が一番怖いよね。
まぁ切り返しで自分のバカを晒すと目も当てられないという典型だな。
>>254 管理出来てるとは思ってないからミス予防しようとしてんだろ?
矛盾してないか?
おまえらそろそろスレ違いだってわかってますか?
>>250 そのテクニックは読みにくくなるだけで、意味がないって考えてる人が多数派だね。
>>252 ポインタが無効であることを示すためにNULLを入れるのがおかしいって
言ってるわけじゃなでしょ。
いわゆる「予防的プログラミング」のつもりでNULLをいてれるのが
間違ってるって言ってるじゃないの?
260 :
仕様書無しさん :03/07/31 22:16
void mein() { print("hoge\n"); }
>>245 javadocやdoxygenのために、とりあえず書いておく……とか。
NULLなんか代入しててもよくわからんから、 hogepointer = (hoge*)0xDeadFace; とかじゃダメポ?
個人的に0xDEADBEAFのが好き。
趣味だよ趣味
なんでNULLいれたがんのかな〜。 と蒸し返してみるテスト
266 :
仕様書無しさん :03/07/31 22:45
VBのソース全般。 最近VBで作られた糞シスのデバッグ作業を延々やってる。 再現出来ないバグとか、潰しようないよ。 全部捨ててDelphiで作り直したほうがぜってぇ早いと思う。 100以上のクライアントに配布するアプリをVBで作ること自体 アホだよな。。。
267 :
仕様書無しさん :03/07/31 22:45
NULLネタは別スレ立てれば?
271 :
仕様書無しさん :03/07/31 22:55
>>268 ,270
266じゃないけど、俺にはよくわからん。
画期的な代替策でもあるの?
272 :
仕様書無しさん :03/07/31 22:56
> 100以上のクライアントに配布する・・・ Webアプリ構築しる。
シュッ シュッ ( 'A`) (ヽ♂彡 」 」
>>271 それ以前に、VBのソース全般が糞ということは自分が書いているソースも糞なわけで。
VBのせいならそれ以上改善できないはずなのに改善しているわけで。
100以上のクライアントに配布するアプリをDelphiで作ってもアホなわけで。
まぁ。矛盾と言うか勘違いと言うか話にならないと言うか。
いや他人が書いた元々のソースが糞だと言ってるんでしょ。
277 :
仕様書無しさん :03/07/31 23:12
だから、Webアプリ構築しる。
配布は簡単かもしれんが構築はめんどくさい。
>>276 そうそう。だから自分の周りにいる奴は糞となるべき。
自分がVB使ったら糞になるとか
自分の周りがVB以外を使ったら糞じゃなくなるとか
どう考えてもおかしいでしょ。よくいる勘違いさんさ。
281 :
仕様書無しさん :03/07/31 23:22
配るんじゃなくて、取りに來させるわけね。
まあでも確かにVBのソースってのは初心者やら元コボラーやらが書いた 物に当たる可能性が高いから気絶しそうなソースも多い。 「VBなら誰でも書ける。」そう標榜してる所ほど誰にも理解できない ソースを大量に抱えている。愚痴りたくなる気持ちもわかる。
愚痴です。 他人のソースをケチ付けるのは良くないことだとは思うけど、 これは酷いといったレベルだったのでつい愚痴ってしまった。 ちなみにみんなが指摘しているWeb化だけど、当然俺もそう思うよ。 だけど、ユーザに予算が無かったり、2年くらい我慢してこの糞シス使って るとか、いろいろ諸問題抱えててC/Sでやるしかないらしい。もうだめ。 再現不能なバグなんざ、ほとんど環境依存がらみ(だと思う) なんだよ、あの馬鹿でかいEXEはよ。。
EXEの大きさならDelphiの方が大きくなる。
>>283 ランコストが減るものでないと予算はつかなさそうだな。
286 :
仕様書無しさん :03/07/31 23:46
俺の側で、中国人共がべちゃくちゃ怒りながら、日本人が造ったソースの 解析をしているみたいだが、お前等静かにしろってんだよ。 お前等が気絶しそうになっているのは解るが、俺だって同じなんだよ。
287 :
仕様書無しさん :03/07/31 23:47
パッケージ使えば小さくなる。
それでVBと同等ね。
266が真性なのか、釣りやってるのか、さっぱり読めないんだけど。
291 :
仕様書無しさん :03/07/31 23:52
.NET Framework ならもっと小さくなる
実現したい機能を削ればもっと小さくなる
真性だよ。もちろん。そりゃみんなに比べりゃレベルは低いかもね。 明日もまったく構造化(もちろんオブジェクト化も)されてねー ソースをデバッグすると思うと鬱鬱鬱 つーかVBてクラスの継承出来ないなんて今日知ったよ。 あ〜あ。先が見えん。 だめだ。もう寝ます。
作らなければ0になる
>>293 > 明日もまったく構造化(もちろんオブジェクト化も)されてねー
やっぱりVBの限界じゃなくてあんたの周りのレベルが低いようだな。
> つーかVBてクラスの継承出来ないなんて今日知ったよ。
ついでにインターフェースの継承は出来ると覚えておけ。
多態等は実装できるから。
>>295 >やっぱりVBの限界じゃなくてあんたの周りのレベルが低いようだな。
いや、こんなところで愚痴ってる俺もレベルは低いね。
今までVB嫌ってまともにやってないからね。ツケがまわってきたと
思って開き直るしかねーなこりゃ。
皆さんさっくり無視されてますが、
>>239 つっこみどころはそこじゃねーだろ(w
>>267 つか、ここ自体がそもそも重複スレなんだから、このまま
ぬるぽスレってことにしてしまえばいいんでない?
プログラム内で長いSQL書くときに1行で書いちゃうヤシ嫌い
299 :
仕様書無しさん :03/08/01 00:18
i++; // iをインクリメント
int employee_id; // 従業員コード
301 :
仕様書無しさん :03/08/01 00:22
>>298 俺は外部結合とかUNIONとか使ってる長いクエリー自体、理解できましぇん。
処理を日本語に直訳しただけのコメント見ると、 気絶はしないがファイル削除したい衝動にかられる。
303 :
仕様書無しさん :03/08/01 00:26
299や300みたいなコード書かせてる組織では レビューが行われていないと思う。
>>301 自分も。
クエリアナライザとかオブジェクトブラウザにコピペして見ないとわからない。
つーかそれしてもわからない。
>>266 もしかしたら
dim intVar1, intVar2, intVar3 as Integer
とか書いてるために,実は intVar1 と intVar2 が variant 型になってて
それで挙動が不審なのでは? 生粋の C/C++/pascal/java 使いがはまる罠だよね。
漏れはこれを知った瞬間に目に涙をたたえた。笑い
C言語でデータがすべてGLOBALでしかも構造体アクセスに 一切ポインタを使用していないソース
でかい構造体またはクラスの実体がごく自然に 関数パラメータとして渡されているソース。
309 :
仕様書無しさん :03/08/01 11:22
Cにて関数定義を行う際、 fncAAA( char *cAAA, char *cBBB)と書いておきながら、 関数内では cAAA の値が変更されていない。 const 付けろよボケ、常識だろうが。
Cにてmainの引数を宣言する際 int main(int argc, char **argv)と規格書では書いてある。 argvの値が変更されないプログラムの場合は やはり、constを付けるのが常識なのであろうか?
const をつけるとコンパイルできなくなるとか const をつけると関数内で変なキャストが必要になるとか
>>298 俺も嫌いなんだけど文字列の結合やってると処理速度が落ちるから
一行で書けってなってる。ウチの会社
>312 それを突き詰めていった結果 インスタンスの生成/解放はコストがかかる処理だから、オブジェクト指向プログラミングは糞 ってな事になったりしてなw
>>312 >const をつけると関数内で変なキャストが必要になるとか
constがついてないと関数外で変なキャストが必要になるじゃん。
内部に納まってる方が余程マシだと思うが。
315 :
仕様書無しさん :03/08/01 13:02
if文のネストが10階層以上あった。怖くてそれ以上数えられなかった。
316 :
仕様書無しさん :03/08/01 13:13
>>312 実際には数万回ループしてやっとミリ秒レベルの差が出る程度の遅さなんだけどな。
言語や実行環境によるけど。
C/C++の場合だと文字列リテラルは複数行にまたがっていても コンパイル時に結合されるんで実行時には影響ないんだけどな。
>>312 変数名もできるだけ短くした方が高速化されるぞ。これホント
コメントも無いほうが速い。
行番号は小さくしたほうが速い
プログラムは書かないほど早い
323 :
仕様書無しさん :03/08/01 15:26
あのなぁ、そもそもSQL文をハード・コーディングしようって発想自体が 気絶もんじゃないか?DBMSが変更になったらどうすんのよ。 (例えばEJBのBMPだったらDDに記述するじゃん。ああゆう感覚よ)
コメントに俺の悪口が書いてあった。。。
>>316 (´-`).。oO( 1行に書けるSQLなら、行を分けて書いてもコンパイル時に... )
インタプリタ使ってる人なのかな。
318で外出だった... ちなみに Javaもコンパイル時に結合してくれます。 死にたいです。死のう。
>Java 【遅い】 str_sql="SELECT * "; str_sql+="FROM TABLE"; 【早い】 str_sql="SELECT * "+ "FROM TABLE"; てことでわ?
Javaってこういう書き方できないんだっけ? str_sql = "SELECT * " "FROM TABLE";
>>330 Javaでは無理だけど、C#ならこう書けるね♪
str_sql = @"
SELECT
*
FROM
TABLE
";
332 :
仕様書無しさん :03/08/01 21:35
mov al, [ esi + 7] rol eax,16 mov al, [ esi + 7] movd mm6,eax xor eax,eax mov al, [esi + 3] rol eax,16 mov al, [esi + 3] movd mm7,eax punpckldq mm7,mm6 ↑こうなってたのを ↓こうしたらメチャメチャに怒られた こっちの方が読みやすくねー? movzx eax,[esi + 7] movd mm6,eax punpcklwd mm6,mm6 movzx eax,[esi + 3] movd mm7,eax punpcklwd mm7,mm7 punpckldq mm7,mm6
333 :
GET!DVD :03/08/01 21:38
>>312 そーゆー処理速度が問題になる書き方していること自体、
問題である。
>>337 movzxはPentium以降じゃなきゃ使えないから
互換性のない糞みたいな修正するんじゃねぇ!ってさ。
だったらMMXを普通に使ってるアンタは何なんだYO!!
MMXってi386とか8086でも使えんのか?どうなんだYO!!ファッキンボーイ!!
と言いたかったが上司なので言えず終い。
∧_∧ ( ^^ )< ぬるぽ(^^)
>338 本当に使ってるの?>その上司 ソースみせてみ?
>341 スマソ
>>332 読みやすい上に高効率。
その上司を殴って良し。
∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
なぁ、そろそろ気絶してもいいソース出してもいいんじゃないか?
なら俺が。ある後輩のソース。 for ( ii = 0 ; ii < 10 ; i++) { /* 処理 */ ・・・ if ( ii == 9 ) { break; } } 一瞬目の前が暗くなった。 あんまりなんで逆に何と言えばいいかわからなくなった。 まがりなりにもPGにこんなこと指摘したくない。 そもそも、こんなこと書くやつに俺の言葉が通じるのか不安。
>347 iiはいつ足してるんだ?
12000行あるうちの5000行がコメントのソースには笑った。 そのコメントには仕様について延々と記述されている 仕様書にかけよ
>349 そう断言するあなたはかなり無知。
>>350 うーむ。
ソース公開当時のNetscape Navigatorが
こんな感じのソースリストだったのを思い出したよ。
353 :
仕様書無しさん :03/08/02 22:22
>>351 まぁ、そうだな。
コメントをよく見てみないと何とも言えないよな。
もしかしてタグ付けしてあるのかもしれないしな。
だとしたら、ツールか何かで仕様書やコンテナ配置定義なんかを
自動生成できるのかもしれないしな。
5000行のコメントは内容によっては必要。 5000行のコメントアウトだったら、残しておく意味がわからない。
>>351 >>353 おお、言われてみるとそんな感じかも。
なにか一定のルールにそってコメントが書れています
Cのソースなんですけど、関数ヘッダだと /*%。 長文説明だと /*%% で始まってます
なにか文書の自動生成ツール用でしょうか?
ソースは非常に見せたいけど、ちょっと見せられませぬ
>>354 最初7000行がソース。
それにとってつけたように5000行の仕様書みたいな文章が書かれています
コメントアウトではないです
ああ、みせてぇなぁ。この延々と同じ事繰り返しのソース
スクロールしてんだかしてないんだかわからないよ
>>355-356 ツールか何かはともかく、明らかに何らかの規約に従って
書かれているじゃん。
後ろについているならソース本体を読む邪魔にもならんから
その規約自体もさほど悪いとは思わん。
「同じこと繰り返し」ってのがプログラム記述の方の話なら
それはそれでDQNだが>349とは別の話だし、
説明の中に似たようなことが繰り返しあらわれるのは
プログラムの性質または説明の書き方の規約によっては仕方が無い。
ただ、明らかにプロジェクトにその種の規約があるのに、
そのプロジェクトに関わる君がその規約を知らないらしいという点は
笑えるな。
>>348 break判定は、ループ処理末に書いてあるんだから
ループの途中でiiを加算している可能性があっても
意味ないんじゃないか。
>358 あー、いやぁ、そーいうことじゃないと思うよー。 言葉通りの意味だけとられても困るんじゃないかなー。
失礼。訂正。 > for ( ii = 0 ; ii < 10 ; i++) { for ( ii = 0 ; ii < 10 ; ii++) {
361 :
仕様書無しさん :03/08/03 04:02
人のソースにケチつける奴は ちょっと偉そうになった2、3年生が多いよね 特に偽装派遣社員で自費で何冊も本買い込んで頑張っちゃうタイプ 数年後にはポイされちゃうのに・・・まあ、頑張ってね
362 :
仕様書無しさん :03/08/03 05:30
NULL なんてさ、 if(m_Foo == 0) { /* this-> */ DoSomething(); } else { m_Foo->DoSomething(); }
365 :
名無し@沢村 :03/08/03 12:54
>>363 ヌヒよ、訴えたいことがさっぱり分からんよ
>>357 「同じこと繰り返し」ってのはプログラムの記述です
たしかに
>>349 とは関係ないですね
ソースがひどいので、いろんなところにケチつけたくなってしまったんです
あとこのソース、他人からもらっただけだからプロジェクトには関ってないです
今日も暑いなぁ。
368 :
仕様書無しさん :03/08/03 19:22
>>365 Template Method のことだろ。
369 :
仕様書無しさん :03/08/03 19:23
>>361 > 特に偽装派遣社員で自費で何冊も本買い込んで頑張っちゃうタイプ
えー?
自費で本買ったりしないんだ。。。
371 :
仕様書無しさん :03/08/04 01:46
なぜかというと、 俺 は 3 年 目 に し て 1 0 万 以 上 技 術 本 に 費 し て る か ら だ 。 因 み に 、オ ラ イ リ ー ・ ジ ャ パ ン が 飯 の 種 で す 。 し か も 、 偽 装 派 遣 だ か ら だ 。 なんだか泣きたい気分になってきた。努力ってなんだろ。
3年で10万円分って少なすぎねぇ?
月に一冊ずつ買えば、三年で10万くらいにはなるな。
そうなの?正確には13万弱なんだけど。 1冊5000円だとしても26冊だよ。 値段と内容は比例してないかもしれないが5000円の本ってそれなりの内容だべ。
俺もオライリー信者なんだけど、版が変わると買い替えるし。 噛み砕いた説明の書籍は解り易くていいんだけどやっぱりオライリーに行ってしまう。
1冊2万とかあるよ
すまんが、精読してると思われる。 どこに何が載ってて、何を扱っているかだいたい把握してる。
本って高いよねえ。 会社騙して個人用の本を買わせる方法って無いかな。
382 :
仕様書無しさん :03/08/04 02:11
1冊2万って何の本?Amazonで晒しておくれ。
漢字コードの本じゃね? > 2万の本
>>380 てことは版が変わる度にこんな状態↓か?
_| ̄|○
スレが違う方向に言っているが
>>361 に誰も賛同しておらず、
むしろ本を自費で買うことは常識とばかりに言われているのが笑える。
Javaクックブックは重宝してる。Java使ってる人にお勧め。 オライリーの中でラクダ本の次に一番良書なのかもしれない。
おれは研修費を書籍代にしてるぞ。 上司には「本のほうが役立ちますから」って言っておいて、買ったら事後に領収書を提出。 研修なんて行く時間ないし、俺にとっては書籍の方が断然役立つし。 研修で15万使う金で書籍がどれだけ買えることか。 最近は amazon.com を使うようになったんだが、これがなんか領収書を出しにくい。
>>387 うちは部署のみんなで海女存のアカウント共有してる。
経理も購入履歴みて事務処理してる。
389 :
仕様書無しさん :03/08/04 06:33
俺は昔ほどコンピュータ関連の本を買うのは減ったな。 だいたいWebで情報引っ張ってシステムをでっち上げてるよ。 それより、簿記・経営・法律(商法・民法)・人材・etcの本が急激に増えたよ。 独立まであと1年、、、、ってとこですな。
391 :
仕様書無しさん :03/08/04 10:30
>>389 簿記を勉強しても、数えるお金がないとか。
経営の勉強をして経営計画書を作っても、実行する資本がないとか。
会社を登記しても、集客ができないとか。
393 :
仕様書無しさん :03/08/04 20:09
>>392 実際のところ、独立起業しようとして簿記の資格や中小企業診断士(かなり難しいよ、マジで)
の資格を取って、そうなってしまう人が多いんだよ。
資格を持っているとかやる気があるとか 起業するのに必須な条件だと思うけど、 それだけじゃダメだからね。
経営者になりたい奴が簿記の資格取ってなんに使うのよ。。。
396 :
仕様書無しさん :03/08/04 20:33
extern ULONG GCntrRC32; UINT CAFF027A5::FRFFMT305AR( CCNTR012P *pCCntr012P, CGMDBA079D *pCGmdba079d ) { INITIALIZE_TCCN2( pCCntr012P ); for ( pCCntr012P->ivalGsz02c = DEF_IVALFCC0 ; pCCntr012P->ivalGsz02c < GCntrRC32 ; ADD__TCCN2( pCCntr012P->ivalGsz02) ) { pCGmdba079d->PMAGS092A( pCCntr012P->ivalGsz02c, &pCCntr012P->vvalPcz02o,TRUE ); ・・・・・・・・ すまん、 GCntrRC32が何処かで宣言されてるULONG型のグローバル変数なのと ソースはC++なのと、何かがループしている以外の事はさっぱりわからん。 あ、変数/関数早見表があるのね。 しかも手書きなのね。
オレは本を全く買わないなぁ。
まぁ1年目の時は買ったけど、「初めてのC」みたいなやつとか。
今はわからないことがあればMSDNかネットで検索して、
後に利用できそうであれば、HTMLやテキストとして保存してる。
まぁ保存も適当に行っているので、その中から検索するのもなにげに手間取るが・・・。
>>349 仕様とかファイル入出力なんかは、別に.txtにまとめて、
同一のワークスペース(プロジェクト)に突っ込んでたりする。
同僚等からはなかなか評判がいいけど、ホントはいけないことなのかな。 <ソースファイル以外を突っ込む
>>396 よく知らんけど、変数自動作成・管理のスクリプトかなんかじゃないのか?
手書きの変数表なら違うか・・・
>>397 漏れと同じだ。
本だと自分の知りたいことがどの部分に書いてあるかすぐに見つけられないけど、
ネットだとすぐに調べることができるからね。
本は大体、新しい言語をやり始めたときとか、右も左もわからない状態のときに買います。
>別に.txtにまとめて、 同一のワークスペース(プロジェクト)に突っ込んでたりする。
目につくし、なかなかおもしろいアイデアですね。(それいただいとこ
>>396 すごい。FRFFMT305AR って新型VAIOの型番みたいじゃん
全部見てみたい
>396 これは、あー、あれだ。産業スパイにソース盗まれても被害を最小限に 抑えることができるセキュリティ感覚に溢れたプログラムなんだよ。 ほら、古いことわざにもあるだろう、「敵をだますにはまず味方から」と。
402 :
仕様書無しさん :03/08/05 00:12
>>395 会社を起こしたばかりで、まだ家業みたいな状態の時には役に立つことがある。
数えるお金(利益)が出た場合。
>>395 簿記の資格そのものはまあほとんど使わんだろうが
経理の常識は一通り勉強する必要はあるから、
その勉強の目安としてちょうどいい資格なんでないか?
個人事業主(フリーSE)なら、簿記2級程度に該当する知識はないと、 あとで困るぞ。
>>402 >>405 >>406 オレもフリーだが自分で経理はやるし、申告も自分でやる。
けど資格を欲しいと思ったことはないし、必要以上に詳しく
なりたいと考えたこともない。
408 :
仕様書無しさん :03/08/05 03:14
>>406 個人事業主なら、青色申告会に入れば、無料で複式簿記の付け方を教えてくれるから、
そんなに詳しくなくても大丈夫。
>>408 無料だが青色申告会の年会費払わなきゃならん
>>396 かっこいいな。俺が幼い頃あこがれていたプログラムはまさにこれだ。
プログラムのなかに、
if(seramun_flog == '1')
とか書いてあるのは何か違うとおもってたんだよ。
>かっこいいな。俺が幼い頃あこがれていたプログラムはまさにこれだ。 いいこと言うなぁ。 俺もそうだ。 実際にプログラムを書くと、なんかメタファばっかりで... 特にオブジェクト指向プログラム。
411 :
仕様書無しさん :03/08/05 10:21
>395 最初の頃は、人を雇う余裕なんかないから、必要。
>>411 いらんよ。
人を雇うような余裕が無いなら、帳簿付けるのも楽だろ。
だいだい免許でもないのに、なぜ資格にこだわる?
まだ必要の無い知識詰め込む時間があるなら本業に精出したほうがいいだろう。
脳内経営者か?
>>412 資格にこだわる必要は無いけど、自分の知識がどの程度かを
客観的に把握する手段として資格試験を利用するというだけなんだが。
君みたいな手合いが一番怖いな〜
プログラミングであれ経理であれ何であれ、中途半端な知識しかないのに
客観的な評価を拒否して「必要なだけの知識をもっている」と
確信している人間は、単に無知な人間よりもたちが悪い。
414 :
仕様書無しさん :03/08/06 00:07
無知の知
ムチムチ
_、_ ( ,_ノ` ) ムチムチ いい響きだ・・・
>>361 は、あれだな。
「C++なんて勉強しなくてもわかる」って言ってる糞PGだな。
お前、ケチつけられたら「偽装派遣社員のくせに」って、
心の中で思ってるタイプだろ(笑)
偽装派遣社員より技術低いくせにな・・・
そういうことでしか気を紛らわせられないんだよな。
お前の発言は見当はずれもいいとこだよ、かわいそうに。
2ちゃんはお前みたいなバカが来るとこじゃね〜よ。
と言ってみよう。
>>413 >客観的に把握する手段として資格試験を利用するというだけなんだが。
すでに実戦経験してるのに客観的な判断をする場など必要無い。
経験の無い奴が不安になってるだけ。
君みたいな手合いが一番怖いな〜
プログラミングであれ経理であれ何であれ、経験も無いのに
実務経験者を否定して「資格を取れるだけど知識が必要」と
確信している人間は、単に無知な人間よりもたちが悪い。
419 :
仕様書無しさん :03/08/06 01:09
中庸
420 :
仕様書無しさん :03/08/06 01:12
421 :
仕様書無しさん :03/08/06 01:20
>>421 口だけの奴になんと言われようとかまわん。
424 :
仕様書無しさん :03/08/06 01:30
>>423 ここは 2ch だぞ。
もっと必死になれ!
>>418 >すでに実戦経験してるのに客観的な判断をする場など必要無い。
ワロタ。言い切るか〜
まあ、派遣社員の面接ならそれで通るよね。
426 :
仕様書無しさん :03/08/06 01:35
>>418 経験は主観でしかない。
主観only=ひとりよがりetc.
客観only=机上の空論etc.
よって、極端はよくない=中庸ということでよろしいか?
ソースじゃないけどこれ読んで気絶しそうになった… ------------------------------------------------------ ある日の夜中、蒸し暑いからか浅い眠りでした。 夢か現実か、顔のあたりがこそばゆかったのを覚えています。 その瞬間ふと「ガリッ」っていう音がしたんです。 音がしたも何も、それは私の口元からでした。 何かを噛み締めたんですね。と途端に目が覚め、そして口の中には、 青臭いような油っぽような味わったこともないような不思議な味が・・・ 口元に手をやると、細いギザギザしたものがいくつも。 絶叫を聞きつけた家族が飛んできました。 口の中全部が口内炎になるまでハミガキとイソジンしました。 改築する時に住んでいた、古い借家での思い出です。
>>424 ネタとして面白くない。
>>425 資格を取って対外的に証明しなけりゃならない内容では
ないから。
>>413 でさえ「自分の知識がどの程度かを」
と書いておる。
お前ら奴隷とは違う考え方しないと生きていけない。
そもそも、このネタの始まりって「そろそろ独立するための 準備として云々」で無かったか、たしか? 未経験者が実務に入る前に、って話なんだから 机上の空論でも何でもやっておくことは良いことだと思うが? 412=418=428は何を必死になっているんだ? 何か経理系の話にコンプレックスでも持ってるのか?
>>429 必死に見えるなら、これでやめとくか。
ただね、経理や会社設立の手順勉強するなら
先にやらなきゃいけない事が沢山あると言いたかっただけ。
スレ見直したら同様の事をオレではない
>>391 が書いてた。
>未経験者が実務に入る前
心配しなくても実際に初めてしまえば嫌でも覚える。
なんせ、こなさないとメシも食えない。
431 :
仕様書無しさん :03/08/06 02:13
#if 0 ある日の夜中、蒸し暑いからか浅い眠りでした。 夢か現実か、顔のあたりがこそばゆかったのを覚えています。 その瞬間ふと「ガリッ」っていう音がしたんです。 音がしたも何も、それは私の口元からでした。 何かを噛み締めたんですね。と途端に目が覚め、そして口の中には、 青臭いような油っぽような味わったこともないような不思議な味が・・・ 口元に手をやると、細いギザギザしたものがいくつも。 絶叫を聞きつけた家族が飛んできました。 口の中全部が口内炎になるまでハミガキとイソジンしました。 改築する時に住んでいた、古い借家での思い出です。 #endif
ムカデを食べるとは、よほど腹減ってたんだな
カマドウマじゃないか?
ギザギザハートの子守歌
なんだコオロギだったのか。つまらん。
>>431 生では少し衛生面に問題があるからな。
イナゴみたいに手足を取って佃煮にするとけっこううまいよ。
デスマ現場を応援に行ったら、DBの仕様書で、 BIKOU_TEXT_1 備考1の内容です。 BIKOU_ID_1 備考1のIDです。 BIKOU_TEXT_2 備考2の内容です。 BIKOU_ID_2 備考2のIDです。 : BIKOU_TEXT_10 備考10の内容です。 BIKOU_ID_10 備考10のIDです。 というような感じの説明が色々な所にあった。 "BIKOU_TEXT_N 備考N(番号 N=1〜10)の内容です。"とまとめて書けば良いと思うんだが、 こういうもんなのか? 俺はまだ経験浅いからわからねぇんだが。
>>439 コードの中でその種のことをやるのはアホだが、仕様書とかではありがちだ。
成果物としての書類をキログラムで測る顧客というのが実在するからな。
>>440 成る程。そこでは担当者は顧客の言いなりになっていたな。
別に顧客は普通の人で、無理矢理我を通すような人でもないのに。
担当者は主任なのに俺たち新人にさえ頭を下げまくってたな。
力任せ(と、うちの上司が文句たれてた)のシステムだったし、
後ろで見ていたら、バグを直す為に凄い勢いでコピペコーディングしてた。
Excelで使われていたマクロでさえ自動記録のメチャクチャなものだった。
俺たちはピークが過ぎたので帰ったが、またトラブルが起こるのは必至だな。
確かに仕様書はそんな形式もありだな。 Nってなんだって説明をするよか間違いはない。
あ、資格を取る必要はないな
445 :
仕様書無しさん :03/08/09 11:40
・ ・ pt = null ; // ←ほんとは要らないんだけど一応(^_^;) ・ ・ とか言い訳をコメントで書いてあるソースw
>>445 要るだろ。ミスって使うのを防ぐために。
またその話か
>445 全ての行にそのコメントを振ってあれば尚良いであろう。
struct hoge{ char jancd[13]; /* JANコード */ char jannl[1]; /* JANコードの終端NULL文字 */ char syohincd[8]; /* 商品コード */ char syohinnl[1]; /* 商品コードの終端NULL文字 */ }; どういう風に使いたいんだかわからんですよ?
>>446-448 あっと、例が悪かったな・・・
そうじゃなくて、コメントに言い訳やら顔文字やらが書いてある、ってことを言いたかったわけよ。
ポインタの件は関係ないの。
ボインタンまだ〜?
>>449 なんとなくわからなくもないが…
構造体のアラインメントを教えてやれ。
>>455 なんとなくpragmaに詳しいやつなんじゃね?
書き込みのオーバーランはしないもんだと思っているのではないかと。 でも、NULL文字は知ってるんだよなあ。なんだろう?
458 :
仕様書無しさん :03/08/09 22:39
for(i=0;i<strlen(buf); i++) if isdigit((int *)&(buf+i) )== 0 ) { return BAD; } memset(buf, 0x0, 1); こんなのばっかり、
charだけの構造体でアライメントでずれる実例ってあるかな 仕様の話とは別に
460 :
仕様書無しさん :03/08/10 13:16
ここの書き込み、CとかC++ばっかな。 おまいら、まだそんな言語やってるのかよw
461 :
仕様書無しさん :03/08/10 13:30
>>460 素直になれよ。COBOLのソースしか読めないんだろ。
>>460 おまい、まだCもC++もわからないのかよw
>>460 おまい、まだCもやったことないのかよw
465 :
仕様書無しさん :03/08/10 15:24
>>449 449の言っている意味がわからんので教えてくれ。
>>465 さあ?終端文字用の領域をいちいち確保してるからかな?
これ↓
char jannl[1]; /* JANコードの終端NULL文字 */
>>460 >ここの書き込み、CとかC++ばっかな。
>おまいら、まだそんな言語やってるのかよw
>>460 の心中は
ここの書き込み、CとかC++ばっかな。
おまいら、もうそんな言語やってるのかよw
漏れは日本語でプログラマを動かすのでCなんてやらんのですよ
469 :
仕様書無しさん :03/08/10 15:53
>>468 漏れは日本語の他にER図やUMLとかもつかうが何か?
PMにシーケンス図の粒度をどのくらいにしますか?と聞いたらコード1行単位にしろと言われたときは卒倒した。
472 :
仕様書無しさん :03/08/10 16:50
粒度の単位って、具体的に決められてるの? なんか会社によってUMLも方言とかありそうだな。
473 :
仕様書無しさん :03/08/10 17:12
COBOLだけどいいかな? 15000ステップあるんだけど、不要なSECTIONをコメント化せず、PERFORM文だけを コメント化していた。ロジックを追っていてふざけるなこの野郎!と思った。 履歴見たら、今は大威張りしてるマネージャが作ったモノと言うことが判明して2度むかついた。
474 :
仕様書無しさん :03/08/10 17:35
>>1 a:
(中略)
aaaaaaaaa:
goto aaa:
(中略)
aaaaaaa:
goto aaaaa:
(中略)
aaaaaaaaaa:
goto aaaaaaa:
//すべてがgotoでつながる地獄のスパゲッティ。
//天災でなければ解析不能。
コード1行単位・・・ だったらソース読めよ・・・
476 :
仕様書無しさん :03/08/10 18:16
>>474 おぉっ、それに似たことやるアルヨ。
変数名考えるのめんどくさいから
int i;
int j;
(段々めんどくさくなってくる)
int jj;
(中略)
int jjj;
(中略)
int jjjj;
477 :
仕様書無しさん :03/08/10 18:48
>>474 おぉっ、朕もそれに似たことやるアルヨ。
変数名考えるのめんどくさいから
String string;
String strin;
String stri;
String str;
String st;
String s;
String gnirts;
(以下略
478 :
仕様書無しさん :03/08/10 20:38
俺もよくやる class Hoge{ public: void f1(); void f2(); void f3(); void f4(); . . void f32(); void f33(); };
479 :
仕様書無しさん :03/08/10 20:48
俺もよくやる class Hoge{} class Hage{} class Hige{} class Huge{} (中略) class hage{} class hige{} (中略) class hAge{} class hIge{} …
monaってテスト用変数名使った関数を組み込んだバージョンを そのまま出荷したことがある。 社内資料から消したいけど製品バージョンだから消せない。 誰も気づきませんように。。。
481 :
仕様書無しさん :03/08/10 21:07
debug.assert(isIllegalCase, "びっくりするほどゆーとぴあ!"); ばれませんように♪
482 :
DVDエクスプレス :03/08/10 21:10
#define PCHAR char*; #define PSHORT short*; #define PINT int*;
485 :
仕様書無しさん :03/08/10 22:22
>>484 確かにそのdefineはかなり使えないな。
488 :
仕様書無しさん :03/08/10 22:32
10: #define BEGIN { 20: #define END ;} CなのにいきなりPascalに言語仕様を勝手に代えるのは やめて欲しい(泣)...。
BASICじゃないの?
491 :
仕様書無しさん :03/08/10 22:44
いやぁ、ここだけの話、オレ、いまだに typedef と defineの違いがわかってない。
あああ!! セミコロンつけちまった・・・ 使った瞬間あぼーんやんけ
>>481 もーらい!
今度catchに入れてみよーっと。
>>494 別に空文が付くだけだから実害はないぞ。
497 :
仕様書無しさん :03/08/11 08:10
>>492 C診断室の藤原氏に教えてもらいなさい。
typedefは「型の定義」。「defineは単なる文字の置き換え」だそうです。
氏の本にも出ていたよ、「typedefの代わりにdefineを使ってはならない」
とね。初期のコンパイラは性能が低く、Cの文法をマスターしていなかった
が、今ではそういうコンパイラはないそうなので、きちんと教わるべし。
さすがに書き込んでから調べました。 「typedefは型の定義」「defineは単なる文字の置き換え」って トコまでは知ってたんだけど、だから何?って感じで。 具体例のあるWebページみたらイッパツ理解ですた。
499 :
仕様書無しさん :03/08/11 09:05
>>498 char* a, b;
を置き換えたときの違いの話?
しかし、なかなか気絶しそうにありませんね
>>458 うちの会社の人が書いたコードにも
if( strlen(buf) > 0 ) {
// なんか処理
}
とかって書いてある。
>>500 うん、そんなヤツだった。
googleで
define typedef 違い
で検索した。
>>504 少し処理が遅くなるだけ。
文法的には何も問題ないし、気絶するほどではない。
>>507 なるほど、俺の脳内補完が足りなかったか
俺は、
for (i = 0; i < 10; i++) {
if (i == 0) {
/* 処理 */
}
}
みたいなのを見ると萎える
509 :
仕様書無しさん :03/08/11 22:18
おまいら。日経バイトに出ていたこの悪徳コード(サンプルとして 出ていた)をサイトに織り込んではじぇったいダメだぞ。 どんな悪さするか、わかるよな?...。 <SCRIPT LANGUAGE="JavaScript"> for(i=0;i<10;i++)(window.open()) </SCRIPT>
>>510 藻前のブラウザ、又はブラウザの設定では何も起こらないだけだろ。
で、
>>509 はブラクラの作り方の基礎でも知って嬉しかったのか?
>>511 Linuxでmozillaだとなにも起きないみたい
>>506 if( buf[0] != 0 ) {
の方が速いってことなのでは?
>>513 bufにヌル文字が入ってなくても動くしね。
でもそのばあいはif文の中でガッカリしそうだな。
515 :
仕様書無しさん :03/08/12 08:49
>>476 int jjj;
int jjjj;
int iii;
int iiii;
なんてやらないでね。文字の形を勘違いしやすい上に
あちこちにばら撒かれたらもう最悪。作った人間でもメンテできなくなる。
int ijij; int iijj; int jiji; int jjii; int ijji; int jiij;
517 :
仕様書無しさん :03/08/12 10:31
依然としてC,C++ネタばっかだなw
無理、517はVBしか知らない。
>>519 にはもっと無理、だって519はjavaとC++とCOBOLぐらいしか知らない。
522 :
仕様書無しさん :03/08/12 23:42
10 FOR i = 0 TO 10 20 INPUT a 30 GOTO 10 40 NEXT i 抱腹絶倒
523 :
仕様書無しさん :03/08/12 23:49
ネトゲーではわかりずらい名前にしたりするよね。PK用に。 IlIllllILlllooOLOL0oO0O とか
top=-1; if(tbl[top+512]<key) top=1000 -512; if(tbl[top+256]<key) top+=256; if(tbl[top+128]<key) top+=128; if(tbl[top+ 64]<key) top+= 64; if(tbl[top+ 32]<key) top+= 32; if(tbl[top+ 16]<key) top+= 16; if(tbl[top+ 8]<key) top+= 8; if(tbl[top+ 4]<key) top+= 4; if(tbl[top+ 2]<key) top+= 2; if(tbl[top+ 1]<key) top+= 1; if(tbl[top+ 1]==key) return top+1; /* あった */ return -1; /* 無かった */ 要素1000の配列のバイナリサーチなり びっくりしたなり
>>525 ちゃんと動くんだとしたら結構凄いとおもう。
バイナリサーチを行うプログラムってかなり典型的なパターンだろ。
あえてそれを使わず我流で書くって・・・自力でバイナリサーチを思いついたのか?
527 :
仕様書無しさん :03/08/13 08:42
BASICでWindows2000を破壊したコードの実例 10: MKDIR "A:\WINDOWS\SYSTEM" '拡張メモリのあるディレクトリに移動 20: KILL "HIMEM.SYS" '拡張メモリを強制削除 30: 'これでシステムが破壊。自分でやったら、復旧に3時間かかった(涙) 40: '悪い奴はこのコードをコンパイルしてSETUP.EXEというファイルにする。
Windows2000? PC98でWin9xじゃ?
昔のBASICってコンパイルできたんですか?
>>530 N88Basicですらコンパイラありますよ。使ってましたし。
そうなんですか。 コンパイルできないというイメージがありました。
それで、MKDIRの件は片付いたのか?
>>531 あれはいんちきコンパイラだろう。
BASIC98とか言うのはネイティブコード吐けたんだっけ?
>>533 もうその辺にしとけよ(w 素人をいたぶって面白いか?
漏れは、面白いけど(プッ
まぁ、読んでて気絶しそうになるってことで。
C, C++ネタが多いのは ・歴史が古い→数多のタココードが生成 ・できる奴とできない奴の差が激しい→タココードが生まれやすい、馬鹿っぷりを見抜ける奴が多い。 VBネタが少ないのは ・歴史が浅い ・できる奴とできない奴の差が少ない(=低いレベルで一定)→馬鹿なコードに気絶する奴が少ない
Quick BASICでコンパイルし、アップグレードしたWin2000は、 間違いなく破壊できたよ。
539 :
仕様書無しさん :03/08/13 20:28
VBネタが少ない理由 VBやってる惨めな自分を晒したくない
アンチVB厨は馬鹿の法則
>>539 お前はきっと惨めなのだろうが大半のVB使いは惨めじゃないよ。
自分に当てはまるからってほかも同じなんて考えないことだね。
VBプログラマってコードのこだわりがなさそうだしね。
543 :
仕様書無しさん :03/08/13 22:02
ただ単に、単価下げるからVBって嫌われてるんですか? なぜココまで嫌われるのか分からん。 組み込み系なんで回りにVBいないから分からんし、 VBもできないから便乗して馬鹿にする事も出来ない
544 :
仕様書無しさん :03/08/13 22:05
本当に仕事の出来る奴はVBを馬鹿にしたりしないよ。 できない奴にかぎって、知ったかぶりして尊大にする。
VBに追われた人のやっかみだろう。 VBは僕のマザー言語だよ。
GUI組むのはVBが一番楽だな 言語仕様は古い言語をもとに行き当たりばったりに拡張してるからいいとは言いがたいけど、 GUI組むツールとしては、なかなか直感的に組めるし、わかりやすいし、いいと思う まあ、適材適所ってことで
VBに限らず、マイクロソフト系は独自仕様を覚えても 他のプラットフォームでは糞の役に立たない。が、ほぼ独占状態の 現状ではマイクロの仕様を覚えるのも悪くないかと。
VBマってホント食い付きいいね! スランプの時にはこれに限る 初めての人にもお勧めだ こりゃ
釣り人と名乗る奴は負け犬。
君らは知らないかもしれないが、 ここでのVB叩きは2000年頃がひどかった。
552 :
仕様書無しさん :03/08/13 22:40
能力や適性の大きく劣る人間でも簡単なプログラムなら作成できる ようにしたVBは果たしてこの業界に貢献したのだろうか。 それとも・・・・。
釣る方も釣る方だが、同じパターンで簡単に釣られる方もなぁ
>551 当時はVBできるだけの厨房がいっぱしの技術者きどりだったからね 叩かれて当然って感じだった でも叩かれたせいで現実に気づいて発奮してプラスになった人も いたんじゃない?
556 :
仕様書無しさん :03/08/13 23:16
すれ違いかもしれませんがVCってそんなにむずかしいですか? ずっとVBやってきて上司にはことあるごとに「VCやりたい」って 頼んでるんですけど全然やらせてくれないんです。 本とか読んでもよくわからないのは事実ですけどVBも最初は全然 わからなかったけど仕事でやり始めてから少しずつわかりはじめたので VCも仕事でやれば同じでやっぱり仕事でやると違うじゃないですか。 おまけにVCやってる後輩は基本給が2千円しか違わないのに夏の今年の ボーナスは後輩のほうが6万も多かったのでおかしくて納得できないです。 お願いします本当のことを教えてください。お願いします
サーファー風のルックスの少女ですがオマンコはかなりグロイです。
うっそうと生い茂ったマンゲの奥に黒ずんだビラビラが男根を待っています。
顔がかわいいだけにそのギャップにかえって萌えるかも・・・
吸引力のありそうねフェラもいいですよ。
援交女盛りだくさん!!
無料ムービー充実
http://www.geisyagirl.com/
559 :
仕様書無しさん :03/08/13 23:19
仕事って、上司が決めるから 運もあるよね。
いや、C++ができても、VC++のツールは操作が難しい。
562 :
仕様書無しさん :03/08/13 23:37
プログラムの「内部処理」自体は、VBよりVC++の方が書きやすい。
563 :
仕様書無しさん :03/08/14 00:21
while (true) { i++; } PCが気絶したぜ。
>>562 なんだよ。内部処理って。自分にしか分からん用語使うな。
565 :
仕様書無しさん :03/08/14 00:36
>>562 外部処理を説明したまえ。
君のプログラミングには外部と内部があるみたいだから。
566 :
仕様書無しさん :03/08/14 00:36
そういえばこんな奴がいた。 @PHP $顧客id = $list["kyokyku_id"]; $顧客コード = $list["kyokyku_code"]; 日本語の変数使うなって。動くけどキモイじゃん。
567 :
仕様書無しさん :03/08/14 00:50
kyokyku なんて読むんだ?ワラ
きょーかいく?
569 :
仕様書無しさん :03/08/14 01:01
きょ*★ぃく
570 :
仕様書無しさん :03/08/14 01:09
kokyaku_idの間違い。気にすんなって。 この時間になると手元が狂う。
571 :
仕様書無しさん :03/08/14 01:12
内部処理=ナイーブ処理 VBだと難しい。
572 :
仕様書無しさん :03/08/14 01:13
573 :
仕様書無しさん :03/08/14 01:14
下手なコードを読んで分析する努力もしないで勝手に気絶して放棄する奴はPG失格じゃないか?
574 :
仕様書無しさん :03/08/14 01:15
>>571 そんなことはない。
VB厨はちょっと凝った処理になると、すぐに気持がナイーブになる。
センスはオヤジだが。
アンチVB厨はいつも必死で煽っているから面白い。
>>577 (アンチ)VB厨、(アンチVB)厨のどちらを指して言ってるのかはっきりして欲しい。
>>579 ×GROUP BY 部門番号
○GROUP BY 給与
普通に文法の問題だろ?
俺はスカした奴より必死な奴の方が好きだけどな。
582 :
仕様書無しさん :03/08/14 03:07
*ってのが違うんじゃないの?特定の数値フィールド名じゃないと効果が薄い、とか。
>効果が薄い 何の効果だよw
このSQLは全社員中最低給与のやつを抽出するものだと、俺は考えたわけだ。 んで、Group Byを外したわけ。 >580 文法っつうか、副問い合わせが複数レコードを返す可能性があるのに、2行目で=を使ってるのが問題なわけよ。 580のようにするなら(意味不明のGroup BYだが)、2行目も=じゃなくてIN使わないといけないだろ。
585 :
仕様書無しさん :03/08/14 08:21
>>583 パフォーマンス効果
* は遅い。これツネシキ。
586 :
仕様書無しさん :03/08/14 08:41
>>584 >意味不明のGroup BYだが
あっ、ホントだ。てへ。
×SELECT * FROM 社員
○SELECT 部門番号 FROM 社員
こういうことかな?
>>587 選択肢4を選択すると
> 本来行ないたかった目的(各部門の最小給与額と、その社員つまり最小給与額該当の社員も求めること)
って表示されるので、出題者の想定した正しいSQLはこんなんだと思われ。
SELECT * FROM 社員
WHERE (部門番号, 給与) IN (SELECT 部門番号, MIN(給与)
FROM 社員
GROUP BY 部門番号);
出題者はきっと、一番大事なことは最初に言えと小一時間説教食らうタイプの人間なんだろな。
でも、ORACLE MASTER認定試験ってそんな出題ばっかぢゃないのか?
590 :
仕様書無しさん :03/08/14 14:52
サブクエリーは遅い上、可読性が悪いから使うな。
591 :
仕様書無しさん :03/08/14 15:15
サブクエリーで使えない程遅くなるようなDBMS使うな
>>590 問題がそうだったからな。
こうか?
SELECT
DAT.*
FROM
(SELECT 部門番号, MIN(給与) AS 最低賃金
FROM 社員
GROUP BY 部門番号) KEY
LEFT JOIN
(SELECT * FROM 社員) DAT
ON
KEY.部門番号 = DAT.部門番号
AND KEY.最低賃金 = DAT.給与;
俺的には、副問い合わせがどうこうより、列名に日本語使ってるところのほうがキモイ。
593 :
仕様書無しさん :03/08/14 17:17
サブクエリー使いまくると、頭の中で無限ループ起こしてホントに気絶しそうになるよな。
//JOBLIB DD DSN=HOGE.HOGELIB,DISP=(RNW,CATLG), // UNIT=DASD,SPACE=(CYL,(1,1),RLSE), // DCB=(略 よかったね。 君の私有ライブラリで。 今度からコピペでJCL作るときは気をつけようね
>>579 >相手の言葉の裏を読み取れ
MIN→MAX
下を見たって仕方がない。上を見ろってことか?
>>595 つまり、あれか?リストラ候補抽出用のSQLってか。
追い出すなら人件費の高いヤツからだもんなw
人件費の高い奴...社長か!?
>>597 生産性が低いやつかマイナスのやつのほうが効率よさそうだが。
ウチの会社で最も月給をもらっているのは社長の愛人。 もちろん顔すら知らないぞ
その愛人のヒモになりたいん
601 :
仕様書無しさん :03/08/15 08:18
ドキュメントが存在しなくて、思想が読み取れないソースは気絶しそうになる。 Javaだけど構造化設計。不要なキャストの嵐。
気絶思想になったソースだな。
>>598 >生産性が低いやつかマイナスのやつのほうが効率よさそうだが。
効率良すぎて社員いなくなっちまうぞ?w
Perlの話なんだけど、isValidってメソッドがあって真偽として 1 か 0 を返すように なってたんだが、或る日ファイルバージョンが上がってたので相違点を確認してみたら、 不正な理由がわかるようにと、戻り値が 1, 0, -1, -2 になってた。
class First { ... ... class Second { ... ... friend class First } }; いきなり友達宣言 こいつと仕事するのいやぽ・・・
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
>>605 マジレスすると、恐らく
SecondからFirstのprivateなメンバかメソッドにアクセスしていたのだろう。
で、コンパイラの種類かバージョンが変わってコンパイルエラーが出現したと。
だから、とりあえずお友達にして逃げたのではないかと。
いずれにせよデスマーチの始まりだな。
友達は慎重に選ばないとね。
「友達は少ないほどいい」っていう言葉も有名だね。
少ない方がいいが、いないのはまずい
n人以上m人以下
n,m∈Z
乙だろ。
マジレスさせてくれ。 漏れが一年目に書いたC++のソース。
>616 君は正常。 自分が昔書いたソース見てそう感じなくなったら 技術者としての成長は止まったと思っていい。
>>617 最初に何を手本としたかが重要。
手本なしでゼロからなら気絶してもおかしくない。
正常。
手本が気絶しそうだったけど当事は周りが
まったく見えないので平気だったという場合もある。
これも正常。
真っ当な参考書なり何なりを手本として気絶しそう
だったなら異常。
>>618 え〜?最後のはそうとも言い切れないんじゃないか?
その1: DBから昇順でデータを取得してきて、それを2次元配列につっこむという処理の中で デ ー タ を 降 順 に 並 び 直 し て ま し た forループを使って一生懸命・・・。 その2: 変数がいっぱい宣言されていました。50個ぐらいかな。さらに処理の中でいくつも宣言 されて使われていました。そして処理終了。 あ れ っ ? 最 初 に 宣 言 し て あ る 変 数 一 度 も 使 っ て な い じ ゃ ん あの変数達はいったい何だったの? それ以外にもいっぱい問題のありすぎるコードが・・・
VBで雛型のソースを見たらある一つの関数内に1000行以上のコードが記述されてて、意識が遠くなりました。変数も40個くらい宣言されていたし。理解する気すら起きなかったす。
staticのメソッドを、わざわざクラスを全部オブジェクト化して呼び出してやがる。
>621 まだまだ青いな
>>621 俺の所は最大3500行だぜ。ASPだけど。しかもファイルは数百個あるぜ。
しかもコメントは半分以上間違ってる上に、グローバル変数(当然複数箇所で使いまわし)の嵐で、
ソースの追跡も困難だぜ。で、全貌を把握してくれと命令され...グフ!
625 :
仕様書無しさん :03/09/16 22:16
おいら、オラクラーだから良くわからんのだが、 今話題の”オブジェクト指向”で書いたら、 上記のような、ソースは、なくなるのけ? オブジェクト指向は、メンテナンスが簡単なのが ウリの一つだったような気がしたのだが。
626 :
仕様書無しさん :03/09/16 22:20
>>625 OOで書いたって好きなだけ変数宣言できるから
620の「その2」みたいなことはなくならない。
627 :
仕様書無しさん :03/09/16 22:24
>>621 VBのプロジェクトに参加して普通にコードを書いていたら、
「サブルーチンはあまり使うな、コードがあちこち飛んで読みにくく
なる、なるだけひとつにまとめろ」と上司に注意されて反論できま
せんでした。
>>626 コンパイラオプションでエラーにしろよ・・・・
629 :
仕様書無しさん :03/09/16 22:35
#include<stdio.h> int main(void){ char *s = "morehatensaidetsune"; printf("%s",s); return 0; } 漏れのプログラムはセンスありまつか?
>>629 ありません。
int main(int argc, char *args[]){
char *string = "morehatensaidetsune" ;
632 :
仕様書無しさん :03/09/17 09:03
>610はfriend宣言のことでしょう?
>>629 >printf("%s",s);
できれば、
printf("%s¥n",s);
としてください。
637 :
仕様書無しさん :03/09/17 14:36
>>635 「普通は」って所が焦点で、原典の変数名がargcとargvを使っていたから
それを真似ている表記が多いのは認める。
たぶんアーギュメントカウンタとアーギュメントヴァリュー(ズ)のことだが。
しかしこれは単なる変数名だから、文法的には何を使用しても良いはず。
argvの替わりにoptionsとかにしても問題なんてない。
ちなみに折れはacとavって変数名を多用する。
638 :
仕様書無しさん :03/09/17 14:42
>>638 99%の確率で独りよがりの糞プログラマだよな。
できる人なら、そういう場合は仕事としてレベルを落として書くのもありかと。
640 :
仕様書無しさん :03/09/17 17:38
>633 「大差ねぇ」かあ〜???
641 :
仕様書無しさん :03/09/17 19:03
SELECT SELECT SELECT いっぺん氏んでくれVBプログラマ
Cのソース(らしい) グローバルで int i,j,k,l,m,n; int tmp1,tmp2,tmp3; マジで気絶しそうになった。
ソースに点数つけてくれるソフトって無いのかな?客観的にさ。
点数は給料やボーナスに反映。
>>642 宣言してるだけましじゃないか。VBなら宣言しない奴もわんさかいるぞ。
SEO = Sourcecode-validator Engine Optimization
どうやら年月日の文字列を作りたい様子。 strcpy(yyyymmdd, yyyy); strcpy(yyyymmdd + strlen(yyyymmdd), mm); strcpy(yyyymmdd + strlen(yyyymmdd), dd);
>>637 > argvの替わりにoptionsとかにしても問題なんてない。
文法的には全く問題ないけど、共同でプログラム組む場合はなるべく一般的な変数名にするべきだと思う。
argc,argv以外を使うと、それを使った本人以外にとっては 「書いたやつがargc,argvにしなかった意図を考える」という 余計な工程が混じるな。たとえ数秒でも。
>>637 引数に渡したファイル名もオプションかよ。バカジャネーノ
特に理由が無ければ慣例に従う方が良い。
理由:argvの読み方がわからないから
argument value
652 :
仕様書無しさん :03/09/17 22:47
653 :
仕様書無しさん :03/09/17 22:54
c: count v: vector
hoge.hige[i].hage[j].aaa = hoge2.hige2[i].hage2[j].a hoge.hige[i].hage[j].bbb = hoge2.hige2[i].hage2[j].b hoge.hige[i].hage[j].ccc = hoge2.hige2[i].hage2[j].c hoge.hige[i].hage[j].ddd = hoge2.hige2[i].hage2[j].d hoge.hige[i].hage[j].eee = hoge2.hige2[i].hage2[j].e hoge.hige[i].hage[j].fff = hoge2.hige2[i].hage2[j].f … こういうのが何千行もあったりするソース読んだことあります? 作った人の苦労が忍ばれます。
int a,b,c,d,e,f,g; で、適当な数値を入れまくった挙句、 if(a <= b) { f = e; g = g+a; if((a+b)<=(e*2)) { c++; int h = g*(b+e); } } ↑ こんなのがてんこ盛り。
私が見たソースは、これにifネストとgotoが挟まります。
657 :
仕様書無しさん :03/09/17 23:07
Dim ret as Boolean ret = HogeHogeFunc 'メソッド Select ret Case true hogehoge... Case false hogehoge.. なぜIf文をつかわんのだ?VBじゃ、Boooleanはtrue,false以外にあるんかい? ド素人がっ!!
true, false, nil …うそ
>>655 そ、そのアルゴリズムは企業機密の…!!
「Booolean」のことはわからんが これ読んで HogeHogeFunc の仕様がコロコロ変わったのかも という想像すらできないほどの素人がいることは分かった。
661 :
仕様書無しさん :03/09/18 00:15
>>660 てか、Select文のオンパレード。読んでて吐きそうになるわな。
タイマーイベントの中で、状態変数(Integer)を見て、コネクト、センド、etc..
やってるアホソース。
OO厨な俺にとっては苦痛でしょうがない。
書いた奴もVBで書かされて苦痛だったろよ。
664 :
仕様書無しさん :03/09/18 00:27
OOと関係あるのか? タイマで処理せずに別スレッドにしろとは思うが、それはOOとかいう問題じゃない。
665 :
仕様書無しさん :03/09/18 00:35
>>664 デザインパターンのStateと言った方が正しいか。
ま、そのまえにグローバル変数はOOじゃほとんどお目にかからんしね。
せめてメソッドで状態管理してほしぃ。
>>662 条件文なんか基本、、、まいいや。
666 :
仕様書無しさん :03/09/18 00:57
変数名が全部ローマ字・・・・|ι´Д`|っ < だめぽ
>>666 別にいいと思うよ。下手にスペル間違ってるよりいさぎよくて。
変数名が漢字ってとこもあるし。
@@identity
669 :
仕様書無しさん :03/09/18 07:50
>>646 「mainの引数はargcとargvでなければならない。」
という意味ですか?
670 :
仕様書無しさん :03/09/18 07:58
>>649 特に理由がなくとも従うのは慣例っていわないよ。
それは「因習」や「因襲」っていうんだ。
int nDegital;
>>670 ←こういうのがいるところは必ずデスマーチ
673 :
仕様書無しさん :03/09/18 09:13
>>643 > 宣言してるだけましじゃないか。VBなら宣言しない奴もわんさかいるぞ。
亀だけど、宣言しなければローカル扱いだからまだましなはず。
だめぽな人って、簡単なことを難しくする才能があるよね。w
私が教えるときは、言語に関係なく、小さく、単純に、独立させて、だけを教えてる。
それだけでとりあえずは十分なんだけどね
>>669 もしあなたが共同作業で他の人になるべく迷惑はかけたくないという気持ちを持っているのならば
argcとargvにするべき。
675 :
仕様書無しさん :03/09/18 10:09
>>674 「するべき」ってどういうこと?
「コーディング標準」になっていると良いと思っているの?
「コーディング規約」になっていると良いと思っているの?
「迷惑」って表現は独善じゃないか?
「あなたが迷惑って思う事項は、大多数の人が迷惑と思うとは限らない」
って事はないの?
そりゃ標準や規約に明記してあればそれに従うけど、
ただ単に「するべき」って書かれてもねえ。
ところで、共同作業って書いてあるけどmain関数を複数の人間で書く慣習なの?
それともペアプログラミング?
>>675 1.郷に入れば郷に従え。
2.いちいち理屈いうな、とりあえずは言うとおりにやれ
3.そのプログラムを墓場まで持っていくならそれでいい、そうじゃないなら普通になるよう努力しろ。
>>675 argc,argvをわざわざ別の名前に変えることは
>「あなたが迷惑って思う事項は、大多数の人が迷惑と思うとは限らない」
>って事はないの?
大多数の人が迷惑と思っています。
679 :
仕様書無しさん :03/09/18 10:37
>>676 1.いやだ。郷になんか入るものか。
2.やる。けど、言うとうりになんかやらない。
文書化されていないルールに従うつもりはない。
特に口頭で言われたことなんか10分で忘れるし。
3.いやだ。普通になんかなるものか。
そもそもいったい誰が「普通」を決めるんだ。
ああ墓場まで持っていってもいいよ。そのようにとりはかってくれ。
680 :
仕様書無しさん :03/09/18 10:39
>>678 だったら、「標準」なり「規約」なりに記述した方がよいのですかね。
>>679 ねたならいいけど、自分のしただったら本気でグーで殴るな。w
とりあえず、窓際の机とネットにつながっていないパソコンは与えてやるから仕事しろって。
>>680 正直、これってループ変数はなぜi,jなんですか?と同レベルだと思うけど。
だから郷に入れば郷に従えなわけで。
それを議論するなんて、神学論争じゃないからやりたくないから
いちいつ理屈をいうな、とりあえずはその通りやれと。
それでもいうこと聞かない奴は、テメーが墓場までもってくんかい?って=プロジェクトから解除。
684 :
仕様書無しさん :03/09/18 10:53
>>681 「本気でグーで殴る」のと「ネットにつながっていないパソコン」
ってのはパワーハラスメントだなあ。
管理職か否か知らないけど本当にそんなことしたら訴えられるよ。
まー殴りはしないけどね。 ネットにつながってないPCのどこが悪い? 与える業務にLAN環境が必要なくなるんだから、昨今のセキュリティー事情を考えれば当然と思うけど。w
iArgc, lpszArgv
>>683 > 正直、これってループ変数はなぜi,jなんですか?と同レベルだと思うけど。
I〜Nは宣言しなければ整数型と扱われるから
688 :
仕様書無しさん :03/09/18 11:11
>>687 fortranですか。
これは「慣習」ではなくて「伝統」ですね。
689 :
仕様書無しさん :03/09/18 11:14
>>685 開発環境の一部としてのネット環境を、その人間からだけ奪うのは、
パワハラなんです。
>>689 だから、だれがそいつに開発業務を与えるといってるの?
協調性がないんだから、適材適所で別業務を与えざるおえないでしょってこと。
開発支援業務でネット環境が必要ないから与えないだけ。
FORTRANの場合は伝統じゃなく言語仕様では。 整数にi, j, k ,l , m ,n を使うのは、コンピュータ以前からの伝統だろうけど。
692 :
仕様書無しさん :03/09/18 11:25
定数が小文字のコーディング規約を何とかしてください。 30文字以上のながーい変数名をつけるのはやめてください。
i, j, k ,l , m ,nが感覚的に整数と思えない奴は、数学勉強した?
694 :
仕様書無しさん :03/09/18 11:33
>>690 協調性?。
関数の引数の名前を上司に言われたとおりにしないから?
そいつは
「変数名を決めるのはコーディングをする人間に業務上の権限がある」
と思っていて、
「それを制御したいなら、そのルールを文書化して欲しい」
と言っているだけだよ。
それが協調性がないことになるの?
695 :
仕様書無しさん :03/09/18 11:33
MSのソースによくみられる mp_pos の mp_ とかってホントうざい。
697 :
仕様書無しさん :03/09/18 11:40
コーディング規約が慣習を無視してるのは、アホ。
ちうか、純粋にさっきから屁理屈言ってる奴とは仕事は絶対したくない。w 理論がしっかりしてるのと、屁理屈こねるんじゃ、全然ちがうからね。 屁理屈・不平屋はプロジェクトにいると、しっかり仕事をするからね。 他人の邪魔をするという重大な仕事を。
699 :
仕様書無しさん :03/09/18 11:47
>>629 えーと、変数名の長さが平均20文字を超えると、
デバッグ効率が急激に落ちる。という統計調査が確かありました。
ながーい変数名ってのは確かにアンチパターンだと思います。
>>699 すまん「629」は「692」の間違いだ。
703 :
仕様書無しさん :03/09/18 11:52
MSのソースはストラクチャが絡むと全部mp_になる。 ・・・ウザイ
言い方ってのもあるよな。 内容的には同じ事言ってるはずなんだけど、ひたすら敵を作りつづけるやつとうまくやっていく奴がいる。 前者の人って、プログラミング技術的にはすごいけど何故か仕事が出来ないというタイプかな。
705 :
仕様書無しさん :03/09/18 11:55
嫌なものは嫌。
なんだ、スレ違い気味の内容で話が活発だな
ぱっと見、一番長そうな変数名をさらしあげ csStrEnvironment_Key_CommunicationWriteRetryCount 49ぐらい?
>>707 なんだそれ?
RetryCount や WriteRetryCount で区別できないほど
たくさんの内容が詰まってるのか?その関数は
>>707 ぼいんで・・じゃなくぼいんとかを抜いて
csStrEnv_Key_ComWrtRetryCnt
で通るような。
少なくとも Environment と Communication をそのまま変数名にするのはアホだな
>>710 Comはあれだとおもったけど、その他は一般的な略し方だろ?
>698 あなたは690と同一人物ですか?。 私が書いたことは屁理屈ですか?。 私はあなたが 「忙しくてルールなんかわざわざ書いてられるか!。 俺が口で言ったとーりに動いてくれるやつしか要らない」 と言っているように思えますが。違いますか?。 だとしたら軍隊のようですね。
>>713 とりあえず、
>>679 からの流れを見て書き込みしてね。
これ以上は荒れるから、もうさよなら。
715 :
仕様書無しさん :03/09/18 12:12
アンダーバーがうざい
716 :
仕様書無しさん :03/09/18 12:16
>>708 実は似たようなグローバルがずらりと並んでいるとか。w
717 :
仕様書無しさん :03/09/18 12:21
ていうか、クラス化できないバカどもが作ったと思われ
719 :
仕様書無しさん :03/09/18 12:28
>>718 あんなにいっぱい説明が必要なグローバルが並んでたら嫌だの意。
グローバルで意味ない変数名もやだけど、そもそもグローバルがやだ。
720 :
仕様書無しさん :03/09/18 12:32
樋田ならやりそうだ罠(w
721 :
仕様書無しさん :03/09/18 12:43
/******************************************************* 10年前に好きな人がいたけど いまでもうだうだいってもう運命変わっちゃったんだから 取り返しがつかないと親に言われた。 なんであってすぐ好きだっていわなかったんだろう。 はじめて会う人で得たいがしらないけど。 結婚してくださいと手紙だしたけど返事こなかった。多分あわない2年の間に結婚相手が できたと思う。なんか、6つ8つ舌の近所の子が恋愛結婚して すませたそうだけどどうしてあたしだけうまくいかないんだろう。 どうしてあたしのすごく好きになって結婚したい人は 結婚してくれないんだろう。どうして話をして胸がときめいて どきどきしてもう何をしゃべってもわくわくして、 もっともっと話たい人に限って結婚できないだろう。 相手の人も家も遠いしお互い考えが違うからもう あわないねっていったけどとても会いたかった。 あたしが話しを一生懸命あわせればよかった。でもそれは媚びることになると思って 全部反対のことを言った。もうわけわかんない。その人と結婚したいよーーーー 何回夢の中に一緒にちゃぶ台座ってご飯食べた夢とかでてきたかわかんない。 もうその人子供がいるだろうからもう死んだ人なんだけど。 ******************************************************/
722 :
仕様書無しさん :03/09/18 13:01
>なんか、6つ8つ舌の近所の子が恋愛結婚して >すませたそうだけどどうしてあたしだけうまくいかないんだろう。 禿藁
723 :
仕様書無しさん :03/09/18 13:05
ワロタ
こんなグローバルのヤダよね。 Private m As Long おんなじ707のプログラムから引用。
725 :
仕様書無しさん :03/09/18 13:09
グローバル関数でFindつうのも嫌だなあ
>>714 えとね、最初のブランチは635なんだ。
私は荒らしているつもりはないんだけど、
パワハラ発言があったから。
自分に都合の良いと(私が)思う「相手の人格否定の表明」もあったし。
確認しているうちに感情的になってきた人もいるけど。
誰かが感情的になったら「荒れる」ってことになるのかな?
そうならもうやめる。
>>698 回答を待っています。
>>726 いっぺん本気で死ね。
企業ってのは効率をあげることで利潤を追求しているの。
どうでもいいささいなことで大勢の人が納得していること
をわざわざ、自分は常人とは全く別の理屈を持っているから
納得できるまでとことんはなしあわないと命令に従わない
っていうのは、もう非常識をこして迷惑なの。
仕様やエラーハンドリング方法などもっと大事な議論に
時間を費やし、あるいはなるべく会議などを省いて開発
効率をあげなければいけないときに、こんなくだらない
ことでだだこねられたら、そりゃだれだって業務から外すよ。
例えば、これはシングルトンパターンでやろうって会議
で出た時にシングルトンパターンが適切かどうかを議論
するのはいいけど、「シングルトンパターンなんてどっか
の4人組が勝手に決めた言葉で言語仕様に載っていない
言葉をなぜ使うんだ。オレはそんな酒みたいな名前を
職場で使うことに納得できないから、オンリーワンパターン
と呼ぶ」なんていうやつがいて、設計書にもこのクラスは
オンリーワンパターンとするなどと書いてあったら迷惑
極まりないだろ。
騒ぎたいなら庭に穴掘って叫べばいいけど迷惑になるから
職場ではやらないでくれ。
>>728 あの、先にさよなら書いてたんで書かないつもりだった
>>698 です。
代弁ありがとうございます。
>>726 への回答は、
仕事でそんなこといってる奴は、そんなの屁理屈と判断して相手にしません。
これでいいか?
730 :
仕様書無しさん :03/09/18 17:09
>>728 どうも曲解しているね。
だれが話し合わなければならないって書いた?
だれが命令に従わないって書いた?。
郷には入らないとは書いたけれども。
ルールを口で言われても覚えきれないから
ルールを書いたものをくれって言っているんだ。
694をもう一度よんでくれ。
「効率」ねえ。
効率を上げるためにコーディング標準ってものがあるんじゃないのか。
それに準拠したコードは文句を言われる筋合いのものじゃない。
標準に準拠しているけど、変数名が一般的なものでないって言う場合、
直さなければならないのか?
それはコードに問題があるんじゃなくて標準に問題があるんだろう。
ああ確かにくだらないことだ。コーディングの前に標準を渡されれば
それに準拠して書くって。
おれは書いたあとから「直せ」って言われるのが不愉快なんだ。
例示してもらったケースは適切ではないと思うぞ。
単なる変数名とGOFの言葉を同列に論じられるものではない。
騒いでいる?。誰が騒いでいるんだ?。
匿名掲示板は職場なのか?
だいたいこれは仮想の話だろ。
そこで「殴る」だの「死ね」だの言うのは
いくら匿名だからといってもどうかと思うぞ。
道徳は法律みたいに明文化されてないんだから従うも従わないも自由だろ とか言ってる厨房みたいだな。
>>730 常識をしらない餓鬼が、そんなの法律に書いてあるのか!
何時書いた。何時何分何曜日、地球が何回回った日?
っていってるとしか思えないんだけど。
不文律とか常識とか、少しは社会にでろよ。
734 :
仕様書無しさん :03/09/18 17:33
>>733 「常識」か。
別の表現をしよう。
main関数の引数変数シンボルを固定とするのは常識とは認めない。
これが私の見解。
main関数の引数変数シンボルを固定とするのは常識である。
これがあなたの見解。
ここまでは合ってる?。
確認したい。
>>734 そんなことは議論に値しない。
元のほうにOptionsとか書いてるのがあったからそれは論外というのが始まり。
ac argc など”常識”でわかる範囲で書くのが当たり前。
見解の相違とかいうレベルの話じゃないよな。
常識をいちいち全部文章化してられるか、 書いてないからやりませんでしたってのは幼稚園児だけだ。
>>734 お前の見解だかどうか知らんがうざいから消えろ。
そんなこといちいち確認しないとわからないなら生きている価値ないから消えろ。
誰か、734の見方してやるやつはいないのか? このままじゃ、734は非常識な幼稚園児で、社会不適格者だから 生きている価値がなく、会社で左遷人事されてパワハラだ労働者 の権利だと叫んでも、同僚から当然だよと蔑まれる、哀れな人間 だと決まってしまう。 同情でもいいから味方してやれ。
734が哀れで仕方ない。
Frailty, thy name is 734.
ネタならネタとカミングアウトしてくれ。 そうじゃないと怖くて、初見の人とプロジェクトできなくなるから。w リアルならせめて何地方在住、どんな感じの業務とかだけ教えてくれ。 警戒して仕事するようにするから。
もはや引き返せない。
747 :
仕様書無しさん :03/09/18 19:56
彼の存在が気絶モノだな。
流れから見るに同一人物。
>>679 が違っても、文末に【?。】とか書いてある奴は絶対同じ。
それだけでも痛いよ。
>>647 で終了してるのに....
大漁ですね.
あんまり人のソース読まないのかな。 mainの引数に ac, av って書く人はそこそこ居るし、 _argc, _argv みたいに書く人もいる。 argc や argv じゃなくて困る時って、、、、 ソースをコピペしたときが面倒やね(^^;
>>751 いや、そういう次元じゃないと思う。
オレが決めたから、第一引数はKagochan、第二引数はTsujiChanとか言いかねないと思う。
753 :
仕様書無しさん :03/09/18 21:03
int nArgCount LPCSTR pszArgValue
>>754 レス番の箇所が多分ちがうと思うけど、その辺りはよんで大体彼の発言と思われるのは推測できた。
それを読んだ上で書くけど、絶対仕事は一緒にしたくない。
協調性がないというか、マイナスに振りきれている・・・と思われる。
へそを曲げたら暴走して、とんでもないものをつくりそうでやだ。
こういう奴って自分は技術あるとおもってるんだよね、大抵。
だけど、そんな自慰みたいな技術は、普通の仕事をする上では邪魔以外何者でもない。
>>755 絶対仕事をしたくないって・・・
何、ワガママ言ってんのw
「読んで気絶しそうになったスレ」はここですか?
>>756 多少我侭いってメンバー選定なんぞいうことができる立場ですが、何か?
>>731 ありがとうございます。
初めて建設的な意見を受け取りました、
私も建設的な意見を述べます。
ご見解について
「重要でない部分について慣習を確立すれば、重要な部分に創造的活力を集中できる。」
というのは全くそのとうりです。
mainの引数の名前なんて全く重要ではない部分です。
ただ私は先人に学び、先人を反面教師としてしまって
慣習を確立してしまった人間です。
回答になっていますでしょうか。
コーディング標準について 「前もって言っておかなかったこちらの説明不足で申しわけないんだけど うちではmainの引数はargcとargvにするって言う不文律があるんですよ」 「仕方ないなあ。今回だけですよ。不愉快だけど直します」 という会話があって、次回のコーディング標準の改訂時にはチャンと反映される。 というのが正しい作業環境と言うものでしょう。 私は直さないなどとは言っていません。このように言われれば試験開始前なら 条件など無しに直します。どうせ関数一個だけの話だし。 ところで今までの発言のなかの「コーディング標準」というのを 「プログラム仕様」と読み替えても意味の通じる個所がいくつかあって面白いですよ。
なぜ679のようなレスを書いたか それは676の書きこみがプログラマーを管理する人間の発言として 容認できないものだったからです。この書きこみを書いた人間は 常に回りのプログラマをこの様に管理しているのでしょうか。 労働契約というものをどのように考えているのかたずねてみたい気持ちが一杯です。 あれではまるで丁稚奉公ではないですか。 管理される側の人間の年齢と言うのはこのさい関係ありません。 むこうがこちらを若僧だと思っているようなので若僧の返事をしてしまいましたが、 実は私はロートルでしてこのようなことを私にいう人間は久しく存在しません。 そのような環境下であのような管理する側の人間として容認できない返事を受け取った ので、完全に無感情であったかというと嘘になります。 しかしながら私は「そんな管理の仕方ではいつか破綻する」と気がついてもらいたかった。 681も同様です。「自分の言うとおりに動かないから開発をはずす」っていうのは まるでロボットを使っているようなものです。 しかも自分にとって都合の良い理由を考えつきそれを既成事実のように発言するとは。 プログラマが、思考し、判断し、生産をおこなう人間だと言うことが全く理解できていない。 皆さんはロボットだけを集めて作られたソフトに興味がありますか?。 皆さんを管理する人達は676や681のような人達でないことを祈ります。
叩きについて 苛めやすい人間を一番に苛める。という個人的な予想どおりの結果がでて とても満足しています。 叩きがいつまで続くかも楽しみです。 しかしながら、「そんな管理はリスキーだ」っていうような 意見をひとつでも良いから見たかった。 叩いた人の中にも管理する側にいる方は一人も居られないのでしょうか。 管理される側にいる方達も、自分の常識とは違うことを上司が言って (ここまではたまにある)、676のようなことを言われたら自尊心が傷つきませんか? 傷ついた自尊心のまま作業して出来る成果の品質は? 常識について 記述を控えます。議論に値しないとか論外とか叩かれたし。 ただ読んでいる人が「常識について考えるきっかけ」となってくれれば良いかなと。 一言だけ。「私の周りには常識を振り回す人」はいません。 発言番号 私は匿名掲示板は初心者なので、念のため発言した番号を列挙します。 637、669、670、675、679、680、684、688、694、699、 702、713、726、730、734
今頃大漁旗上げて悦に入ってるんだろうね。 まあ、それを含めてこいつとは仕事したくない。
強い電波を受信したんだが、何事だ!
>>764 >私は匿名掲示板は初心者なので、念のため発言した番号を列挙します。
2ch BBSへようこそ!
ハッキングから糞コードまでを網羅した昔は匿名だった掲示板群です!
まあ、釣り相手だからなんなんだけど。
効率、メンテナンス性とかってのが不要な分野で開発してるのかな?
研究職とか、それだったらこの電波も理解できるけど。
業務でプロジェクトをやっている限り、
>>669 のような質問は相手にしてられない。
その場合の回答は
>>676 の1のようになってもおかしくはない。
それでも、プロジェクトリーダークラスを捕まえて、質問するならば2のように回答せざる得ない。
普通の人ならそこで自分で調べて、知識をきちんと付ける。
その上で、自分の理論を通すというのなら、そのプログラムを貴方が一生保証するのか?と問う。
そうでなく、会社、または会社が潰れたのならこの分野の人達がメンテナンスするのだから
その業界の慣習、常識に従うべき。
こういわないと理解できないの?
>>734 こ、この特徴的な文体は…
slashdotからお引っこしですか!?(ゲラ
options なんて突飛なネタを振っておいて頬被りする 偉そうな釣り師が居るスレはココですか?
日常生活では身体を清潔に保つ 客と会うときはそれなりに整った身なりにする ってのと同レベルの話だろ? ソースコードになったとたんに規約にしろとかいいだすのは 「俺は顔中にピアスをつける。頭髪は緑のモヒカンにする。 個人の自由だ。だめだというなら社則に書け」ってのと同じ
****************** おはようございます。 失礼します。 お先に失礼します。 と挨拶しろと、社則に書いていないからやりません。 っていったら信じました?藁 ****************** そういう奴だな。
>>772 おい、待てよ
本人とPMの常識が食い違ってるからそれだけ食ってかかるんだぜ
その例はおかしいだろ
「俺は1日5回就労中でもアラーの神に祈る。
個人の自由だ。だめだというなら社則に書け」
>>764 なんとなーく、エネルギーの使い方が間違っているような気がする。
ルール(常識と言い換えても良いかも)に則るのは「モノを作るため」であって、「ルールに従うため」では決してない訳で、
無用な部分でエネルギーを使うよりは本質的な部分でエネルギーを使いたいと個人的には思ってます。
# CMMIを誤解している人々を思い出してしまう。。。
776 :
仕様書無しさん :03/09/18 23:01
>>774 それは常識の問題ではなく、信教の自由の問題。
まあ、mainの引数の名前を自由にさせろっていう強い主張も
ある種宗教だから尊重しろってことか?
たかが main の引数の書き方ぐらいで自尊心を持ち出してくるのを見るに、
>>734 みたいなのが参加してる開発を管理する人は大変だろうなと思った。
たぶん、自分の見解と合わないことがあると納得できるまで食い下がるんだろう。
どんな些細なことでも。
>>769 質問と回答のくだりについて質問。
「質問者が明らかに自分より言語に精通している場合」
でも同一の回答なのですか。
>>778 なるほどな
そういう場合もあるわな
PMは必ずしも言語に精通してる必要はないわけだから
780 :
仕様書無しさん :03/09/18 23:49
>>778 「慣習に従うか従わないか」の問題にどう関わるのか?
と小一時間(ry
明らかな質問のすり替えだろ? これ以上はスレ違いになるから、別スレにすれば?
話の前提がくずれてるんだよね。 自分はわざと無法者の態度をとって試したみたいに言ってるくせに、 相手には話の前提を強要している。 普通の会社で貴方みたいに、慣習は馬鹿らしくて従えないと宣言した時点で 後の設問など答えてもらえないですよ。
どっちにしろ組織と言う枠の中にいるのだから正式に提案なり何なりをすれって事だろ。 まずは、具体的な業務改善内容とその根拠を文書にして提案し採用される事だな。 自分の理想とする環境を作りたいならドブさらいでもなんでもやる覚悟がないと。
>>779 うーんでもPMとその人とだけでなく、他のメンバのスキルにもよると思うなあ。
組織のレベルにあわせる、というのはやはり必要になるかと。
一人で仕事やるわけではないから。。。理不尽と感じるかもしれないけど、現実には。
785 :
仕様書無しさん :03/09/19 00:12
>何時何分何曜日 なんで曜日が最後にくるんだろう。慣習かなあ。
argvとoptionsは全然意味が変わってるだろ。argv⊃optionsだ。
当社の規約では、その後に「地球が何回回った日」 がつきますが。
shell から見たら、argv[0]もoptionと 言えないことも無いが、まぁ、argvを optionと言ってしまうこと自体に語弊があるわな。 つか、optionsなんてあくまで極例だろうが。 あ、**argv なんて書く人も居るね。
790 :
仕様書無しさん :03/09/19 00:24
「何年何月何曜日何時何分何秒地球が何回回った時」じゃなかったっけ?
>790 UNIX時計で、何秒経過したんだ?
>>790 あなたはそれを常識といえますか?。
もしそれを強要するならせくはらですよ。
糞壁さんに*argv[]と**argvを語らせたら3スレぐらい消費してくれるよ
>>789 なんでC言語の中の話なのに「shell から見たら」とか言い出すのよ?
argc,argvは中の人と外の人を会話させるために使うブツでしょう
>>762 >コーディング標準について
> 「前もって言っておかなかったこちらの説明不足で申しわけないんだけど
> うちではmainの引数はargcとargvにするって言う不文律があるんですよ」
> 「仕方ないなあ。今回だけですよ。不愉快だけど直します」
> という会話があって、次回のコーディング標準の改訂時にはチャンと反映される。
この会話が正常だと思うことじたい、ありえない。
やっぱりつりネタか、やられたね。どうもこりゃ。
「仕方ないなあ」はややひっかかるが、まだ許容範囲だ。
なにがひっかかるかっていうと、まるで管理側に落ち度があるかのような
ごう慢な態度がひっかかる。
「今回だけですよ」って仕事をやっているんだよ?君の個人プロジェクト
じゃないんだ。必要なら何度でも全体にあわせてもらう、っていうか
むしろ、こんなこと何度もあるような非常識な人間は共同作業から
はずされても文句は言えない。
「不愉快だけど」もう無茶苦茶。
ああ、またつられてしまった。
mainの中の人も大変だな
734はなんで、sageないんだろうか?やっぱ釣り師なのかな?
int main(int Argc, char *Argv[])
argvなど飾りです、PMにはそれがわからないのです?。
でさ、
>>734 は多人数で共同して作業したことがあるのか?
何の人などいない
やっぱ殴るよな。
|| ⊂⊃ || ∧ ∧ イッテキマス… || ( ⌒ ヽ || ∪ヽ ノ || V ∧||∧ 彡 フワーリ ( ⌒ ヽ ∪ ノ ∪∪ ×何の人 ○中の人
>>807 俺も。勝手に脳内で「中の人などいない」に変換されてたw
なんかフレームの嵐になっているな……(w 話を元に戻して、以下、「ANSI C言語辞典」(本の山から探してきた)より抜粋。 argc [アーギュ シー] (ARGument Count=値総計)〔識別子/仮引数/引数総計〕main関数 の第1引数であり、引数の総計(argument count)を示す。argcは非0の値である。通常 argcは1以上の値となる。仮引数なのでargc以外の変数名でも一向に構わないが、K&Rで 使われていたため、一般に広く使われている。→argv argv [アーギュ ブイ] (ARGument Vector=値方向量)〔識別子/仮引数/引数配列〕main関 数の第2引数であり、引数文字列へのポインタの配列(argument vector)を示す。argvは 仮引数なのでargv以外の変数名でも一向に構わないが、K&Rで使われていたため、一般に 広く使われている。→argc ・仮引数なので[argc|argv]以外の変数名でも一向に構わない ・K&Rで使われていたため、一般に広く使われている 「一般に広く使われている」慣用句に対して「なぜ」とかいうのは、子供の言い分かと。
>>790 つか曜日はイラネ
「何年何月何日何時何分何秒地球が何回回った時」
西暦だとかなんか付けた記憶もあるが、曖昧だ。
>>809 >argc [アーギュ シー] (ARGument Count=値総計)〔識別子/仮引数/引数総計〕main関数
>の第1引数であり、引数の総計(argument count)を示す。argcは非0の値である。通常
>argcは1以上の値となる。
わざわざ1以上と書くくらいなら unsigned で定義しとけよな。
812 :
仕様書無しさん :03/09/19 02:14
>>811 の書いたソースを見たら気絶できそうな気がする。
argvのvってベクトルだったんだ。 自分は勝手にValueのvと思い込んでだ。 あちがd