1 :
名無しさん@Emacs :
02/12/21 15:10
2 :
仕様書無しさん :02/12/21 15:15
2
3 :
仕様書無しさん :02/12/21 15:19
DB設計でなんじゃこりゃ?とか、デムパなSQLの事例がありましたら、じゃんじゃんageて ください。おながいします。 (すでに出尽くした感もあるが)
どっちが本スレ?
6 :
仕様書無しさん :02/12/21 16:15
じゃあこっちが本スレってことで。
7 :
仕様書無しさん :02/12/21 18:47
>>3 1文が1画面に修まらないやつとかな。
しかも80x25が1画面の時代の話じゃなくて、
つい最近のやつな。
当然JavaかCでSQL編集して投げてるから、
プログラム見ただけじゃ、どんなSQLかよくわからなくて、
SQLのトレースなんてしようものなら、ログファイルがバカでかくなって、
問題のありそうな所見つけるのに苦労すんのな。
ありがちだよね、どこもそうだよね、ハハハハ(泣
8 :
仕様書無しさん :02/12/21 22:36
悪いけど重複なので削除依頼出しておきました。
10 :
仕様書無しさん :02/12/21 23:15
>8 こっちが本スレだってば。前スレにはこっちへのリンクしかないよ。
11 :
仕様書無しさん :02/12/22 14:52
新スレ以降したものの、ネタ切れですかね?
連休中かデスマってるか、どっちかでしょう。 いずれにせよ、ネタ書いてる余裕はないと思われ。
13 :
仕様書無しさん :02/12/22 15:52
こんなの動いてる…いやだょもぅ… /* ここはおそらくこれでいいと思われ */ if (0 <= value <= 5){ // 正常系 } else { // 異常系 }
>>13 あー、やったことあるよ漏れも。
コンパイルが通ってしまうから、出来るかも〜!と試してみたんだけど、
ダメだったね。
実際、どういう挙動になるのかなぁ?
漏れはメンドクサイから追うのやめたけど。
>>14 このシステムで使っている処理系では常に正常系をとおってるよ。
コメント2ch風にしてるけど、本当に "大丈夫と思う" みたいなこと
コメントに書くなよ…もう納品済みなのに… 。゚(゚´Д`゚)゚。
16 :
仕様書無しさん :02/12/22 16:33
>>15 馬鹿ですね、あなたは。わざとやっているにきまっているだろーが。
この処理はもともと異常が起こらないことが前提で作られているんですよ。
ここで異常が起こるのはこの関数の呼び出し元がおかしな動作をするときだけです。
問題があるとすればひとつ上の関数を作った奴に言え。
>>13 評価プライオリティが同じ時は
左から順に評価されるから
if((0 <= value) <= 5)
と同じ意味になるんじゃないの
まぁ、設計者が意図とは異なってるだろうが(w
>実際、どういう挙動になるのかなぁ? >漏れはメンドクサイから追うのやめたけど。 いや… 追うとかそんなレベルじゃねえだろ C/C++なら比較演算子は左から右だから (0 <= value) <= 5 左の<=が返すのはtrueかfalse(1か0)だから必ずifはtrueになる
他の奴が作ったのを見逃した自分が悪いって話なんだけどね。 しかし 5 年目でこんなコード書くなよぉ。
>>19 それらをまとめて駆除できたら、
システム開発以来も楽になってよいっすね。
バグだらけで「開発完了!」なんて自信満々に言われてもなぁ。
# いかん、愚痴モード入ってる。・・・まあ、いいか。
意図しないで漢字を間違えた・・・鬱。
今年の新人の書いたソースのコメントには char dd[10]; /* intだと正常に動かないのでchrにした*/ というのがあったりするよ。
>>23 それがintで動かなくてcharで動く理由が判るように書いてくれんか?
そうしないと、どうしてそれで会社辞めたくなるのか判らんぞ。
あーすまん、辞めたくなったかどうかではなく、スレの流れに沿った話題として書いただけだ。 ちなみに理由は、 数値の 0 と 文字の '0' の区別がついてなかっただけ、ということで。
>>25 > 数値の 0 と 文字の '0' の区別がついてなかっただけ、ということで。
intだと正常に動かない理由としては説明不足
>>26 頭悪いのか?
なんでお前にそこまで説明せにゃならんねん
度をわきまえろ、DQNめ
先人から引き継いだVBのソースを調べてたら (一部を転載) Global Const vbWhite = 16777215 Global Const vbRed = 255 Global Const vbBlack = 0 こんなのばかりだ・・・氏ね
>>27 数値の 0 と 文字の '0' の区別がついてないヤシだったら
int型配列をchar配列に変えた所で動くようにはならんだろ
むしろintの方が他の要素を破壊しないから動く可能性が
高いと思ったのだが
getchar()のリターン値はint型
32 :
仕様書無しさん :02/12/22 22:57
>>27 威勢はいいけど、
intをcharにしたら動くようになったという実例もだせない(プ
おまいがDQN(w
>>28 実際どうなるんだろ?二重定義でエラー?
昔々には無かったとか言うオチは無し?
>>28 >>31 見所はそこなのですか?VBよくしりませんが、
色コード(?)をConstしてるあたりがどうも気になるが。
>>34 Java と VB がほどよくブレンドされてる、ネタコード。
>>23 のコメントだけで充分にワラエるのだが...
なにゅ、するとGlobalはJava? static finalしか使わない私が未熟者(;_;)
>>34 色は16進で定義した方がわかりやすいという話では?
こんなかんじで。
Global Const vbWhite = 0xFFFFFF
Global Const vbRed = 0x0000FF
Global Const vbBlack = 0x000000
一応先人と書きましたが、大元のを作った人はまだ開発やってます
口先は達者なので開発でなく本気で営業に行ってほしいと感じてるんだけども、請負で外部から
来てる自分が言うことでもないですし
>>33 悲しいがな、コンパイルできて見た目正常に動作してしまうんです
こんなコード普通書かないから、漏れもソース見たときなんでコンパイル通るのか不思議でしたけど
>>34 VBだとプロパティの値等かなりの情報が定数でもともと定義されてるんです
なのにわざわざ自前で宣言してるのが500箇所くらい
以前書いたけど、予約語のSpaceも定義してあってコンパイルが通らなかったりグローバル変数宣言
しまくりでソース解析だけでえらい時間かかったりとか
今回は一通り修正したと思った余計な定数宣言が他のPGで見つかったんでネタで晒しました
>>35 ネタでなく、VB6で変数宣言する時にGlobalの指定が可能なんです
(文字通りグローバル、アプリケーションのどこからでも参照・変数の場合は操作も可能)
ただ、開発で飯食ってる人ならばほとんど使わないし最初から用意されてるものと同じ名称で同じ値を
再定義してるのは完全に無意味だし無駄でしかないし、実行ファイルも大きくなるんぢゃないかな(最後のは憶測ですが)
JAVAは少しかじった程度なんでよくわからんです
40の書き込みで一部訂正しときます >ネタでなく、VB6で変数宣言する時にGlobalの指定が可能なんです >(文字通りグローバル、アプリケーションのどこからでも参照・変数の場合は操作も可能) >ただ、開発で飯食ってる人ならばほとんど使わないし最初から用意されてるものと同じ名称で同じ値を PG全体で共通して使うエラーコード・戻り値なんかはグローバル(自分の場合は(Public)の定数で宣言したりもするので 自分が言いたかったのは、大量の変数をグローバルで宣言してスパゲッティ状態になってるソースが許せない部分 があったためで、説明不足でしたね
BASIC だと &H かな
>>39 確か、VBだと 0xFFFFFF と書きたい場合は &HFFFFFF だったかと。H必要だったかな・・・
VB入ってるPCが死んでるので記憶があやふやですけど
こんな時間か
寝ます
おまいら、 BASICはローカル変数って概念はないんだぞ す べ て グ ロ ー バ ル
>>28 やっぱりさ、VBが糞って言われるゆえんはここらにあるんだと思う。
さっきのvbXXXXX類の定数ってのはVBRUNに定義済みな訳ですよね。
(オブジェクト ブラウザで腐る程出てくる)
この辺の説明がヘルプに明確に無いし、そもそも再定義できるのはタコだと思う。
まさに逝ってよしゲイツ。
>45 VB でもそうなの?! 百いや千歩譲っても一応は現代最新の BASIC 方言か、と思ってたが。。。 はっきり言って「テロ行為」だな。。。
>>47 ネタでなければ、あんたのような先輩のいる会社は・・・
49 :
仕様書無しさん :02/12/23 07:22
Public Const vbWhite = &HFFFFFF& にしとけ
>>46 vbXXXXの正確な名前はVBRUN.vbXXXX。これが再定義できるわけじゃない。
標準モジュール(M)で定義したvbXXXXの正確な名前はM.vbXXXX。
VBRUNやMを省略した場合のvbXXXX検索順はカレントプロジェクト→参照設定プロジェクト(優先順位順)になる。
カレントプロジェクトに二つ以上vbXXXXがあるとvbXXXXだけでは名前が解決できないのでエラーになる。
これらのことは、「VisualBasicドキュメント」-「Visual Basicの使用方法」-「プログラミングガイド」-
「Visual Basicの基本」-「プログラミングの基礎」-「変数、定数、およびデータ型-定数」などに書いてある。
Constばかりが人気だが、せめてEnumにしろ。 Public Enum NISECOLOR vbWhite = &HFFFFFF End Enum VBRUNでもConstはほとんど使われてないはずだぞ。
52 :
仕様書無しさん :02/12/23 12:57
#include <stdio.h> int i; void main(void) { for( i=0; i<=10; i=i+1 ) printf( "イツテヨシ\n" ); }
53 :
仕様書無しさん :02/12/23 13:02
イツテヨシ イツテヨシ イツテヨシ イツテヨシ イツテヨシ イツテヨシ イツテヨシ イツテヨシ イツテヨシ イツテヨシ イツテヨシ
OO厨とか糞コード書きそうだな。 分析・設計が全てだと思ってる奴。
int batoru(){
>>50 だよね..
∧_∧
/⌒ヽ )
i三 ∪
|三 |
(/~∪
三三
} //終了
59 :
仕様書無しさん :02/12/25 11:38
int restart(){ // 再開
restart();// 再帰
stack overflow...
単純再帰はループに最適化されますた。
このスレを最適化したらレスいくつ残るかな? それはともかく御用納め前日 「この会社を辞めようと思わせるソースコード」を書いて参りまつた 皆の衆、正直スマンカッタ
// ここをintにすると動かない char i[4096];
年明けには消すのをすっかり忘れていて、後日他人に見られてここで笑い者になる、 って事にはならんか...
>>64 なんつーか、いかにもデザパタ勉強し始めた厨房が喜んで書きそうなコード。
再利用性どころか可読性低下させてるというシロモノ。
# つまり漏れが「デザパタ(ry」なわけだが。
したっけオーバー風呂だろうが。
70 :
仕様書無しさん :03/01/01 20:39
スタッフオーバー労働です。
おれこの間芸術的なまでにみごとにスタックの値を書き換えるバグに遭遇したぞ。 正直すげーと思った。 デバッガで追っかけられないものだったので実地で動かすしかなかったので、 ファイルに値を吐き出させていたのだがある関数内の先頭で宣言した変数に設定した値が 途中で勝手に書き換わっていた。
>>71 おれにもすげーと感動させるように書いてくれよ
去年の夏、3ヶ月ほど出向でうちの会社に来てた人(23くらい) の作ったVBの関数なんですが、 関数名とか変数名とか何とかならないんでしょうか? PG歴は僕よりずっと長いはずなのに・・・。 Public Function gf_KAZ(MOJIRETU As String) As String Dim NAGASA As Long Dim lngSU As Long で、質問にきたかと思うと「コマンドボタンの背景色ってどうやって変えるんですか?」 また、いつも実行時エラーで落ちるようなPGばかり書くんで、 「頼むからエラー処理ぐらい入れてくれ」と言うと Private Function gf_KAM On Error Goto Err_gf_KAM call cmd_OK_Click '←cmd_OK_Clickにはエラー処理一切ない call KURIA '←当然ここもない(この名前どうにかならんか?) Exit Function Er_gf_KAM: call MsgBox(Err.Description,vbExclamation) End Function 当然実行時エラーで落ちるのは変わらず、本人は全く判ってない様子。 別に違う会社だし、本人に伸びる気がないならいいやと思ってたけど、 そいつがよく休む為にデバッグ等はこっちに回ってくるから本人に 「少しはPGと、一般常識レベルの英語くらいは勉強しろ」 と言ったんですが効き目なし。
>>75 コーディング規約のないあなたの会社にかんぱーい
77 :
仕様書無しさん :03/01/02 12:49
Eヽ(゚д゚ ) オカネドゾー オカネドゾー ( ゚д゚)ノ¥ $ヽ(゚д゚ ) オカネドゾー
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | そろそろお年玉あげる歳だよ…。 \  ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧ ∧ ( ゚Д゚)y━~~ U | 〜| | U U  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
俺も変数命名規約的に問題ががなければtateとかyokoとかいう 変数使うよ。x,yといった一文字変数嫌いだから。 でもさすがに「kuria」には笑った。
>>79 なんで?
tate,yokoと変わらんよ
>>80 日本語をローマ字表記と
英語をローマ字表記
の差は大きいと思うよ
ていうか、その程度の英単語(clear)すら使えない人が、 プログラミングをできるという事実事態がオドロキだよ。 プログラミングなんて、ある程度英語ができてナンボじゃん。
だから、kuriaは笑っちゃうけど 日本語のtate,yokoは使う事が有るよ って言ってるの もちろんクリアはclearってするけど 縦横は日本語のまま使ったっていいでしょ
縦と横を、 baato、horizu って書くやちはおらんだろ
>75 全然関係ないんだが、そういや昔、有名な某ツールの拡張コマンドは、 「MISA」 でしたなあ……トオイメ #さて何のツールだか分かった人はメール欄にでも答えを書こう(w
まあ笑える変数名といったら、いつぞや誰かが報告してくれた UwaRiteが最強だろう。
まあ、下手にclearとか普通の英単語使うと、関数とバッティングしたりするしな。 使用言語によってはよくわからないバグに発展したり。 どっちにせよ、コーディング規約作っとけということだが。
はーい (。・_・)ノ ついでにUwaRiteを使ってた社名晒しをお年玉代わりに提供〜 CSk
UwaRiteってなんのことかわからなかったが・・・最強だな。
UwaRite・・・(´・ω・‘)ワカラナイヨ
UwaRite…えーと、上書きとか…?
overwrite?
単語を知ってる知ってないじゃなくて、 「UwaRite」とかいうネーミングをしていて何とも思わないところに 大きな問題があると思う。知性というか、その人の考え方自体に。
デスマーチでテンパってたら許せてしまうかも・・・ overwriteくらい、普段使ってるから辞書引くまでもないが。
95 :
仕様書無しさん :03/01/03 22:57
リファクタリング機能があるツール(Eclipse)があれば、メソッド名の変更ができちゃう。 だから UwaRight なんて恥ずかしすぎる間違いがあっても気にしない。 でもJSPで間違えられたらアウトだ。 死にたくなる
96 :
仕様書無しさん :03/01/03 23:17
この前、官公庁向けのプログラム見てたらこんなのがいっぱい有った! if mode then cmdxxx1.Visible = True cmdxxx2.Visible = True … else cmdxxx1.Visible = False cmdxxx2.Visible = False … end if
97 :
仕様書無しさん :03/01/03 23:19
>>96 連番のほうが管理が楽になるだろ。
大丈夫?
コントロール配列・・・
>>97 modeをbooleanだとして、
cmdxxx1.Visible = mode
cmdxxx2.Visible = mode
…
にしる!って事では?
101 :
仕様書無しさん :03/01/03 23:25
>>99 むやみに修正するとこーゆう落とし穴
if mode then
cmdxxx1.Visible = True
cmdxxx2.Visible = True
cmdxxx3.Visible = True
…
else
cmdxxx1.Visible = False
cmdxxx2.Visible = False
cmdxxx3.Visible = True
…
end if
104 :
仕様書無しさん :03/01/03 23:27
>>99 つーかVBってTrueかFalseしか代入できないんじゃないの?
modeがbooleanじゃ無かったらできないだろ
105 :
仕様書無しさん :03/01/03 23:31
106 :
仕様書無しさん :03/01/03 23:32
108 :
仕様書無しさん :03/01/03 23:39
>>107 別にやり方は分かるが99の書き方じゃ駄目だといっているのがわかんないの?
110 :
仕様書無しさん :03/01/04 00:15
ちょっと趣旨とはずれるけど。。 上が途中で放り出したプロジェクト任された。 でもC++で組んでいるのにクラス図なし。 クラス図作成しようとしても、複雑に絡み合って理解不能。 恐らく何も考えずにC++で適当に継承したり、メンバに入れたり したんだなーと推察。 こんなの引き受けさせられた時はちょっと止めたいと思ったす。
111 :
仕様書無しさん :03/01/04 00:18
modeがbooleanじゃ無かったら if mode then なんて書き方できるんかい? できるんやったら TrueかFalse以外も代入できそうな気がするが、できんのか?そら不便やな
112 :
仕様書無しさん :03/01/04 00:22
113 :
仕様書無しさん :03/01/04 00:24
>>110 俺も同じだ。
しかも次々に仕様変更が入っていかんともしがたくなって
無理やり修正しつづけた。
その結果、多分誰もメンテしたくないだろうというソースが完成した。
一応問題なく動いているが。
115 :
仕様書無しさん :03/01/04 00:31
>できねーよ、アフォ できねーんだろ?んじゃmodeはbooleanなんだろ? コレだけ言ってもまだわからんのか?真性もここまで来るともうね、もうね・・・
116 :
仕様書無しさん :03/01/04 00:39
>>115 さすがVB一筋5年のベテランだ。
さすがだね。
117 :
仕様書無しさん :03/01/04 01:12
VBでは0はFalse、0以外はTrueと勝手に解釈してくれまふ。文字列型はダメ。
118 :
仕様書無しさん :03/01/04 01:52
>>116 プ
VBですら、わからない高卒がえらそうに
VisualBaisicだぞ、Baisic!!
基礎もわからんとは、田舎帰ったほうがいいんじゃない?
へっぽこぴーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
your are foollllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
119 :
仕様書無しさん :03/01/04 01:56
120 :
仕様書無しさん :03/01/04 02:17
今年もここは萌えそうだな。
121 :
仕様書無しさん :03/01/04 10:53
Baisic age
122 :
仕様書無しさん :03/01/04 11:10
123 :
仕様書無しさん :03/01/04 11:11
VBで If mode=true Then は危険。どうもmodeに1が入る時が時々あるようだ。 trueは-1なので条件が成立しない。 If mode then にすると正しく動作する。 まあ、VBで今更プログラム作ることも無いからどうでもいいけど
>>123 んなバグ聞いたことねぇぞ
なんか間違ってるんじゃね?
というか、VBの話題になるたびにいっつも荒れますね
まぁ、VBなんて知らん人が多いからしょうがないのかもしれんが
125 :
仕様書無しさん :03/01/04 12:08
まあ、Baisicだからな
126 :
仕様書無しさん :03/01/04 12:14
boolean型はtrueとfalseしかあつかわねーよ。 Cとかでのtypedef BOOL intのBOOLと勘違いしてねーか?
>VBなんて知らん人が多い 最近はVB使いが減ってきて逆に重宝されるようになってきてるんだね
>>124 Delphiだけど、そういうバグがWindows95にあったことがある。
APIに渡す引数のBOOL値の判断が1かどうかで判断していたとかで。
Windows側のバグなので、Delphi側としては1を渡すしかない・・・という最悪のバグ。
>>124 ActiveXの返り値で1を返してくるものがあるんだよ。
これをVBで受取るとTrueだが-1ではないのでTrueと比較するとFalse
べつにVBなんてどうでもいいけどさ
130 :
仕様書無しさん :03/01/04 12:51
131 :
仕様書無しさん :03/01/04 12:54
>>129 それはActiveXのインターフェースの問題でVBの問題ではないのでは?
>>128 あのー…、Delphi(C/C++も)は元々false=0、true=1なのに、何故それが問題に…。
134 :
仕様書無しさん :03/01/04 13:35
Cでもなんでも、 FALSE は 0 で、 TRUE は NOT FALSE であって、 1 じゃないだろ。
135 :
仕様書無しさん :03/01/04 13:42
>>134 , 135
まあ、条件式の判定では、0が偽でそれ以外が真になる。
どっちも言っていることは間違っていないがあってもいない。
137 :
仕様書無しさん :03/01/04 15:16
134が正しい。TRUE=1というのは便法にすぎない。 0以外の全ての値をTRUEとして定義する事はできないからね。 あと、DelphiってPascalじゃなかったっけ? 俺は使った事ないから自信ないが。
>>132 Delphi3だかではtrueが-1で定義されていた。
>>130 ↑の理由によって違う。
>>138 それはOLE互換で設けられたLongBoolであって、BooleanはずっとTrue=1の筈
確か大昔のBASICではいわゆる「TRUE」が-1だった記憶が。 それを利用してスティック状態関数の戻り値と論理式で座標増分計算する イディオムがあったなぁ、と回想してみる。 あ、ついでに。ANSI Cでは確か!0==1と定まってたような気がする。
>>140 APIとしても、BOOL(LongBool)はBooleanのtrue・falseと同義であったはず。
それを信じて、not falseであるところの値を渡したところ、
正常に作動しない、というのはWindowsAPI側のバグと言える。
というか、Booleanとは書いてないよ。
>>139 Cでは、
int i = !0;
でiは1になります。
i = 3 == 0;
も1になります。
144 :
仕様書無しさん :03/01/04 15:51
>>143 いるよねぇ、自分が使っているコンパイラの実装が言語仕様そのままだと勘違いしてる奴。
ところで、 i = 3 == 0 のi は 0 だろ。
145 :
仕様書無しさん :03/01/04 15:55
a) i = 1 == 1 b) i = 0 == 0 c) i = !1 == !1 d) i = !2 == !3 e) i = !0 == !0 仲間外れはどれ?
あけおめことしもヨロヨロ。 年末から新年にかけてレス伸びてるなーと思ったら 素人がいっぱいきてたんだね〜
冬厨は既に風物詩です。コトヨロ。
>>144 Cで比較結果が0 or 1なのは規格だった気が…勘違いかな?
論理否定と算術否定を混同するスレはここですか?
それを言うなら、論理反転、算術反転・・・。
152 :
仕様書無しさん :03/01/04 16:56
いや、あくまでやばいのは脳内だけだろ。
155 :
仕様書無しさん :03/01/04 18:11
>>144 実際には、時として真実であったりもする・・・
工場で働いている万年屋内PGなんかは、自分のいるフロアが 世界の共通仕様だと思ってたりするしな。
158 :
仕様書無しさん :03/01/04 20:32
しかしBooleanごときでこんなけレスがあるとは・・・。
159 :
仕様書無しさん :03/01/04 20:39
>>148 Cの論理演算で重要なのは 0 か 0以外 か。
160 :
仕様書無しさん :03/01/04 20:41
しかも各種言語をごっちゃまぜにして
161 :
仕様書無しさん :03/01/04 20:43
162 :
仕様書無しさん :03/01/04 20:43
>>156 「言語仕様に則った実装」と、「実装が言語仕様」では大きく違うが?
163 :
仕様書無しさん :03/01/04 20:45
164 :
仕様書無しさん :03/01/04 20:47
165 :
仕様書無しさん :03/01/04 20:54
166 :
仕様書無しさん :03/01/04 21:01
167 :
仕様書無しさん :03/01/04 21:03
168 :
仕様書無しさん :03/01/04 21:04
169 :
仕様書無しさん :03/01/04 21:18
170 :
仕様書無しさん :03/01/04 21:19
ま、また〜りしようよ・・・
172 :
仕様書無しさん :03/01/04 21:30
とりあえず話題を整理すると、 C言語の論理演算の結果は1と0 if文などの条件では0は偽で0以外は真 これであってる?
173 :
仕様書無しさん :03/01/04 21:39
>>172 0が偽で0以外が真。これのみしか正しくない。
式が偽であるとは、その式が0を返すことを示す。 式が真であるとは、その式が0以外の値を返すことを示す。 (ANSI-C)
175 :
仕様書無しさん :03/01/04 21:49
>175 テキトー(嘘 ANSI-C言語大辞典 ISBN4-89362-070-3 のtrueとfalseの定義をオレ的に抜粋
178 :
仕様書無しさん :03/01/04 21:57
>>177 なんかあやしいからプログラム版で聞いてくる。
179 :
仕様書無しさん :03/01/04 21:58
180 :
仕様書無しさん :03/01/04 22:06
>>172 実装の一例を挙げると、
演算結果でゼロフラグがONなら偽
ゼロフラグがOFFなら真。
演算した内容は特に重要ではない。
わざわざ1を入れてたら面倒。
>>180 論理演算結果は1と0だと思うんだけど・・・
それを利用したプログラムも見たことあるし。
182 :
仕様書無しさん :03/01/04 22:20
>>181 論理演算の結果は真か偽だろ?
「論理演算」って意味解ってる?
でもよ、偽も真も算術型に変換して覚えていると、 とんでもない落し穴に陥るぞ。 たとえば、異なる言語へ移行する時とかな。
>>183 Cには論理型なんて存在してないんだよ。
boolean とか言ってもユーザー拡張の型なんだからよ。
186 :
仕様書無しさん :03/01/04 22:34
>>184 異なる言語って・・・
どう考えても作り直しだと思う僕は馬鹿?
>>186 Cやってて、たまにJava書いたりすると、分かるよ。
189 :
仕様書無しさん :03/01/04 23:37
VBはどうかしらんが、Cにはtrueだのfalseだのって、なかったんじゃなかったっけ? 関数の戻り値は「偽なら0、真なら0以外」だったり、「偽なら0、真なら1」だったり、 つまり関数によりけりじゃなかったか?
>>189 ごめんなさい。関数の戻り値の話ではないんです。
#define TRUE (1==1) #define FALSE (!TRUE) でいーんじゃねーの
193 :
仕様書無しさん :03/01/04 23:56
だから、Cでは、論理型変数なんて無いの!
>>192 標準関数とかの戻り値が、君の定義したTRUE/FALSEの値と一致する
ことが保証されてはいないような気が…
hoge()が偽で0、真で0以外がかえるような関数だった時、
(hoge()==FALSE)はダイジョウブかもしれんが、(hoge()==TRUE)は
ダメ。ということで、そういうdefine定義を使用するのは、いろいろ
微妙。
CでBOOLはWINSDKの話では? ようしらんが……
FALSEとだけ比較するのが最良って事だね。
そもそも比較なんてしなけりゃいいじゃん。 代入にしたって0や!0が保証されていればいいわけで。
200 :
仕様書無しさん :03/01/05 00:23
>>198 FALSEが0で無い糞コードで苦悩する罠。
>>196 だから何で関数の話になっているんだよ。
関数の戻り値なんて任意なんだからなにが返ってくるかなんて仕様と関係ないだろーが。
>>196 確かに。
標準関数では、明示的にTRUEとかFALSEとか書かれてませんね。
(is系など)
ただ、同一の
ただし、このif文はどう動作するのでしょうか?
if(1==1){
}
>通る
if(1){
}
>微妙
もしかして、hoge()は、0/!0を返す関数ですか?
おまいら、スレ違いいつまで続けるんだ。 これ以上、C言語みたいな話続けるなら 【初心者】C風言語について語るスレ【お断り】 でも立ててやれや
>>202 1 == 1は1が返ってくる
if文の条件は0が偽で0以外が真
だからif(1 == 1)もif(1)も真になる
if(hoge()) {
// 真
} else {
// 偽
}
205 :
仕様書無しさん :03/01/05 00:29
つーかム板にあるだろ。
遅ればせながら・・・
>183
>
http://www.eskimo.com/~scs/C-faq/q9.2.html > > When a Boolean value is generated by a built-in operator, it is
> > guaranteed to be 1 or 0.
>
> だから 172 は正しいと思うよ。
続きも読んだほうがいいよ〜。
Therefore, the test
if((a == b) == TRUE)
would work as expected (as long as TRUE is 1), but it is obviously silly.
〜〜〜〜〜〜
>>202 99%正しいです。
ただ、K&R ANSI−Cにこういう記述がないのは何故?
お題:無限ループ
for(;;)
>記述あり=処理系で保障されている
while(1)
>記述なし=残り1%の可能性があるので
値と式の区別はつけたほうが・・・
なるほど!ここは、 ・人の話を聞かない ・指示どおりの作業をしない(仕事をしない) ・そのくせウンチクを語るのが好き ・間違っていると指摘されると逆キレをする という人たちを見て「辞めたい」と思った…情報ソースを書くスレなんだね!!
こういう香具師等を想定してソース書くのは嫌だな......
>218 思いっきりスレの趣旨に合った感想だな。
>>210 馬鹿を想定して書くと、まともな奴を誤解させる恐れがある。
まともな頭の奴に合わせるべきだ。
213 :
仕様書無しさん :03/01/05 01:34
>>212 みんな自分がまともだと思い込む罠。
言語仕様くらい理解しようね。
話題がほぼC限定って時点で、このスレは終ってる。
ここはC99を知らない人間が無駄にスレ違いレスを続けるスレですか?
216 :
仕様書無しさん :03/01/05 02:03
すれ違いの発端の96でつ… 96のコーディングをした人間の別のコードだが、 VBで関数中に「 Call Tabstrip1_Click 」 とかしてるのが結構ある。 こういうのはセンス的にどうよ? 個人的にムカムカするんだけど
217 :
仕様書無しさん :03/01/05 02:07
>>192 #define TRUE (1)
#define FALSE (0)
と等価じゃん。
>>216 いかにもヤッツケ仕事っぽくて好きだぞ。
そう言うの。
220 :
仕様書無しさん :03/01/05 02:14
#define TRUE true #define FALSE false
>>213 ハァ(゚Д゚)? 自分がマトモだとは言ってませんが何か?
>>222 じゃあどうやってまともな頭の奴探すんだよ。
ちったあ考えろ。
224 :
仕様書無しさん :03/01/05 02:51
これって、Javaだと出来ない。 char* p = NULL; printf("%s\n", p ?: "<null>"); p = "ABC"; printf("%s\n", p ?: "<null>"); ---結果 <null> ABC
227 :
仕様書無しさん :03/01/05 02:59
228 :
仕様書無しさん :03/01/05 03:00
229 :
仕様書無しさん :03/01/05 03:10
>>224 ポインターの操作はJAVAじゃ出来ないな。
という意味ですか?
>>229 ?:演算子の前に、booleanしか受け付けない。
?:演算子の前に、char* を置けない。
?:の間を省略できない。
いいかげん眠いぞ
寝れ
235 :
仕様書無しさん :03/01/05 12:00
>>216 やべっ!おれやったことある・・・。ってよりやってる。だめでちゅか?
だってさ、イベント違いのまったく同じ処理になっちまうときにはダルいじゃん。
>>235 漏れもあるよ。頻繁に。
イベントを理解して、そういう風に使うのは・・・何もわからない奴から見れば「危険」だが
理解している人には「上手い」処理になる。
まあ、素人が「ドリフト?死ぬかもしれないからやらないよ!」とか言うのに似ているな
>>236 ドリフトやるヤシってバカだろ
俺たちは珍走やDQNじゃないって言い訳してるとこが
いかにもバカ野郎だよな
238 :
仕様書無しさん :03/01/05 12:52
>>236 へー、中途半端に理解している奴からみりゃ「上手い」なんだ。
イベント理解している奴ならそんな愚かなつくりにはしねーよ。
>>235 ところで、関数化って何のためにやるかしってる?
>>236 > 「上手い」処理になる。
プププ、どこがウマイんだか??
自己満足もそのくらいにしとけw
240 :
仕様書無しさん :03/01/05 12:57
>>236 玄人は本当に必要なときにしかドリフトしません
ドリフトがかっこいいと思って多用するのは素人
>>238 私の組み方。悪いとこあるなら指摘してちょ。
例)コマンドボタンを押すとする。
とするとコマンドボタンのイベントの中身はこんな感じになる。
Private Sub Command1_Click()
Call 処理1
ret = 処理1−1(引数)
if ret = FALSE then exit sub
Call 処理2
Call 処理3
Call 処理4
Call 処理5
…省略処理20くらいまでつづく。
End Sub
んで、タイマーでまったく同じ処理をするとなると。
タイマーのイベントにまたCallをたらたら書くはめになる。
だから、とっととCommand1_Clickをコールする。
だめ?
ちなみに引数だとか戻り値だとかはちゃんと使ってるぞ。 上のは思いつきサンプルだからね。
>>240 一般公道でドリフトが必要な時ってあるのかよ(w
よって玄人だろうが素人だろうが
公道でドリフトするヤシはDQN
244 :
仕様書無しさん :03/01/05 13:07
>>241 VBではどうなんでしょうね。
.NETだと、イベント処理用の関数って概念はないので、どこから呼ぼうと構わないんでしょうが、VBのそれはイベントのための関数なので、コード中から呼ぶってのは・・・。
>>244 イベント関数をコードから呼ぶのは・・・ってのはなんとなく抵抗感じる。
けど、絶対にイベント関数をコールしないとこだわりを持つほど価値と打開
策を見出せなかったんで・・・。
VBやったことないくせに、中途半端&2ちゃんな知識だけで「ダメだ」とかいう
ヤシが多いんだよ、ここは
>>235 気にするな、気にするな。
動いて納期間に合ってバグ出なければ、勝ちだ
>>246 いや、、、どっちかってーと、否定してほしい。んでその流儀を見たい。
「保守し易い」が追加でほしい。
コードなんて1行すら書けないのにSヨとか名乗ってる奴がいるんです もうね、ヴァカかとアフォかと
>>241 タイマー処理の方も本当に処理1〜処理20が必要なのか
よく考えることだ。
例えば、処理1〜5だけが必要だけどめんどくさいし
影響ないからとボタンイベントを呼んでたりしないか?
それと、将来的に仕様変更が加えられてもボタンとタイマーが同一の処理でよいか?
等もよく考えることだな。
もちろんこの例題じゃなくて、実践でな
>>246 ついでに、保守を誰かに押しつけることが出来れば、
さらに勝ちだな。
>>249 うーん・・・。
とりあえず249の注意事項はすべての満たした結果、イベント関数を呼んでます。
他になにかあるでせうか?
>将来的に仕様変更が加えられてもボタンとタイマーが同一の処理でよいか?
これは思考するだけ非常に無駄だと思います。
まぁ、同一処理ではまずくなったのなら、タイマーにはイベント関数を呼んでる
部分があるはずなので、これをコメントアウトし必要な関数を呼べばいいだけでは?
>>250 あーーー、それはある!
後続のことを考えて書いても後続が最低限のレベルに達してくれていないと
悲しい結末になる・・。
ぷw デスマーチですなww
タイマーから直接コールされてます! っていうコメントを書いとけ
>>254 関数の前に関数の仕様を書くフォーマットがあってそのなかに
[Call]という欄があってそこにいつも書いてます。
ケースバイケースだからどうでも良いが、2箇所から呼ぶってわかってるなら、 モジュールの中や(フォームが限定されているなら、フォームで良いが) Sub CheckUpdate(イベント毎に動作変えるなら必要) ... End Sub しといて、 Sub Button1_Click() CheckUpdate End Sub Sub Timer1_なんだか忘れた() CheckUpdate End Sub としとくほうが、良いかも。
>>256 それは、もちろん試した。
けど・・・なんとなくあんま変わらないなぁって不採用になってしまった。
(特に理由はなかったんだけど)
>>Sub CheckUpdate(イベント毎に動作変えるなら必要)
の引数の部分の使用方法はどうかと・・。
>>の引数の部分の使用方法はどうかと・・。 イベントハンドラーに、sender引数があるのは悪くない。
>>なんとなくあんま変わらないなぁって もし、タイマーがボタンクリックのエミュレートなら、ボタンクリックのイベントハンドラー 呼ぶのは正当。 もし、ボタンやタイマーといったイベントの通知元と独立した処理ならば、コントローラの 債務として切り出したほうが良い。
>>259 そうなん?
でも、関数内で結果的にその呼び出し元によって処理の流れが違うなら
最初から分けたほうが早くない?
>>243 雪国ではそこいらのオバちゃんも普通にドリドリしてますが何か?
>>260 やっぱそうなるよね?
私も同感。とりあえず、今まで目的が別な同処理ってのがなかったんで。
ケースバイケースって書いたけど、もし、 処理1 処理2 If Sender = Button1 Then 処理3A Else 処理3B End If 処理4 …… 処理20 だったら、どうよ? (OOならポリモーフィズム使うとこだけどね)
>>264 1箇所だけって指摘がくると思ってました。
VBでは私の場合、このときは、完全に分けてしまいます。
理由は?といわれると、引数によって動きを変えるクセをつけてしまうと、
より複雑な処理を記述する際にも引数によって動きがガラガラ変わってしまう
関数を書いてしまいそうで。
>>VBでは私の場合 Cの場合は別とか言うオチかな?
>>266 まぁ、あれですなソコはプログラマー1年後には読んでみるのもイイページ
の代表例ですな。
、と本題に戻して。
こうなった理由がホントは別にあるんです。
処理そのものは単純処理なんですが、各処理を行う条件が半端じゃなく
複雑なものを普段作成しています。
そのせいで、引数で動きを変えるような作りにした結果「ガラガラ動きが変わる」
ってのが発生し、非常に苦労させられました。
だから、徹底して分けてます。
この場合の対処法は、
処理1〜5までが同じだとすると、処理1〜5までを呼ぶ関数を作成し呼ぶ。
各異なる処理を挟み。
処理6〜を呼ぶ関数を作成し呼ぶ。
つまり、
Command1_Click()
call 処理1〜5のパック
独自の処理をコール
call 処理6〜のパック
End Sub
Timer_わすれた()
call 処理1〜5のパック
独自の処理関数をコール
call 処理6〜のパック
End Sub
としてます。
>>249 >将来的に仕様変更が加えられてもボタンとタイマーが同一の処理でよいか?
仕様変更しても処理を変更しないのがアホ
つうか、ユーザーインターフェース自体からダメダメなんじゃねーの? どんな処理もボタン一発ってか???
>>270 ボタン一発でけりがつくような、単純条件ではない。
MVCとか考えると邪道なんだろうね。 俺もBCB使うとそのまま呼んじゃうけど。
>>268 まあ、処理の粒度がわからんので、なんとも言えないよね。それ見る限りじゃ問題なさそうだ。
>>271 え?
みんな同じボタン一発で複雑な条件を処理させようとするから、条件分岐の塊のような実装になるんでしょ?
おまいらいい加減スレ違いやめれ
でもまぁ、この程度で辞めてたら行く会社ないと思うぞ。
ごめん。激しく出遅れた。
>>247 ボタンで動く何かの処理を実装する場合、「ボタンで起動される処理」
ではなくて、「何かの処理」としてまとめて欲しい訳。
たとえば、
sub ボタン押された
ナイフ研とぎ
アリバイ工作
t = ターゲットサーチ
ナイフ構える
突撃(t)
死亡確認
逃亡
end sub
sub 時間が来たよ
call ボタンが押された ' ← 何するかみえんし
ed sub
みたいな事書くくらいなら、
sub 殺す(誰か) // 中身は大体上と同じ end sub ボタン押された t = ターゲットサーチ 殺す ( t ) end sub 時間が来たよ t = ターゲットサーチ 殺す ( t ) end みたいに書いておいたほうが、読みやすくないか? もっと意味のある関数化とかを試すのはどう? イベントで関数を作るのも必要だが、いろんな観点から 処理を眺めて、汎化した関数を出していくと将来楽。 ついでに、タイマで「自動的にボタンを押下する」仕様なら、 ボタンイベントをOS経由であげたほうが後々楽。 ・・・・なんかうまい事まとまっとらんな。 つっこみ歓迎(泣
280 :
仕様書無しさん :03/01/05 21:24
VBですか?かっこわり
>>280 しかも文法よく知らんから間違ってる気配濃厚(w
スマソ...
>>ボタンイベントをOS経由であげたほうが後々楽 ここは、VBじゃイヤンなとこだな。後はOKだYO!
まぁ、VBだと日本語の関数とか変数が可能なので 適当に書いたサンプルコードが実際に動いちゃったりするわけですが どうでもいいんだけど、「xx計算」とか「xx処理」とかいう 日本語の関数名ってどうよ?香具師を止めろといいいたい。
sub 共通計算処理関数その1A() とかいう関数名をつけまくってた(コーディング仕様になってた) プロジェクトに2年いたことがありまつ
285 :
仕様書無しさん :03/01/06 15:23
>283 俺はC言語erなのでイヤだなそれ。 でもVBの仕様で可能ならば、オッケーなんじゃないか? ぴゅう太なんかコマンドまで日本語だったぞ。
>>285 日本語ではなく「その1A」とかいうマジックナンバーが問題なのでは?
287 :
仕様書無しさん :03/01/06 19:02
>>286 慌てるな。落ち着いてレス番を見るんだ。
とりあえず茶でも飲んどけ。
あはは、
>>286 は痛ぁ〜いミスしちゃってるね(w
「共通計算処理関数その1A」が別にある罠
>>282 Command1.Value = True
こういう話題が出るたびに言ってるような気がするが Javaも実は日本語の変数名などを平気で通してしまう罠。
>>294 Σ(゚Д゚;;)マジッスカ
ホンキで知りませんですた
正直286のどこが痛いのか解らないのですが...
283と284の話が繋がっていると思うのは漏れだけでつか?
今の現場のVSSの中には、日付の付いたディレクトリが沢山ある。 お前らな、明日バージョン管理ソフトの意味小一時間問いつめてやるから 今日はもう帰っていいですか?
>>298 繋がっていると確かに取れるが、おそらく別の人が書いたとも取れる。
だとしたら 286 はやはり的外れだ。
>>298 まだ分かんねーの?
283「日本語の関数名ってどうよ?」
284「共通計算処理関数その1Aとかいう関数名をつけまくってたプロジェクトにいた」
----------------------------------------------------------------------
283「日本語の関数名ってどうよ?」
285「でもVBの仕様で可能ならば、オッケーなんじゃないか?」
286「日本語ではなく「その1A」とかいうマジックナンバーが問題なのでは?」 ←ハァ?
「日本語の関数名ってどうよ?」 って投げかけに対するレスをして 「日本語ではなく〜が問題なのでは?」 って言われたら・・・ 俺だったらもっと暴れちゃうぜw
>>283 の日本語がおかしい。
それが一番の問題。
>>303 「いいいたい」 を除けば、取り立てておかしいようには見えないが。
303=286
>303 「香具師を止めろといいいたい。」を「使う香具師にやめろと言いたい。」に するだけなので、別にいいんじゃない?意味は通じるよ。 あと、286さんのは、ちょっとした勘違いだろ。そうイタイというほどの もんじゃないだろ。2chなんて斜め読みだし。
本気かよ? >日本語の関数名ってどうよ?香具師を止めろといいいたい。 前半と後半の文が全然繋がってねーじゃねーか。 後半の「香具師を止めろといいいたい。」の主語は何処に行ったんだ? 前半を繋いで、主語を作ろうとすると、その繋ぎ方によって、文章の意味合いが 180度変わってしまうことに、気が付かないのか? ちょっとは日本語の能力をつけろよ……。仕様書を読み込んで、その曖昧さを 潰していくのも、おまえらの仕事の内だろ?
308 :
仕様書無しさん :03/01/07 02:10
>>294 コンパイラは通してくれても、上司が通してくれませんですた。
ヽ(`Д´)ノウワーンこうしてやる /*
>>307 漏れは別段、曖昧とは思わなかった。
「(それを書こうとする) 香具師を止めろといいいたい。」 以外に解釈できる
としたら何だ?
*/
>>307 主題は「日本語の関数名ってどうよ?」だろ。
286と「香具師を止めろといいいたい。」にどういうかかわりがあると言うんだ?
関係無いだろ、話をそらすな。
>>307 > 後半の「香具師を止めろといいいたい。」の主語は何処に行ったんだ?
「いいたい」のは「漏れ」でしょう。
ちょっとは日本語の (以下略)
316 :
仕様書無しさん :03/01/07 02:49
ったく、いまどきのコンパイラでもこんなにしつこいエラーメッセージは吐かねえぜ。
318 :
仕様書無しさん :03/01/07 02:55
なんでそんなレベルの低い話題でそんなに盛り上がれますか? 楽しそうでうらやましいったらありゃしない。
そのコンパイルエラーは、303 を指しまくっているな。
321 :
仕様書無しさん :03/01/07 03:22
自称プログラマ歴10年以上の30代後半の男が 「俺はスレッドプログラミングで問題を起こしたこと無い」 「MFCのソケットクラス作るよりも自前で作るよ」 と自慢げに話し 送信と受信それぞれにスレッドおったてて。 しかも受信スレッドの中で・・・(引数は省略) void mainLoop() { //(snip) size = recv(...); st = parse_packet(...); if (st == 0) { mailLoop(); } //(snip) } かなりsnipしたが、このmainLoop関数のステップ数は100行を裕に越える・・・ どうよ。
>>324 つうか、「再帰している」 と 「再帰可能」 は同列に扱うなよ。
つうか、最近このスレ本筋に関係ない部分のつっこみが主流ですね
327 :
仕様書無しさん :03/01/07 06:43
>326 確かに。 >324 リカーシブルって何だよ。リカーシブだろ。Recursive。
>309->311 激しくワラタ 310の意見が的を射ているだけになおさら
>>283 を読んで、何の違和感も感じない奴っているんだね〜。
違和感を感じない奴は、
>>283 みたいな文章を書き連ねてるんだろうね。
やっぱり、国語教育は大切だよ。
>295 Java は言語仕様で、識別子を「Java 文字及び Java 数字からなる文字列で、先頭が Java 文 字であり、全体が予約語と一致しないもの」としている(ちょっと意訳)。 で、Java 文字ってすなわち Unicodeなんで、なんでもあり。 日本語どころかロシア語・フランス語・タガログ語・インド語・ハングル…… 中国語でクラス名書かれたりしたら微妙だよなあ……
>>331 (てか、アラビア語とかで右から左へ書かれたらどーするんだろ ・・・)~~-y(´-`)
モンゴル語の縦書きはどうなる・・・・・(;´Д⊂ ウエーン。ワカンナイヨウ。
「てめぇこんな簡単なソースコードも理解できねぇのかよ」 「あの・・・大体は分かるんですけど、アラビア語が理解できないんです」 とかありえるのかなぁ、さすがにないよなぁ
>329 違和感はあるが、言いたいことを汲み取ることはできる。 ここは論文発表の場か? それともアンタはPascalのコンパイラか?
>334 もう放置しようぜ。くどくどと話さないと意思の疎通が出来ない奴なんだよ。 たかがヨタ話でも、てにおはの間違いも、わかりきった部分の省略も 察する事が出来ない、仕様書を読むために生まれてきたような男なんだよ。 人と会話をするといつも、うぜえとかくどいとか皆まで言うなとか 言われてるんだろう。気の毒だ。
どうでもいいんだけど、「xx計算」とか「xx処理」とかいう 日本語の関数名ってどうよ?(と言う)香具師を止めろといいいたい。
そんなことより、お前ら、はったい粉食おうぜ、はったい粉。
つーか >リカーシブルって何だよ。リカーシブだろ。 区別つかないのかよ
>どうでもいいんだけど、 >「xx計算」とか「xx処理」とかいう日本語の関数名ってどうよ? >香具師を止めろといいいたい。 だろ? 283の主題は「計算」、「処理」の方じゃねーの?
>>340-341 if (st == 0) {
mailLoop(); <- これはリカーシブじゃないんですか?
}
っておもったら、mainじゃなくて、mailかよ!!
343 :
仕様書無しさん :03/01/07 20:40
std::string strLine; std::vector<string> strLines; char strWrk[65535]; FILE *fp=fopen("uriage-file.txt","rt"); while(!feof(fp)) { fgets(strWrk,65535,fp); strLine = strWrk; strLines.push_back(strLine); } for(int i=0;i<strLines.size();i++) { ・・・・・・ わかった わかたよ STLがダイスキなんだろ? お前の主張したい事は良くわかった。 ・・・・・前任者よ、こいつにどんな教育したんですか?
>343 string使っててgetline()使わないのか。fstreamが嫌いなんだろうか。 それ以前にそのファイル全部をオンメモリに持つ必要があるのかと小一時間(ry
>338
マジで聞くんだが、「リカーシブル」っていう単語があるのか?どんなスペル?
俺は「リカーシブを誤解してるんだろうなこのバカめ」って今まで
思ってたんだが、バカは漏れのほうでつか?
>342
あんがと、アンタがいなかったら俺は最後まで気付かなかっただろう。
・・・って、
>>323 のタイプミスと違うんか?
346 :
仕様書無しさん :03/01/07 22:11
>346 ソレ(・∀・)イイ!!
>>345 無いみたいよ。
俺も気になってアルクで調べてみたら無かった。
recursively
なら有ったけど、発音が違うしね。
リカーシブルブル とかほざいていた香具師がいたな
香具師を止めろといいいたい。
>>343 ,344
ファイル「全部」を固定長配列(動的確保一切無し)に読み込んだ後、
STLで処理するソース書いた事がありますが何か?
…読み込み部分の設計は、他のヤシの担当だったんだよう。
STL使う設計に直したかったが上司に阻止されたんだよう。
何であんな設計でレビュー通るんだよう。
352 :
仕様書無しさん :03/01/08 01:28
>>351 そういう設計しかできない奴が、動的確保なんてやったらバグが
出まくりでめちゃくちゃになって終わったんじゃ?
こんなのもありますた。(書いたのは343と同じ香具師)
ソースのコメントもそのままです。
//DWORD型の定義
#define DWORD unsigned long
//構造体1
struct HEADERS{
std::string strHeader;
DWORD bProcess;
};
//構造体2
struct VALUES{
std::string strLabel;
DWORD addr;
string strSource;
DWORD line;
std::string strSect;
DWORD dwID;
};
class C(名前は伏せます){
public:
std::vector<HEADERS> m_szHeaders;//配列1
std:: vector<VALUES> m_szValues;//配列2
std:: vector<VALUES> m_szValues2;//配列3
・・・・・・・・
>>344 一見してわかるようにDWORD&vector&stringフェチのようです。
高校〜大学とC/C++を趣味でやってきたらしいのですが・・・
あ、全角でインデント入れたらstd::が一部消えてますね(w
とりあえず、書かれているコメントは全部不要だな。 クラスメンバの名前の怪しい。 あと、HEADERS + VALUES + VALUES で 1 つの構造体かクラスが作れそうな予感。
つーか、szは、zeroターミネートstringという意味=要するに文字列のハンガリアンなので、 vectorに使用してはいけない。
リバーシブルって〜のと混同したから、リカーシブルとか言ってるんだよ。
ループまわすときiterator使わないのかぁ。
for_each と逝ってみる
STLマンセー
ファイルを全部メモリ中に読み込んで、strtokかなんかで行毎に切り分けて 各行の先頭ポインタをvector<char *>にでも放り込むかな。 その後、何するかわからんんし、それだけメモリを使っても良いのかわからんから、 何ともいえないけどな。とりあえず、直せと言われりゃ、こう直すな。
s/mailLoop/mainLoop/ 失礼。 なぜリカーシブなのかって? 俺が知りたいよ〜 と思ったけどさ、 聞くと偉そうに「こ〜するしかなかったんだよ」とか「時間が無かった」とかいう・・・ それじゃプロトコルパーサーのロジックに半年以上も駆けんなよと突っ込みを入れたかったが 俺はもうその会社、辞めたし。 その人は、プロジェクト終わったら首だし。 も〜ど〜でもいいいか・・・。
ああ、ちなみに漏れは普段「再起関数呼び出し」か「リカーション」(recursion)といってます。
再帰は、recursive 再帰可能は、recursivableとかいうのかね? いわんね。
もう一個面白いネタがあった・・・ その人の作ったプログラムについて ある日、客先からWindows 98で起動時にリソース不足でエラーのクレームが来た。Windows 2000では動くらしい。 「原因は不明」とか作った人は言いはり、別のメンバーが調査。 起動時にダイアログ(画面上隠れている)を128個も作っていたのが原因だった。 作った人を問い詰めて修正させた、帰って来たお返事メールは「128個を8個にした。」という自慢気なメールだった。
>>336 「xx計算」「xx処理」「xxチェック」とかいう名前じゃ
何する関数だか分かりにくい。
もっとこう、「○○を求める」「○○を××する」
「○○が××状態かどうか」
という風に処理内容を分かりやすく表した名称が望ましい。
xxx_check() という関数なのにxxxをチェックした後の処理まで
そこに実装されてたりするともうなにがなんだか。
367 :
仕様書無しさん :03/01/08 15:36
>362
>>323 の関数って、再帰してちゃんと動くのか?
>365
>「原因は不明」とか作った人は言いはり、別のメンバーが調査
「原因は俺じゃない」なら、まだわかるんだが、「不明」じゃ回答になってねえ(苦笑)
>366
それは関数名じゃなくて、コメントとして書くことだろう。
個人的には「再帰可能」は"reentrant"と訳すかも知らん。 >367 いや、関数名だろ。 sjis_check()だと戻り値がどうなるかまるで見当もつかんが、 is_sjis()なら一目見て「sjisなら非ゼロ」だとわかる。
それは関数名でもあり、コメントにも書くべきだろう…… スマン
370 :
仕様書無しさん :03/01/08 20:33
再入可能・・・。
みんなの嫌いなグローバル変数を考慮に入れると、 reentrant と recursive は区別せねばなるまいよ?
挿入可能
373 :
仕様書無しさん :03/01/08 21:50
再帰と再入の区別のついてない奴がいるな。
>>365 使えない奴ってのは、なんでか動的に何かやるのを嫌うよな。
次スレ案 この会社を辞めようとおおもったソースコード#9
関数名を見れば自明な事は、 コメントに書くべきではないけれど、 何を自明とするかは人によって違うから、 どちらがいいとは一概には言えないね。
この会社を辞めようと思った割るれるな#9
この会社をexit(0)しようと思ったソースコード 再帰9回目
>>365 ところで、その人はなんで128個もダイアログを作ってたの?
> 帰って来たお返事メールは「128個を8個にした。」という自慢気なメールだった。 ダイアログ 8 個も保持してどうするつもりなんだ?
>>379 そこはつっこむとこじゃなく、笑ってあげるとこ。
> 帰って来たお返事メールは「128個を8個にした。」という自慢気なメールだった。 (゚∀゚) アーッヒャッヒャッヒャ!!! ア━━━━━(゚∀゚)━━━━━ッヒャッヒャッヒャ!!! これで OK でつか?
元請けが匙投げて寄越したソース、 構造体のメンバ名が「szHoge」なのに ナル文字がどこにも無いぞ (#゚Д゚)ゴルァ! お陰で1ヶ月損した ('・ω・`) しょぼん でも、部長が元請けから金を分捕って呉れるとか 逝ってるんで、逆にいい鴨。 ( イイわけねえべ!・・・)~~-y(´-`)
>373 自動変数を嫌う。 スタックを病的に嫌う。なぜだろー。
384 :
仕様書無しさん :03/01/09 13:31
こんなのを発見しますた。 '処理概要:文字列の中から数字だけ取り出し Private Function SYUJI(MOJIRETU As String) As Long どうやれば「すうじ」が「SYUJI」になるのか理解できません。 習字?
>>384 つーか、そーゆー関数名は凄いイヤ。ワラタけど。
387 :
仕様書無しさん :03/01/09 14:20
>384です。 >386 仰るとおりです。見ててイライラしますよ。 変数命名規則とかあるにもかかわらず、何回言っても自分しか使わない関数は妙な名前(他にも強烈なのが xx(何か忘れた)_CHACKとかがあった)ばかりつけるんで始末におえません。ま、そいつはもういないけど。
命名規則守らないってのは、度が過ぎるとペナルティの対象に ・・・ってもういないのね。納得。
ListにIntegerが入っているとして 普通はこうなわけだが > for(Iterator i = list.iterator(); i.hasNext(); ){ > int value = ((Integer)i.next()).intValue(); > : > } こんなのが。 > for(Iterator i = list.iterator(); i.hasNext(); ){ > int value = i.next().hashCode(); > : > }
なんか問題あんの?
辞めたくなるほどではないが、キモイヨ
392 :
仕様書無しさん :03/01/11 00:58
393 :
仕様書無しさん :03/01/11 02:55
#define WTO printf #define OPEN fopen #define GET fread #define CLOSE fclose
眠たいときは、ワケのわからん関数名を付けて、 謎なコメントを書いてます ・・・うう、ゴメンなさい。あとでちゃんとなおしますから・・・。
395 :
仕様書無しさん :03/01/12 10:16
今日こんなコードをハケーン ItemSet: '要素設定 If yo = 1 Then yoso = 1 If yo = 2 Then yoso = 2 If yo = 3 Then yoso = 3 If yo = 4 Then yoso = 4 If yo = 5 Then yoso = 5 If yo = 6 Then yoso = 6 If yo = 7 Then yoso = 7 If yo = 8 Then yoso = 8 If yo = 9 Then yoso = 9 If yo = 10 Then yoso = 10 Return しかもVBでGosub&Returnかよ・・・ こんなんで給料貰うなや
yosoは「要素」だろうけど、 yoって何?
>>384 PickUpNumFromString(Byref strSource As String) As Long
または、
GetNumberFromString ....
とかじゃダメ?(長過ぎ?)
>>395 > こんなんで給料貰うなや
手は動かすが、頭脳は使わない肉体労働者と思われ。
398 :
仕様書無しさん :03/01/12 12:08
Private Sub ExecSex(ByVal lngWomanNum As Long, ByVal vntMousou As Variant)
399 :
仕様書無しさん :03/01/12 14:28
AnsiString GetYoubiWoMorau(int suuji)
400 :
仕様書無しさん :03/01/12 14:54
Get400!!
>>396 どうやらyoもyosoも配列のインデックスのようだ。
コードを見ると内容が全く同じItemSet2なる部分を見つけた。手に負えん。
>>397 その位の長さならいいのでは?短くしようとすると考えるのに時間かかるし、
逆に1文字とかで内容の見当もつかない関数名はどうかと思う。
> 肉体労働者
相当睡眠不足だったんだな。きっと。
402 :
仕様書無しさん :03/01/12 20:14
「・・・・? この int M03F005() ってなに〜??」 「仕様書読めよ。第三モジュールの第五関数だから・・・・」
404 :
仕様書無しさん :03/01/12 20:27
>>402 仕様書が完全なら別にいーんじゃないの。
>>402 とりあえずマクロ。あるいはプリプロでなんとか汁ってのは、どうか。(悲
>>404 いいのかよっ!
これだからコボラーは・・・ry
>>404 ネタだよね・・・・??(汗
いゃ、ちょっと不安になったもんで。
>>402 そいつ、ソースの可読性と開発効率(コスト)の相関関係を理解してないね。
ちなみに、言語はJava まともな名前のメソッドは mainくらい。 クラスはモジュール内に一つ。なまえは M03など。 その開発者、得意言語はもちろんCOBOL。 ・・・・いや、マジでやめようかと(w
410 :
仕様書無しさん :03/01/12 22:13
仕様書が常に最新ならいいんだけどね。
411 :
仕様書無しさん :03/01/12 22:19
>>409 別にコボラーじゃないけど、仕様書が完全ならいいと思うが。
>>411 仕様書の完全さとソースコードの見易さは別もんでしょ?
413 :
仕様書無しさん :03/01/12 22:41
>>412 ってより仕様書の完全なやつってみたことない
class C12546 extends AC77789 implements I43555 { public void M88585(C77382[] argC7) { C64552 instC64 = C332415.M22612(); for(i=0;i<argC7.length;i++) { instC64.M1241(argC7[i]); } } } ... あー、ループしてるんだなって事ぐらいしか、わからない....。
>>41 4
腹抱えてワラタ。こんなのがどっかで動いてるのか・・・。
元の話に戻すと、
そもそも連番記号ID制そのものが完全さから程遠い管理手法だと思うが。
仕様書でまとまっているならなぜモジュール名やメソッド名に
わかりやすい名前を付けていけない?
仕様書で管理されているから逆に命名が自由になってもよさそうなもんだけど。
>>414 気違いが書いたとしか思えないコードだ…
418 :
仕様書無しさん :03/01/12 23:02
>>41 5
414見たいなのはいやだけど、名前付けには最低限のルールは必要。
そういう意味でいくとハンガリアンとかは嫌っている奴は多いけど、
統一するには便利だと思うが。
>>417 COBOLは、素人でも読めてしまうため、わざと暗号っぽく作る人が
いる。って生粋のCOBOLerに聞いたことある。
>>419 理由を聞いたら、
COBOLは予約語が多く、英単語を関数名に用いると
予約語とかぶってしまうから・・・ だそうな(w
421 :
仕様書無しさん :03/01/12 23:09
すたぢお すとどりぶ めいん あおおお, あおおい, あおおに, あおおさ, あおおし, あおおご あおおろ, あおおな, あおおは, あおおく, あおいお すかん あおおお もし あおおお = お いけ ふおおい もし あおおお = い いけ ふおおに もし あおおお = に いけ ふおおさ もし あおおお = さ いけ ふおおし ふおおい: : いけ ふおおご ふおおに: : いけ ふおおろ ふおおさ: :
>>416 でも、"C"とか"A"とか"I"とか付いてるのが、最後の良心。(笑
>>420 かぶってもコンパイルエラーになるだけなのに・・・(わら
424 :
仕様書無しさん :03/01/12 23:15
>420 俺は理由になってないと思う。
426 :
仕様書無しさん :03/01/12 23:51
>>424 しょうがないのか・・・
では、そもそもCOBOLという言語を使うこと自体が間違っているということでファイナルアンサ〜?
>>418 命名規約がなくていいって言うつもりはないよ。
ただ、「完全な仕様書」なんて持ち出すやつがいるから、
「仕様書が完全なら連番にする必要すらないでしょ」
って言ってみただけ。
>>424 Javaの話だろ。なにが「しょうがない」んだよ(w
あ、失礼。
>>427 「(w」がついていないと、冗談かどうかもわからないのか…?
>>431 そりゃ、失礼。マジっぽく読めたものでね。
実際「じゃあしょうがない」でまかり通そうとするような奴が
たくさんいる環境で仕事してるから鈍ったかもしれん。
>>.426
そのファイナルアンサーは別スレでやってほしいけど、
他言語の瑣末な流儀を持ち出されると
「辞めたくなるソースコード」化することが多いようですな。
「今までライブラリ作る仕事していた」と自慢げに語っていた係長のソースみたら、 入力専用のポインタ引数に const 使っていなかった。 どんなライブラリ作ってたんでそか。
435 :
仕様書無しさん :03/01/13 00:37
>>434 うちの会社も関数ライブラリにことごとくconst無いんだが・・・
つけ始めると際限なくエラーが出続けるので、
禁断の (void*)通してライブラリ使いますた。うえぇぇん。
>>434 仕様があまり決まらないまま、色々と作らされている状態の
ライブラリだと、結構そういうことやるよ。
仕様の決まってないライブラリって、ライブラリにする意味が…
先に何かパッケージ商品の開発企画が持ち上がってて、で、同じコストかけるんなら、 同時に今後もつかえそうな部品はライブラリ化しておこうって、流れだと... ガクブル
>>438 入力情報のポインタには「関数作るときに」無条件でconstつけろ。
オブジェクト指向っぽい言語使うときは 取得メソッドの
宣言書くときにはconstつけんかぁ!
・・・・と会社で叫びたくなったことあります。(T_T)
「後でつける」なんてのはconstの重要性を理解していない証拠ですよん。
でも、constがしっかりついてるソースのほうが珍しいといえる。
ライブラリって、作っては見たものの、日々拡張が施され、 このプログラムには、このバージョンの、 あのプログラムには、このバージョンのライブラリじゃないと 動かないよ、てな事になって、しっちゃかめっちゃかで、 結局、ライブラリの意義って何よ? ってな事になってるのが普通なのではないかと思ったり。
>>441 そういうことをなくすためのアプローチの一つとして
constつけろ〜とかいったりするんですが・・・
Javaにはconstなんぞありませんが、何か?
>>414 遅レスだがそれと似たようなコードを、U○○、み○○のシステムを
手がけたとされる某社で見た。
U○○、み○○がたて続けにコケたのニュースで見た時は、もう笑うしかなかったな。
漏れが見たシステムはまだリリースされてなかったが、どうなる事やら…
446 :
仕様書無しさん :03/01/13 13:43
>>443 Javaだと finalだよね。ちょっと意味合い違うか?
とりあえず継承や実装される事が前提の抽象クラスやらインタフェースは、
後で仕様が変わろうがなんだろうが、勝手に書き換えられると困る。
どうしても仕様変えたいなら、ファサードするかアダプタ作れと言いたい。
448 :
仕様書無しさん :03/01/13 13:46
ちなみに
>>414 みたいなソースだと、いくらきちんと構造化されてようが、
OOで整理されてようが、再利用なんてしたくも無い(笑
機能的には無意味だが、対人間用ラッパーで包んでしまいたい。か、
マクロ。
>>446 final Object foo;
は
Object * const foo;
であって、
const Object * foo;
とは違うぞ。
>>450 final interface IFoo {
void someMethod();
}
とか、
class CFoo {
final int iArg = 0;
}
のような形に宣言されていればいいのにね、と言いたかったんだが。
...あれ?俺、話の流れ読めてない?
> ...あれ?俺、話の流れ読めてない? はい、読めてません。 とりあえず、 > final interface IFoo { これはないだろと言いたい。
>>452 ...すいません、とりあえずブルペンに引っ込んで、ベンチあっためときます。(寒
..つか自分で書いといてなんだけど、何考えてたんだろ。
finalなinterfaceって何よ...。(超寒
> finalなinterfaceって何よ...。 会社辞めようと思った時に仕掛ける罠に決まっておろうが。
(^^)
(^^;
458 :
仕様書無しさん :03/01/17 07:21
会社を辞めようとは思いませんでしたが、 ポインタのポインタが宣言されていて、どこを見ても参照でしか使っていないのを見ました。 こんな感じ、 typHoge **piyo_ptr; ... piyo_ptr = &piyo_ptr_list[idx]; ... payo = (*piyo_ptr)->poyo; 実際はもうちょっと複雑なんですが、プロジェクト全体にこの書き方が蔓延していてうんざりしました。 誰かがそう書いているのをコピーしていった結果なのでしょう。 最初が肝心なんだなあ、、、って誰か気づけよ!
>>458 最初が肝心、、ホントに後悔している。
そのケースとは全然違うんだけど、コピペの嵐で修復不能なウン十マン行のソース。
最初に、あのクソ害虫が書いたソースを何も知らない新人が真似して量産...
あの時直しておけば、、って今でも後悔している。
>>459 後悔してるヒマがあったら、とっとと直せ。
>>460 それが可能だったら後悔なんかしないだろ。
>>463 どのツールだか知らないが、修正した後のテストはどうするつもりだ?
おいらのところのこの例は、簡単な置き換え作業なので、なんかの作業のついでに直しておいてねって通達を出してお仕舞いにしました。 459のところはブロックをコピーペーストして、似ているけどちょっと違うコードを量産されちゃったんじゃないかな。同情するよ。 こういうことやる奴はいつも同じだから、仕事を投げっぱなしにしないで、途中のソースを提出させるなり、なにをどうやってるか報告させたりしたほうがいいよ。 教育はあなたの仕事じゃないのかもしれないけれど、それを上手にやると結局自分が楽できるからね。 ...失敗すると、逆切れされて細かい奴とか嫌な奴とか言われるんだけどねー。 463のあのツールって何のことかな。うまくああいうのが直せるツールがあるなら教えて欲しい。sedじゃないよね。
>>463 の「あのツール」は wc です。
「ウン十マン行」ではなくて正確な行数を知ることができまつ。
>>466 話の主題は、正確な行数ではないだろうに……
>>467 463の部分引用の仕方を逆手に取ったネタだと俺は思ったけど・・・。
Seizei Ebattero DQN ga!
何でもこなす万能ツール。その名は・・・「根性」
>459のところはブロックをコピーペーストして、似ているけどちょっと違うコードを量産されちゃったんじゃないかな。同情するよ。
まさにそのとおり...
どうプロジェクトの、別チームが書いたソースだからねぇ。。
最初見て、ハァ?と思った瞬間に突っ込めばよかった。。
知らない間に量産され...今に至る。
>>470 今生出す気も起きないっすよ...
↑ 「どうプロジェクト」→「同プロジェクト」
>472 そっちよりも、「今生出す」の方を訂正しろよ。 いまナマだすのやめれ。
>>471 何処でも同じような問題抱えてますなぁ。
直す直さないは別問題として、問題点の指摘だけはしっかりといたほうが吉。
品質が悪いのを修正者の責任にされるのも馬鹿らしいし、
後の仕様変更や改造でで膨大な工数を浪費させられる理由も
プロジェクトリーダーあたりまでには知っておいて貰わないとひどいことになるし。
うちのプロジェクトでは、長年言い続けてきた甲斐あって、
使えないソースを改造するのではなく「設計からやり直す」と
いう作業を行うことができるようになりました。
再設計などもまかせてもらってるのて好きなように作り直してます。
10k行程度のプロジェクトなので、なんとかなりそうです。
>>473 おっと!気付かなかった(汗
するどいイッコミあろがとっ!
>>474 この前「達人プログラマ」読んだんですよ。
「割れた窓を放置するな」(だっけ?)
↑見たいなことが書かれていた。
腐ったコードを放置しておくと、後でエラい目にあうんだねぇ…どこでも良くあること?
「問題点の指摘」うん、分かりますた。
状況を上の人間が知ってる、知ってないじゃ、その後は全然違ってくるだろうしね。
とりあえず、
>>472 は漢字の読み書きを勉強すべきだな。
しょうがく3ねんせいぐらいのやつから。
あぁ、イタイ。。。
478 :
仕様書無しさん :03/01/18 02:19
#ifdef がいたるところに書かれていてほとんど読めないソース・・・・
それぐらいは、良くある話だ。
>476 読み書きというより、タイプした後読みなおすということを まったくしてないだけちゃうか? でも2chなんかに書きこむのに、いちいち推敲しないしな。
注意してても誤字が直せないならちょっとあれだけどな。 それにしても、「するどいイッコミあろがとっ!」にはちょっと笑ったよ。
482 :
仕様書無しさん :03/01/18 11:14
switch { ... } までが4000行近くあるのを見た時にはダメだこりゃ、とオモタ。
483 :
仕様書無しさん :03/01/18 11:27
breakとコールを計算して、約1300の分岐ならすげーな
>481 >それにしても、「するどいイッコミあろがとっ!」にはちょっと笑ったよ。 手が冷たくて、うまく動かなかったんだ... 注意力も足りないね。。。 無意識に2ch.で笑いをとれたのは、妙に嬉しいのぉ。
If 2330 <= Val(Format(Time, "hhmm")) <= 2359 Then という記述があった。
>>485 なんだか楽しそうだな。その処理からはジリジリする感じが伝わってくるよ。
>>484 笑いっていっても、乾いた・・馬鹿にした笑い・・・なんだが・・・
489 :
仕様書無しさん :03/01/19 01:55
>485のはbasicっぽくみえるんだが、最近のは数値の範囲をチェックできるようになったのか? ...ってのはイッコミどころじゃないんだよな。
>>489 VBです。
もちろん数値の範囲をチェックできるわけないです。
Samba で共有していたファイルサーバにまったく同じ構成のディレクトリがあった。 なんだこりゃ、と思って diff で同一であることを確認した後、混乱のないように 片方を削除して帰った。次の日来てみて知ったのは、そのディレクトリがシンボ リックリンクだったということだ。ファイルは全部消えていた…
>>491 バックアップくらいとりましょう・・・・(w
昔、sambaディレクトリがシステムの異常で吹っ飛んだことがあり、
それ以来 絶対に使わないようにしてまつ。
最近はcvs経由での共有が主だな・・・・
>491 「辞めようと思った」というより、「失踪しようと思った」だな。
494 :
仕様書無しさん :03/01/19 06:29
既に出荷されている製品のソースの中に 「競合時の対処ができていないから誰か作り直して」 というコメントが残っているのはどういうことですか・・・?
495 :
仕様書無しさん :03/01/19 06:49
>485 > If 2330 <= Val(Format(Time, "hhmm")) <= 2359 Then 範囲チェックのつもりなら間違っているけど、 Val(Format(Time, "hhmm")) と2330とか2359を比較するってのはちょいとおもしろい。 どこまでも柔軟な発想の人っていますね。
496 :
仕様書無しさん :03/01/19 06:54
>494 そういう部分は、公には「仕様です」と呼ばれて、時期バージョンにはプログラマの命と引き換えに改善されるところなんでしょうなあ。 見つけてしまった494の行く末が心配だ。
>>495 何だこりゃと思ったが、まあ悪くはない。
498 :
仕様書無しさん :03/01/19 10:13
/********************************************/ /* データチェック関数 /* data1 I データ1 /* data2 I データ2 /* 返値 データ /* 説明 データをチェックする /********************************************/ void * chkdat( void* data1,void * data2){ 中は構造体へのキャストの嵐とreturn 氾濫。 500行くらい延々と。 ...って何する関数なのよ? もうやだ。
>>495 Val(Format(Time, "hhmm")) <= 2359
は、要らない
出た出た
503 :
仕様書無しさん :03/01/19 15:11
月が
まぁ〜るいまぁ〜るい
>499 あ、そうかそうか。時間を変換してるならなら2359より小さいのは自明か。 あろがとっ!。
秒を忘れてる
閏時間、閏分は?
>>508 閏時間、閏分て何?
閏年・閏秒は知ってるけど(w
しかし、良く分からないのが「閏秒」 だって、「閏年」は「1日」多いのに、「閏秒」は「1秒」多い つまり、「閏年」はその年の長さ(日数)が多いのに、 「閏秒」は1秒の長さではなく、1分の長さが多い(長い) これじゃ、「閏分」じゃないのか?(><)
>510 よくある話やん。携帯電話とPHSだってそうだ。「携帯電話」という 言葉の意味合いを考えれば、800MHzもPHSも「携帯電話」と 呼ばれそうなもんだ。 「同種ではあるが用途・意味合いの異なる物」の登場を見越さずに 命名するとそういうことになる。 俺が組んだコードの関数名なんかじゃもんのすごくよくある話だぞ。
516 :
仕様書無しさん :03/01/20 01:07
517 :
仕様書無しさん :03/01/20 01:10
∧ ∧
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←
>>518 (_フ彡 /
プロジェクトリーダのコード見たら・・・ CString str("文字列"); . CString str2 = _T(str);
>>521 こっそり _UNICODE を/Dに付け加えておいてやれ
ぬるp
524 :
仕様書無しさん :03/01/20 18:29
>>521 ある意味、すがすがしいコードだな・・・
525 :
漏れの先輩のコメント :03/01/20 18:35
MOV A,5 ; Aレジスタに5入れる
526 :
仕様書無しさん :03/01/20 18:46
昔から毎日動いてるバッチにて //*メルゲ ヲ キドウスル //EXEC PGM=MERGE 最終更新日を見たら1988年だった・・・
最初めるげってなんだ?と考えてしまったよ まぁ・・・
>>528 14年前なら、怪人メルゲが一世風靡していた時期なんじゃないか。
だれかメルゲのAA ( ヨロシコ・・・)~~-y(´-`)
# メルゲの得意技: メルゲソルト
>526 ドイツ語かなんかだとメルゲになるのかもよ。 書いた人がドイツ人でさ。
531 :
仕様書無しさん :03/01/21 16:14
| ここでメルゲ メルゲ メルゲしてもいいですか! \____ ______________________/ /||ミ V / ::::|| /:::::::::::||____ |:::::::::::::::|| || |:::::::::::::::||│ / || |:::::::::::::::|| ̄\ ガチャッ |:::::::::::::::||゚ ∀゚)- || |:::::::::::::::||_/ || |:::::::::::::::||│ \ || |:::::::::::::::||∧_∧∩ ..|| |:::::::::::::::|| ゚∀゚)/ .|| |:::::::::::::::||∧ ∧∩ ..|| |:::::::::::::::|| ゚∀゚)/ . || |:::::::::::::::|| 〈......|| |:::::::::::::::||,,/\」......|| \:::::::::::|| ̄ ̄ ̄ ̄ \ ::::|| \||
\ │ / / ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ─( ゚ ∀ ゚ )< メルゲメルゲ! \_/ \_________ / │ \ ∩ ∧ ∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ∩∧ ∧∩\( ゚∀゚)< メルゲメルゲメルゲメルゲ〜! メルゲ〜〜〜〜! >( ゚∀゚ )/ | / \__________ ________/ | 〈 | | / /\_」 / /\」  ̄ / /
>>531 | 揃えてみました。標準環境でご覧ください。
\____ ______________________/
/||ミ V
/ ::::||
/:::::::::::||____
|:::::::::::::::|| ||
|:::::::::::::::||│ / ||
|:::::::::::::::|| ̄\ ガチャッ
|:::::::::::::::||゚ ∀゚)- . ||
|:::::::::::::::||_/ ||
|:::::::::::::::||│ \ ||
|:::::::::::::::||∧_∧∩ ..||
|:::::::::::::::|| ゚∀゚)/ . ||
|:::::::::::::::||∧ ∧∩ ..||
|:::::::::::::::|| ゚∀゚)/ . ||
|:::::::::::::::|| 〈......||
|:::::::::::::::||,,/\」......||
\:::::::::::|| ̄ ̄ ̄ ̄
\ ::::||
\||
534 :
仕様書無しさん :03/01/23 08:22
ここは MERGE を メルゲ と叫ぶスレに変わりますた。
>27 :23 :02/12/22 21:46
>
>>26 >頭悪いのか?
>なんでお前にそこまで説明せにゃならんねん
>度をわきまえろ、DQNめ
「度をわきまえろ」って何ですか?プププ
ひょっとして「場をわきまえろ」って言いたかったんですか?プププ
>535 …本当に亀レスだな。 メルゲ
537 :
仕様書無しさん :03/01/23 11:38
>>535 Googleで「度をわきまえろ」を検索してみろや、ちゃんと3件ヒットするだろうが。
「分をわきまえろ」かもな ゲルメ
「ぬるぽをわきまえろ」かもしれない
540 :
仕様書無しさん :03/01/23 12:01
全てコピペですますのやめれ。 /* ○○を××する処理1/10(ここから)*/ 〜 処理いろいろ 〜 〜 処理いろいろ 〜 〜 処理いろいろ 〜/* 代入 */ 〜 処理いろいろ 〜 〜 処理いろいろ 〜/* 設定 */ /* ○○を××する処理1/10(ここから)*/ 〜 処理いろいろ 〜 〜 処理いろいろ 〜 〜 処理いろいろ 〜/* 代入 */ 〜 処理いろいろ 〜 〜 処理いろいろ 〜/* 設定 */ /* ○○を××する処理1/10(ここから)*/ 〜 処理いろいろ 〜 〜 処理いろいろ 〜 〜 処理いろいろ 〜/* 代入 */ 〜 処理いろいろ 〜 〜 処理いろいろ 〜/* 設定 */ しかも他ソースからのコピペなんで、内容もメチャクチャ…
541 :
仕様書無しさん :03/01/23 12:05
MERGEって「マンゲ」って読むんじゃねーの?
542 :
仕様書無しさん :03/01/23 12:11
度分秒表記はプログラムで扱いにくいですね とか言ってみるテスト 激しく('A`)ノマンドクセ
544 :
仕様書無しさん :03/01/23 12:43
だめだ 「マージ」を見ると「メルゲ」に書き換えたくなる
546 :
仕様書無しさん :03/01/23 12:56
14年前って漏れが2才の時じゃん? だとするとMS-DOS? 毎日バッチファイルを機動してんの? しかもソースはC言語みたいだし ネタくせー ネタ確定 //*なんてコメントの書き方しないよ! ネタを書くならリア高にもバレないように書こうよ!
>>546 俺、めっちゃお前に釣られたい。
>>550 すみません
漏れが何か勘違いしてたみたいっすね。
ところでJCLとは何なんですか?
ネタとしてもマジとしても 546はダメだな
554 :
仕様書無しさん :03/01/23 13:26
男子高校生 (;´∀`)ハァハァ
555 :
仕様書無しさん :03/01/23 13:27
556 :
仕様書無しさん :03/01/23 13:32
>>554 にビビって546はもう来ないに100メルゲ
何っ、男子高校生だとー!? ハァハァハァハァ(*´Д`)=3ハァハァハァハァ
……(;゚∀゚)=3ムッハー
男子が死んだ
JCL (ジョブ制御言語) 【Job Control Language】 メインフレームでバッチ処理を行なう際に、システムに対して 実行する処理(ジョブと呼ばれる)の名前や使用する装置などを 伝える言語。OSがこの記述を解読して、処理を実行に移す。
561 :
仕様書無しさん :03/01/23 14:16
男子高生の菊門に俺の業物をmergeしたい・・・ハァハァ
546 のおかげで、スレの方向性が微妙に変わってきますた
546は、このスレ以降も伝説として語り継がれるであろう
☆ チン マチクタビレタ〜
マチクタビレタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\´д`) <
>>546 タンまだ〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| メルゲ |/
565 :
仕様書無しさん :03/01/23 16:13
まあリア高ならJCL知らなくても仕方ないんでは?
世の中、PCだけがコンピュータじゃないってことで。
>>546
566 :
仕様書無しさん :03/01/23 16:14
オクレテスマンナ
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>539
最近、あまりにも酷いコーディングを見たので晒しageます。 修正内容を他からコピペするのは構わんが、、、 イ ン デ ン ト く ら い 直 せ!! ↓机上デバッグで2時間ぐらい無駄な時間を過ごしました。 よく見ると14行目にif文が入ってます。 11: num = getEntryNum(); 12: // 2000/01/01 append start 13: // カスタマイズで動作切り替え 14: if(customSG != 1){ 15: // カスタマイズ機能無効の場合 16: // 2000/01/01 append end 17: getMoveSize(&mvSize); 18: offsetX += mvSize.x; 19: offsetY += mvSize.y; ↓上の続き、インデント滅茶苦茶です。 しかも13行目と16行目、ループカウンタ被ってるし。 20: } 21: else { 22: // カスタマイズ有効の場合 23: for(cnt = 1; cnt <= num; cnt++ ){ 24: if(isMove == 0){ 25: if(customSG != 1){ 26: for(cnt=1; cnt <= num-1; cnt++){
↓まだ続きます、長くてスンマセン。 36行目のループエンドがコメント化されています。削れよ!! 30: for(cnt = 1; cnt <= num; cnt++ ){ 31: getRecord(cnt, &rec); 32: setDrawRec(rec); 33: drawHandle(); 34: freeHandre(); 35: /* 36: } */ /* loop end comment out */ 37:#if 0 ←50行程のifdefが続く ↓ちなみに関数の終わり。 インデントは「あえて」直さなかった様子(w 90: isMove = 1; 91: result = 1; 92: } 93: } 94: return; 95: } いらないトコ大分省略してあるので、あんまりインパクト無いかも。 ※なお、関数名・コメント・行数等は実在の物から少し変えてあります。
>>568 正月出勤だったんだなあ・・・と状況を汲み取ってやってもいいと思うんだが。。
>>568 たしかに酷い・・・
これ、どんな香具師が作ったの?
>>568 まだ変でもインデントあるだけましかも。
VBでインデント一切なしを見たことがある
574 :
仕様書無しさん :03/01/23 20:58
6年前にプログラマー辞めた者です。 このスレおもしろい。結構バカ多いですね。 先輩にもいました。ろくにプログラムも書けないのに設計したがる奴。
>>574 の作ったソースが結構挙げられていたりしてな
結構可愛い女の子なんだけど、あきらかにSE(or PG)に向いてないヤツがいます。 しかも気が強く、プライド高く、勉強嫌いってヤツです。 ソース覗いたらとんでもないスパゲティに仕上がっていて、自分でエンバグしていても、 修正自体ができないという、かなりなスグレ者です。 スノボとか言ってんじゃねーよ。
・・・・・・・・・・・ きみ、普段「→の人」とか「←の人」とか、某次長うざいとか よく俺とメッセージ交換している人じゃない・・・よね?(・_・
>>578 それは、俺に言ってるの?? スマソ。わからん。
そうか、違ったか・・・よかった。 いやね、俺の横がそういう女の子(1年目)でね。 俺の向かいの2年目の男が一昨日、ほぼ同じ発言をしていたんでね。。。 今日もその女の子のソースを修正するハメになり、 途中「こないだスノボ行くとか余裕かましといて、なんじゃこのソースは」と ぼやいてたから・・・
$ cat Makefile (中略) all : $(PROGRAM) $(PROGRAM) : $(OBJS) @$(LD) -o $@ $(OBJS) @mv *o ./bin @mv $@ ./bin ソースなんていじらなくてもmakeエンターで全部コンパイルからやりなおし。 あらふしぎ(つ´д`;) つか、これ書いた椰子、「○るぽ」みたいにどついたるから出てこいっ!!
VC++6.0でMFCを使用しているプログラム TRY { 〜処理〜 } CATCH(例外クラス) { throw; } END_CATCH_ALL というやつ、空の例外をさらに投げる意味があるのかと小一時間問い詰める以前に これ、例外が発生するとアクセス違反で落ちるのだが... ちなみに納入済み...のはず。
つか、インデントなんかエディターに勝手に直させればいいじゃん とか思う漏れはダメダメですか?
つか、インデントでたらめなソースなんて、自分が見てもわからんじゃないか。
>>568 のソース書いた人は優秀だな。
>>583 見づらいことに対する解決にはなるが、
人間に対する教育にはならない
>>583 インデント修正してくれるエディターとかあんの!?
それ、なんてヤツ?是非とも欲しいんだけど。
教えて君でスマソ
587 :
仕様書無しさん :03/01/24 12:45
>>586 ぐぐりなさいよ。
アナタ本当にプログラマですか?
VC なら選択して Alt+F8
エディターより C Beautifier みたいなフィルターの ほうがいいんじゃない? 使ったこと無いけど。
>>587 検索してもオートインデント機能しか見つかんねーって。
俺が欲しいのはデタラメなインデントを「修正」してくれるツール。
ハッΣ(゚Д゚ )
もしかして
>>583 の
>エディターに勝手に直させればいいじゃん
てのはオートインデントの事!?
Emacs なら indent-region とかだろう
>>590 "出鱈目なインデントを「修正」"
っていうのは、具体的に何をどうして欲しいんだ?
>>594 行の左端をネスト毎に揃えてくれりゃ十分。
例えばこんな感じ↓
修正前:
for(i = 0; i < entry; i++){
if(data[i].num != 0){
data[i].ave = data[i].total / data[i].num;
}
}
修正後:
for(i = 0; i < entry; i++){
if(data[i].num != 0){
data[i].ave = data[i].total / data[i].num;
}
}
なんか「自分で作れ!!」とか言われそうだな、、、 つーか「ifdef」なんてモン無けりゃ自分で作ってたよ。 ↓みたいな事されたら括弧の対応が取れねぇっての。 #ifdef OLD for(i = 0; i < MAX; i++) #elseif NEWVER_1 for(i = 0; i < entry; i++){ #elseif NEWVER_2 for(i = 0; i < entry - 1; i++){ #endif if(data[i].num != 0){ data[i].ave = data[i].total / data[i].num; } #ifndef OLD average[i] = data[i].ave; } #endif まぁ上の例は実際にあったワケじゃないケド 似たのは山程あるし、ウチの会社のソース。
#ifdef〜#else〜#endif #ifndef〜#else〜#endif if〜else〜endif switch〜 for〜 レベルのインデント整頓ツールなら、2年ぐらい前にVBで 即席で作ったことあるな
>>582 すまん。そのコードだけだとなにが悪いのか分からん。
END_CATCH_ALLで例外オブジェクトをdeleteしてるだろうけど、
そこは通らないよね?
>>593 >>588 のは一応自動インデント修正機能でしょ。
オートインデントつったら編集している時に自動的に
インデントを挿入してくれるやつだとおもふ。
ソースコードではないのだがな。 数年前大昔VB4.0で作ったちんまいシステムをVB6.0でリメイクしてた。 んで、そのときのインストール説明書に 『(1)まずPC端末にMicrosoft Visual Basic 4.0をインストールしてください。』 と堂々と。 もう、あほかと、ヴァカかと。
>599 いや、ある意味最強。
>>599 まー当時はDLLが標準で入ってなかったし、
落とせるサイトも無名だったし・・・
コーディング規約: NullPointerException を扱うコードには必ず以下のコメントを書く事。 // ∧_∧ // ( ´∀`)< ぬるぽ
>599 うろ覚えの記憶で恐縮ですが、VB4.0ってRUNTIME(つーかOCX)の バージョンによって動いたり動かなかったりしなかったっけ? ひょっとしたら、そういうのを回避するための苦肉の策かもよ。
>>604 ユーザーにVBの購入を義務付けることが苦肉の策?それでいいのか?
>>605 購入は義務付けてないよ
インストールしろと書いてあるだけだから・・・
ライセンス持ってなきゃインストールできないじゃん。
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>603
>>606 ( ´д)ヒソ(´д`)ヒソ(д` )
>605 いや、よくないだろうな。つーか、ランタイムも付けりゃ済む事だし。
611 :
仕様書無しさん :03/01/25 01:02
会社じゃないけど情報系の院生が書いたものを渡されました。 bad if (m_nLayoutFlag & (unsigned int)pow(2,screen)) { ...} good if (m_dwLayoutFlag & 1<<screen)) { ...} math.h をこのためだけにインクルードしてるし。 Windows ならフラグは unsigned int -> DWORD だよね。
612 :
仕様書無しさん :03/01/25 01:10
>>611 DWORDだよね、って言った時点で同じレベル。
学生ならしゃーなかろう。 それから自分は安全のために(1<<screen)と書くよ。 <<,>>は優先順位を勘違いしやすいので。
>>613 逆に std::cout << a & b << std::endl; とか書いて
(゚д゚)アラー となることもあるな。
まぁ、可読性を上げるために余計なカッコつけると 演算子の優先順位もしらねーのかよ とか結構つっこまれたりするわけだが えぇ、知りません、と答えるようにしている だって不毛なんだもん
優先順位を覚えていることより、ビット演算子やシフト演算子は順位を 間違えやすいと銘記しておくことのほうが大切だわな。
>>613 stdが知られてるならいいけど
std::cout << (a & b) << std::endl
(std::cout << a) & (b << std::endl)
のどちらか悩むぐらいなら、カッコを付ける。
618 :
仕様書無しさん :03/01/25 13:39
>>615 ああいう場面で括弧をつけない奴は、三流PGでしょう。
>>604 いや、作った本人はどーも「でぃー・える・える」というものを知らなかったらしい(w
くわえて、「ディストリビューション・ウィザード」(VB4.0ではなんというのか?)
なるものも知らんかったという・・・・
こんな奴でも、いま課長をやっています。立派になったもんだ。
620 :
仕様書無しさん :03/01/25 19:12
>>618 同感。
括弧がついてると文句言う奴もいるもんぁ・・・
一度会社で「余分な括弧は絶対につけるな」とか馬鹿なことを指示されました。
コーディング規約なんだそうで・・・・??
プログラミングスキルが無くてもマネージメントスキルがあるなら問題無し。
もしPGをやっているときにプログラミングスキルをつけられないなら、 マネージメントをやってもマネージメントスキルもつかないだろう。
>>621 プログラミングスキルの持っている人間と、
マネジメントスキルを持った人間、
必要とれる人数が多いのはどちら?
マネジメントスキルしか持ってない奴の下には付きたくないなあ。
若い奴らはいいけど、一定年齢以上(35歳といわれてるが)になると プログラミング能力なんて査定対象にならなくなっちゃうんだよね・・・
35になったら丸投げSE仕事しかできないっていうのが現実だよね。 生産性もそっちのほうが高いし。
マネジメントスキルしか持ってない人って、どうやって見積もり出すんでしょう? コーディングにどれくらいかかりそうか、見積もれないような気がするんですが。
628 :
仕様書無しさん :03/01/25 23:37
てか、みんな見積もりってどうやって出してる? 自分がやったらこれくらいってのは分かるけど、 誰がやるともきまってないのに、普通の奴がやったらと 言われても、いまだに「普通の奴って誰よ」って感じなんすけど。 こんなオレは逝ってよしですか?
>628 俺もだよ。一緒に逝こうか。
630 :
仕様書無しさん :03/01/25 23:55
>>628 勘だろうな。何度か見積もっていれば結構あたってくる。
あたらないときで少なく見積もったらプログラマーが悲惨な状況になるだけだし。
631 :
仕様書無しさん :03/01/26 00:10
見積もり精度は統計的な話なので過去のデータの分析が要。 「自分がやるとこれくらい」レベルの見積もりなんぞ糞の役にも立たん。 PL,PM 目指すorやってるなら、工数データ収集,分析やっておけ。
633 :
仕様書無しさん :03/01/26 00:18
> 見積もり精度は統計的な話なので ハァ?統計的な話にしたい、ってだけだろ。アホでつか?
634 :
仕様書無しさん :03/01/26 00:31
>>631 コーディングできない奴はみんなそういうよ。
糞な技術者の集団とその中に一人以上のエースプログラマがいる場合では
工数に雲泥の差がでる。
常に同じ結果を返す複雑なコードを見たときには、あきれますた。
結局ごく小数のエースプログラマに頼ってるんだよな。 アーキテクチャ検証も、モジュールの区分けも、テスト計画も、 実質的な見積もりも、その人がやっちゃってませんか。
漏れは工数の算出で部下が 部下がやったら、どの程度の時間がかかるか想定して出してマフ。 そのときには、私の脳内ではロジックが組みあがってマフ。
>脳内ではロジックが組みあがって ..しかし時として、そのロジック"自体に"気の回らないバグが潜んでいたりする罠。 気づいた時には後残り3日....。
>>634 「普通の技術者の集団とその中に一人以上の糞プログラマがいる場合では工数に雲泥の差が出る。」
の間違いじゃないか?
多人数でやってると、エースプログラマが一人いてもそれほど工数削減にならないが、
糞が一人いると確実に工数を増やしてくれる。
640 :
仕様書無しさん :03/01/26 08:39
641 :
仕様書無しさん :03/01/26 08:41
642 :
仕様書無しさん :03/01/26 09:53
>>639 あなたが普通だと思っているプログラマーは一般の糞プログラマー並で、
糞プログラマーだと思っているのは一般のプログラマー以前のこと、
エースだと思っているのは一般の普通のプログラマー。
真のエースがいない会社なんですね、あなたの会社には。
リードプログラマ、あるいはチーフプログラマという役割の人なんでねえの
644 :
仕様書無しさん :03/01/26 10:41
結局、何十人分もの働きをしてるプログラマってのは確かに実在する。 けどそれは、最低レベルのプログラミングをできるやつにならないと その存在を気づかず「マネージメントが・・・」とか「プロジェクト管理が・・・」 とかほざき始める。 そんなに、人をまとめられて金の管理できるなら社長しゃりゃーいいじゃんって感じ。
>>377 しかし世間的には返り値はexit(-1)のように評価される罠
>>633-644 統計の意味を理解してない香具師がこんなに居るのか・・・
技術レベルの個人差を折り込むのは当然だ。5〜10段位でランク付けするだろ。
つーかおまいら、人の上に立つなら最低限ソフトウェア工学を学んでおけ。
力任せに開発してんじゃねーよ。一生マで居るつもりならその必要も無いがナー。
>>646 できるやつにはわからんのよねぇ。なかなか。
( ´-`)oO(
>>646 が痛々しく(香ばしく)感じるのは漏れだけかなあ・・・)
プログラマと名乗る人の能力差って級数的に違うからなあ。統計とったってむだぽ。
650 :
仕様書無しさん :03/01/26 15:49
「統計に意味がある」という、ありえない前提に立って話を している646は馬鹿。
>>649 たとえ級数的に違うとしても対数でとれば統計処理は可能
統計の意味をわからない人間に
統計の取り方を説明しても無駄かもしれないが・・・
652 :
仕様書無しさん :03/01/26 16:04
その統計で出された数値に合わせるために現場の人間がどれだけ必死に なってるか、わかんないんだろうねぇ。
653 :
仕様書無しさん :03/01/26 16:06
ていうか状況と個人の能力を見てやり方変えない?普通。 統計的にこうだからこうするなんて唯一無二の最善策なんてないでしょ
654 :
仕様書無しさん :03/01/26 16:06
>>651 だからお前がもしそれを実現しているなら超一級のマネージャーだよ。
で?おまいはどこの会社のどんな地位なんだ?それとも経営者か?
でもさ、あんたのランク付けが正しいって証明できるのか?
ランク付けするってことは、すくなくともランクをつけられるやつらより
上にいないとわからないぞ。
ソースコードどこ━━━━(゚∀゚)━━━━ッ??
統計データは日々更新しないと意味ないだろ。
データ取るのはいいんですが、客やマネージャ、営業の能力もきちんと 測定してください。つか今のマネージャ、下で働く人間のデータだけを 元に計画立てやがるので非常に迷惑しとります。
同じものばっか作るなら統計だけで乗り切れるかもなー。
同じ悩みの人がいると分かって嬉しい(w
>>646 うちの会社だと、一番上と一番下で、128段くらいランク差つかないと
ダメなんですけど、どう見積もればいいでしょう? 間を取って64の奴?(w
そもそも上になんて立ちたくないポ。オレを上に立たせるなら、下につけるのは
オレと同レベルか、「こいつらがいるならオレは現場から引くしかないか」と思える
奴にしてくれと。
>>658 いいじゃん。計画立ててるだけましだ。
うちなぞ、他社のDQNを「使ってくれ、頼む」といって
大勢押し付けたくせに原価が悪いと文句をいわれるぞ。
プロマネ兼リーダはその上司なのだがな・・・。
しかも、手塩にかけて育てた後輩をこれから実戦投入
していこうと思っていた矢先に配置換えしやがったし。
C言語で1万行以上のmain関数を診た香具師はいるか?
漏れは診た。気絶しそうになったぞ。
>C言語で1万行以上のmain関数 あーそれ書いたの俺。ちゃんと直しといてよ。
>>662 いや、俺のだよ。ちゃんと直しといてよ。
>>662 1万行かぁ
最高で6000行ちょいだから、漏れもまだまだだな
ふふふ 俺なんて1万60行だぜ
ふふん 俺なんて1万62行だぜ (*´∀`) <今改行2回打ったからー
>>661 ふ、その程度で気絶もんだったら、
俺の会社のソース見たら お前死ぬぞ(;_;)
ふっ・・・・俺なんて3行だぜ。
>>667 ひー。長いだけならよいのですが…。
コメント意味不明、意味不明なアルファベット1文字+数字数桁な変数が
文字列、文字、数値、定数を問わず使われながらこれまた巨大なgoto文と
構文を意味不明につなぎ合わせた代物が1万行連続していました。
しかもその渦中を例の意味不明変数の配列のforループが多重に
ぐるぐるぐるぐる回っていて、コンパイルは通るのに、コメント部分ですら、
一行でも修正すると問答無用で落ちてくれるすばらしい代物でした。
思い出しただけで気が遠くなる・・・。
作ったやつを狂人だとおもいまつた。
あれよりひどいソースを診たらマジで死にそうでつ(;_;)
>>670 なんか興奮して自分の文章もおかしくなってしまいました。
ゴメソ。
>>670 もしかして同じ会社? (w
違うとは思うが、俺は10階の住人。
うちの会社のはswichとかが多用されてるし、ネストは2桁でとってるくせに
途中で右により過ぎたからといって いきなり左端に戻ってたり、
コメントはメンテナンスしてないからうそばっかりだし、何か修正すると
必ず動けなくなるし・・・・はぁ。
swichが多用されているような現場はとても大変でつね
>>672 うーん、同じ会社の人だたらビクーリですね。
他社の動かないソースを動くようにするのが真のお仕事
ダターリするんであちこち出動しておりまつ(w
ひょっとしたら名刺交換してたりして…。
皆様の個性あふれるソース(皮肉)は見慣れていまつが・・・、
おそらく672さんの会社のソースは綺麗なほうだと思いまつ。
>670 あーそれ書いたのまさしく俺。ちゃんと直しといてよ。
>>675 積年の恨み、どうやって晴らしてくれようか。
やってもうたー 間違いに気が付かないままコーディング進めてしまって、今気が付いたよ Colleaction で、あーやってもうたー、とか思って全部置換しようと思ったら なんかしらんけど、色んなところにコピペされてて修正不可能・・・ 正直、ごめんなさい
はい皆さん御一緒に コルルルルルリークスィオーン(巻き舌で)
681 :
仕様書無しさん :03/01/27 21:02
COBOLで、
>>670 +REDEFINESしまくりなソースを見たことがある。
ソースを印刷して紙をセロテープでつなげて、IF〜END-IFやPERFORM〜END-PERFORMを
ひとつずつ鉛筆で囲ったり、GOTOに番号を付けて飛び先を整理したり…
何とか修正したけど本当に正しく修正できたのか、いまだに不安。
∧_∧ ( ´∀`)< ぬるぽ
コンナトコマデキテナニヤッテンダヨ
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V´Д`)/
(_フ彡 / ←
>>682
685 :
仕様書無しさん :03/01/27 23:33
>>661 うう〜む、、、
我は「C言語で1万行以上のmain関数」などという冗談の産物?
を拝見した事は無いが。VBでButton1_Click()が500行以上、
なんてのを頻繁にメンテしておる。
ついでにまったく正規化されてないテーブルの仕様を見て
気絶しそうになったりとかね。
... ありがちでスマヌ。
モイッチョ!
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V´Д`)/
(_フ彡 / ←
>>684
main()が1万行以上か。MINIXのソースがちょうど1万行くらいだと 思ったが、プログラムとしての価値は天と地ほども違いそうだな。
>>688 でもこれってたったの2500行なんだよね。
そんなのふつうに転がってるだろ・・・
藤原さんおめでてーな(鬱
あー、テーブルの仕様は、もうちょっと最初に なんとかならなかったのかよ、とか良く思うなぁ つか、そこに時間かければ、この死屍累々の屍の山はないのになぁ ということが全く分かってもらえずに、今日も肉体労働に励むのでした。まる。
はーい、他のところから仕入れた15k行程度のソースが使い物にならんから、 三ヶ月で設計からやり直すことになりました。 :-) 作り直してる間は、その使い物にならんソースでごまかしつつ・・・・ いや、作り直しを認めてくれるなんて幸せもんですよ。ほんと。 ちょっと(っていうか結構?)つらい作業になりそうですが(w
>>691 がんがれ!
設計からやり直させてくれるとは、太っ腹な顧客だねえ。
ううー、うらまやしい。
>>689 そのサイトで紹介されてる最長不倒関数は6344行だよ。
>>693 そうだった?
でも6000行の関数ならオレも仕事で見たことあるな
さすがにmainではなかったが
>>693 上から下に綺麗に流れているよね。
これならべつに長くてもいいじゃんという気になってまう。
>>695 で、「もしかして、もう少しまともに修正できるんじゃないか」
とか思ってしまい、罠にかかる・・・と (w
俺ならもっとまともに組める! って思うのはPGとしてはマトモな考えではないかと。 テストの手間とか考えると無理なことが多いんだけど。
C++で多重継承とfriend関数使いまくりなのは拝んだことがある。 要は設計がなってないんだが......
>690 同意。 テーブルもそうだし、プログラミングにおいても 「せめてリファクタリングさせてくれ」って思うヤツ多い。 なぜしないかって?PMが「リファクタリング」なんて言葉を 知らないヤシだからさ・・・
>>699 うちのSEは「レビュー」という言葉の意味を知らない・・・
「ソースレビューしてください」と客に言われ「はい、わかりました」
後日「ソースレビューの結果を報告してください」「はい、コンパイルは通りました」
背筋が凍った瞬間。
いいなぁ、そのレビューいいなぁ そんなレビュで住むなら世の中きっと・・・ どうでもいいんだけど、中が悪いのは分かったから レビューはまともにしてくれよ、と言いたい今日この頃 仕事なんだから大人になろうよ、と
まぁ、漢字誤変換しまくりなわけだが∧||∧
>>701-702 てっきり、誤変換ではなく、あのお決まり問答をキボンしているのかと
思いますた
中の人などいない!!!
>701 レビューがそんなんで済んでしまうと、後が地獄だ罠。
>>701 いいのか?
あんた、レビューって何のためにやってんだよ。
>>706 レビューはISO9001認証継続審査のため
と思っていますがなにか?
>>707 喪前のプロジェクトは必ずコケる。これ定説。
>>699 漏れも同意。
コメントの変更も最小限に、と言われた時にゃマヂで萎えた。
>>685 安心しろ、32kくらいでプロシージャの制限に引っかかるからそれ以上でかくならない。
モジュールの行数の限界もあるしな。
lsic 3.3は最長不倒関数のような馬鹿な香具師が現れないように、 関数が長すぎるとコンパイルエラーを出してたよねw
実際、コメントを修正しておかしくなることってあるのか不安になってきた。 >670でもそんなような事いってるし。 どうなの?そんなことありえないよね?
>712 コンパイラがタコか、不安定な環境でコンパイラに無理を させるようなプログラムならありえる。 ところで、昔、テスト終了後に納品物を作成してたら タイムスタンプが変わっているファイルがあったんだね。 メンバに聞いたら「ちょっとコメント修正しただけです」って 言うから信用してそのまま客先に提出したのさ。 …そうしたら、動作確認したはずの操作で障害。 調べてみたら、例のファイルにコメント以外にちょっとだけ修正された 箇所があってそこが原因。メンバ問い詰めたら「そっちのほうがいいと 思った。たかがこれだけでそんなことになるとは思わなかった」だって。 それ以来、信用できる人はいいんだけど、いじったことの影響が読めない 経験の浅い人間には特に「確認後はコメントもいじるな」と厳命してます。
714 :
仕様書無しさん :03/01/29 12:10
レビューってどのぐらいまでやればいいの?
東京から横浜までくらい。
ゆりかごから墓場までくらい。
>>707 それは愚痴スレでは言ってもいい言葉だが
「この会社辞めようと思ったソースコード」では言ってはいけない。
だからこの世から糞ソースが無くならないんだ...
まぁ、分かりやすく言うときつね色になるくらいまで
別に会社をやめようと思ったわけではないんだが 俺以外の大部分の人がローマ字の変数名使ってるんだよねー なんか、そういう伝統らしんだが、自分もやっぱそれにあわせた方がいいのかなぁ とか思ってしまう う、うぅ〜ん・・・
int Main_Data_Read_And_Write_And_Set_Data_Buffer_And_Call_Result_Function( void ) { } こんな関数名ばっかし。
>>720 機能が書けないから処理を列挙してる関数の典型例だな。
その関数はどういう機能かあるかを小一時間問いつめろ。
{ Main_Data_Read(); Main_Data_Write(); Set_Data_Buffer(); Call_Result_Function(); }
× int Main_Data_Read_And_Write_And_Set_Data_Buffer_And_Call_Result_Function( void ) ○ int MainDataReadAndWriteAndSetDataBufferAndCallResultFunction(void)
724 :
仕様書無しさん :03/01/29 21:13
>>711 LatticeC2.0は最長不倒関数のような馬鹿な香具師が現れないように、
関数が長すぎるとコンパイラがハングしてたよねw
>>724 それ、コンパイルオプションでほしいなぁ。
>>719 システム開発なんぞやっていると、ローマ字でも仕方ないか・・・と思うことも多い。
専門用語&社内用語の連発で、無理に英語にしても誰もわからん。
でも今のシステム、ソースを書いたのが中国人だったので、
ローマ字読みしても意味わからんことがしばしば。
>725 ハングはしないで欲しい。
>>712 MS-C5か6か忘れたけど、ちょうど過渡期。
func1(); // とある機能
func2();
func3();
なんて感じのコメント書いてたら、
func2が実行されんようになってた・・・
結構規模もでかかったし、俺も若かったので、
func2()が飛ばされているのに気がつくまで二〜三時間かかったよ。
gccも同様のハマりがあるねえ 3から改善されたけど
>>728 ver7でそ
//でコメントアウトできるのはC++からで、
MS-Cのver6まではC++が入ってないでつ
>>730 C6 は //コメント使えますが何か?
732 :
仕様書無しさん :03/01/30 08:20
>>730 Quick-Cですら//使えましたが、何か?
>>728 なんで func2() が実行されないの?
サパーリ分からん。
>>728 つか、コンパイルエラーでは無いんですよね?
func2() もコメントだと認識されちゃったって事じゃないの?
こういうことか? func1(); // なんとか表 ←(バックスラッシュと認識されてコメント継続) func2();
//から次の;までをコメントとする、という仕様だろ?
二バイト文字のコメントには対応していなかったんじゃないの?
Shift_JISの2バイト目がエスケープってのが臭いね。
表だとか能だとかって、2 バイト目が \ じゃなかったか?
そいあ MASM でコメントを ;; でセミコロン2つ続ける 習慣ってコメントご認識予防だっけ?
ご推察のとおりです。
もちろん、MSのことがさらに嫌いになりました。(T_T)
(仕事ではMSC6でも、自宅ではTC2使いだったし:-)
>>741 一つと二つの違いって、マクロ展開後に残るかどうかの
違いではなかったかと・・・
C++を知らないやつが書いたのか、こんなコードをみた。 VC++6.0の環境ね。 struct HogeHoge { CString strNum; CString strItemName; .... }; でこの構造体をコピーするのにmemcpy()を使っている。 おかげでスタック破壊を起こし、動いた動かなくなったりするの。 原因を調べるのが大変だったよ。
C++に(以下略
中の人など(以下略
,,-‐、______,-''三ヽ ( ミ,,-――――――-- 、丿 /::/ U `ヽ /:/ (;;;;;;;;;)ノ ハU(;;;;;;;;;)U ヽ, /:/ U i||| - l - lli i |;| 、__丿 U i || U ,ニ,ニ、 i. |::| U | |  ̄ | | U <三三 三三> U l iエエ,i 人 |:::::::::ヽ、______ー___,,-''::::: |:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: (以下略
あとこんなのもあったなぁ。 CString strHoge; CString strNum; 省略 if( memcmp(strHoge,strNum,sizeof(strNum)) { //strHogeとstrNumが一致すれば... 以下略 や、 strcpy(strHoge,strNum);
>>749 それをかくなら
> if( !memcmp(strHoge,strNum,sizeof(strNum))
だよな。
>>749 >strcpy(strHoge,strNum);
はコンパイルエラーにならんか?
>>750 よく考えてみよう、間違いは1つではない。
>>751 なるね、思い出した、
memcpy()でコピーしていたんだ。
キャストなどをしてね。
>>751 sizeofだけちゃんと定義してやれば750は正しいぞ。
C++なんだから、間違いじゃないかもしれないだろ。
そもそも、includeが書かれていないことが問題。
・・・と、マジレスしてみるテスト。
>>754 750の ) が1個足らないのは正しいのですか?
>>755 コンパイラがエラー吐く様な誤りは、
投稿者の記述ミスだと判断してますが?
754 名前:仕様書無しさん 投稿日:2003/02/01(土) 01:02
>>751 コンパイラがエラー吐く様な誤りは、
投稿者の記述ミスだと判断してますが?
756 名前:仕様書無しさん 投稿日:2003/02/01(土) 01:39
>>755 コンパイラがエラー吐く様な誤りは、
投稿者の記述ミスだと判断してますが?
sleep(1); for(i=0;i<Max;i++){ //ループ func(); ......(投稿者により略、たくさんの処理) }//ループ終り sleep(1); func2();//次の処理 …ど〜でもいいところにコメント書いてそのスリープ千分の1秒は何の説明もなしですか?
759 :
仕様書無しさん :03/02/02 00:36
>>758 不要と思って消すと危険な罠、だな。
原因追求すると設計の不備が検出出来るんだろうけど、
そんな時間は存在しない罠・・・
list<CUnit> lstUnit; list<CUnit>::iterator it; char *buff=NULL; while( GetData(&buff) ){ CUnit temp; temp.code = buff[0]; temp.type = buff[1]; lstUnit.push_back( temp ); } // ↑と↓は全く別の関数 for(it=lstUnit.begin(); it!=lstUnit.end(); it++){ // 何かしらの処理 //lstUnitに何件データが入ってても最後に読み込んだタイプが使われる。意味不明 //しかもbuffはグローバル関数。。 // SubHoge( *ite, buff[1] ); } 適当に書いたからtypoありまくりかも。 グローバル変数嫌い。 オブジェクト指向の前に、構造化プログラミングでも習ってなさいと。。 ウチの会社がこんなにレベル低いとは思わなかった。 マジで辞めないと、タダでさえ低い俺のスキルが上がらない。。
えっ!ご、ごめん。
764 :
仕様書無しさん :03/02/02 10:04
ごめんね。
もうぬるぽ
∩ ∩
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←
>>765 (_フ彡 /
マチガエテスマンナ
∩ ∩
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←
>>766 (_フ彡 /
ソレカラオマエモ
∩ ∩
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←
>>768 (_フ彡 /
>>758 sleep() <- 先頭が小文字は、単位が「秒」だったと思うが。
man 3 sleep みて
>771 俺Winしかわからんのだが、Winではミリ秒。
>773 WinのAPIには、sleepなんて存在しないぞ。Sleep。 「Winではミリ秒」ってのは合ってる。
>>758 は小文字だから
単位は「秒」が正解ってことですな
なんだ、ここはポインタの指す方向の誤爆が流行っているのか?
この会社辞めようと思ったレビュー って感じだな
>>758 タイムスライスの無いシステムだったりすると、
実行権の委譲にsleep(0)を使ったりするけどな。
すんません家から適当に書いたんでTypoしました。
Windowsです。
1ミリ秒のほうが正しいです。。
実際の動作見ても1秒もとまってないし。
つか何ゆえにループの前後にスリープ。
>>778 さんの言う通りなのかもしれないけど
forループの説明に「ここ繰り返しまーす」って意味の無いコメント書くより
「何々のためにあえてわずかなスリープを入れます」ってコメントが欲しかっただけです。
誰だかわからないけど前の担当者の方ほんとに出てきて教えてくださいっつか多分外注の人…。
>>759 さんと同じこと先輩に言われました。ほっとけと…
どっかに #define sleep(t) Sleep(t*1000) とか罠は無いのか?
>>780 sscanf(argv[1], "%d", &wait);
sleep(wait + wait_min);
とかやってwaitの値を変えてもあんまりかわらなくて悩むという罠でつか?
× #define sleep(t) Sleep(t*1000) ○ #define sleep(t) Sleep((t)*1000)
783 :
仕様書無しさん :03/02/05 12:35
( ´д)ヒソ(´д`)ヒソ(д` )
785 :
仕様書無しさん :03/02/05 15:40
If <条件1> And <条件2> And ・・・・・ And <条件20> Then やりたいことは分かるが、そもそも根本的になんか間違ってないか、とおもた。 てか、せめて複数行に分けろよ(;´Д`)
>785の忠告を聞いた彼は、素直にプログラムを書きなおし始めた。 数分後、彼は満面の笑みを浮かべながら>785の元へやってきた。 彼「>785さんの言われたようにプログラム直しました! 今度はバッチリです!!」 >785「どれどれ・・・? If <条件1> Then If <条件2> Then If <条件3> Then ・ ・ ・ If <条件20> Then <なんかの処理> End If End If End If End If
>>787 ちみの脳みそには可読性という言葉はないのか
If <条件1>
And <条件2>
:
And <条件20>
Then
(処理)
はダメでつか?
>>788-789
>>790 "_ "が無いぞ
というか、そこまで条件を追加しなきゃならん状況作る方がおかしく内科医?
たしかVB4の場合、"_"の数が制限されていて 悲惨なSQLしか書けなかった苦い記憶がある。
_ が使えないぐらいで悲惨なSQLになるのは パパはどうかと思うぞ。
>>793 SQLは大抵case-insensitiveだから、_使えないとグッチャングッチャンに…
ということだと思ったんだが違うのかね。
795 :
仕様書無しさん :03/02/05 22:22
>>785 あー、あったあった。ほぼ同じの見たことあるなー。
しかも数カ所同じのがあって、同じように直した痕跡が数回分(笑)
せめてFunctionにしておけYO
796 :
仕様書無しさん :03/02/05 23:23
デスマーチの火消し隊としてだけど 久々に仕事にありつけたと思ったら、なんじゃこりゃ。 RDBのテーブルのあるフィールドの値が「SQL文」。 すべてのテーブルに最低でも2つこんなフィールドを持っており この「SQL文」でテーブル間の関係を結んでいるらしい。 レコード検索してフィールドの値を取り出して その値をSQL文として検索して レコード検索してフィールドの値を取り出して その値をSQL文として検索して・・・ 比較的分かる人に話しを聞いてみると 「本部の人が設計したものに口出したら脅されたとだから泣く泣くこの仕様らしい」
いいかげん粘着ですが、 一応探したところ罠はありませんでした。むむう。
798 :
仕様書無しさん :03/02/05 23:25
>>796 RPGにおけるお使いミッションか、はたまた多段インタプリタか。
というよりロシア名物マトリョーシカ・データベース?
800 :
仕様書無しさん :03/02/06 00:31
>797 外してUTやってみたらええやん。 まあ、あえて外さんでもいいように思うが。
>796 オブジェクト指向のつもりだったりして
目的地は行った先で聞いとくれ。
void DrawCurve( int sx, int sy, int x1, int y1, int x2, int y2, int ex, int ey, int len ) { int p1x, p1y, p2x, p2y, p3x, p3y ; int p4x, p4y, p5x, p5y, p6x, p6y ; if ( CmpLine( sx, sy, x1, y1, len ) && CmpLine( x1, y1, x2, y2, len ) && CmpLine( x2, y2, ex, ey, len ) ) { MoveTo( sx, sy ) ; LineTo( x1, y1 ) ; LineTo( x2, y2 ) ; LineTo( ex, ey ) ; return ; } p1x = ( sx + x1 ) / 2 ; p1y = ( sy + y1 ) / 2 ; p2x = ( x1 + x2 ) / 2 ; p2y = ( y1 + y2 ) / 2 ; p3x = ( x2 + ex ) / 2 ; p3y = ( y2 + ey ) / 2 ; p4x = ( p1x + p2x ) / 2 ; p4y = ( p1y + p2y ) / 2 ; p5x = ( p2x + p3x ) / 2 ; p5y = ( p2y + p3y ) / 2 ; p6x = ( p4x + p5x ) / 2 ; p6y = ( p4y + p5y ) / 2 ; DrawCurve( sx, sy, p1x, p1y, p4x, p4y, p6x, p6y, len ) ; DrawCurve( p6x, p6y, p5x, p5y, p3x, p3y, ex, ey, len ) ; return ; }
引数のlenはいったい何の役目を?
>>804 気持ち悪い再帰だね。
ある種のLimitをかけないとスタックもすぐ食い尽くしそう。
807 :
仕様書無しさん :03/02/07 10:15
会社辞めたくなるほどでもないな。 多分 CmpLine()の中身はこんな感じで引数 len が limit の役目を してるんだろう。 int CmpLine(int xs, int ys, int xe, int ye, int len) { if( sqrt((xe-xs)*(xe-xs)+(ye-ys)*(ye-ys)) < len) return 1; return 0; }
CmpLine() も再起である罠
809 :
仕様書無しさん :03/02/07 13:11
ソースコードじゃないけど・・・ 夜遅くなり、席が近い別会社&別プロジェクトの若い衆とふたりっきりになった時の実話。 そいつ:お忙しいところ、す、すまそ。 おれ:どーすたの? そいつ:「select * from tbl where hoge = 'null'」だとダメポなんでし。 そいつ:おらくるの、ぬるってそもそもなんなんでしか? おれ:(ひとりで可哀相だし、おしえたるか) おれ:ぬるってぇーのはなぁ。子一時間せつめ・・・(略) そいつ:なるへそ! おれ:(おっ、やっとわかってくれたか。)じゃ、SQL-Plusで叩いてみそ。 そいつ:「select * from tbl where hoge = 'null'」ってことでしね! おれ:・・・。い、いいんじゃん、それでも。 ネタちゃうで。
>>809 似たような状況あるよ。
そんときは中国人だったけど。
そいつ:忙しいところすまないアルネ。 おれ:どーすたの? そいつ:「select * from tbl where hoge = 'null'」 じゃーダメアルカ? そいつ:なぜアルカヽ(`Д´)ノニッポンジン陰謀アルカ!! おれ:(何だか痛そうだし、おしえとくか(;´Д`)) おれ:ぬるってぇーのはなぁ。子一時間せつめ・・・(略) そいつ:ナルホド、良く分かったアルヨ。 おれ:(おっ、やっとわかってくれたか。)じゃ、SQL-Plusで叩いてみそ。 そいつ:ニッポンジンの陰謀じゃなくて、アメリカ人アルネ!(゜Д゜) おれ:・・・。い、いいんじゃん、それでも。 注) Oracle本社はアメリカにあります。
そいつ:「select * from tbl where hoge = 'nullpo'」 じゃーぬるぽ?
アアイソガシイ
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>812
port_t getted_port; // 取得済みのポート番号 # ありがち?
>>815 あるかな〜
この前、mouseの複数形はmiceだって事に20年ぶりぐらいに気が付いたけどなあ。
おいおまいら、dataは複数形だぞ。
date型変数にdataという名前を付けたのは私ですが・・・?
>>804 WIN32なら
POINT pts[4]={{sx, sy}, {x1, y1}, {x2, y2}, {ex, ey}};
PolyBezier( hdc, pts, 4 );
で終わるのだが...
>>804 たしか2〜3年前の基本情報処理技術者試験の問題が
それだったような・・・。
俺が丁度それ受けた。
>804 2回目以降のMoveToが実はいらねぇ、ってのも気づいてないんだろうな。
>804 ごめん、何やってんのか理解できない
>>815-816 ありそうな話。
ちなみに、indexの複数形はindicesまたはindexes。
USER_INDEXESテーブル(ビューだっけ?)があるオラクルは
ぎりぎりセーフ。
825 :
仕様書無しさん :03/02/08 15:46
ソースコードというより、それ以前の問題で場違いな気がしますが あまりにも凄いので挙げさせてもらいます。 うちの社内ページ、ドキュメントへのリンクが ワード、エクセル、パワーポイントの自己解凍形式ファイル。 <A href="〜.exe>更新履歴</A> <A href="〜.exe>緊急連絡事項</A> <A href="〜.exe>お知らせ</A> <A href="〜.exe>2月1日付け人事に関する件</A> ・・・
ハードウェアのmouseの複数形はmousesでいいじゃん。
datum←→data
erratum/errataと同じか?
プログラム言語に満足せずラテン語の習得を目指すスレはここですか?
プログラム言語の中の人などいない!
831 :
仕様書無しさん :03/02/08 22:03
可読性を高めるため、定数直書きはやめましょう。 DEFINE #最大値1 1 DEFINE #最大値2 2 DEFINE #最大値3 3 ... DEFINE #最大値30 30 DEFINE #初期値1 1 COBOL。DEFINEの前になんか記号あったかもしれない。忘れた。 ・・・死んでくれ。
兄「オイ、いったいナニやってんだ?」
妹「あ!お、お兄ちゃん!」
兄「お前、俺に隠れてこんなことしてたのか?」
妹「やだ・・・みんなには言わないで・・・」
兄「どれ、俺にも少し味あわせてくれよ。」
妹「ちょっ!お兄ちゃん何するの!やめてっ!いやっ!」
反抗する妹とは裏腹に兄の指は妹の蜜壺にぬるりと入り込んでいく。
ズブッ、ズブッ・・・
妹「やだ!汚いよ!」
兄「ちゃんと手は洗ってる、汚いものか。」
妹「やだ!恥ずかしいよぉ・・・」
兄はゆっくりとその蜜の中から指を引き抜く。
指には妹のソレに満たされた液がヌルヌルとからみついている。
兄「ふふ・・・あま〜い匂いがするぜ。」
妹「ああん、言わないで。」
兄「なめちまおうっと。」
妹「いや・・・」
兄「スッゲー甘いな。砂糖入れたのか?」
妹「あ〜ん、秘伝の味なのにぃ〜。」
こっそりハチミツを作っている妹を偶然見つけた兄。
http://www15.big.or.jp/~kaini/image/img-box/img20021111111348.jpg
>>832 そんなコメントがソースコードに埋め込まれてたら確かに辞めたくもなるな。
>828 データ少佐って複数人格?
>835 エモーションチップを付けた時と外した時では、別人格 と言ってもいいのでは?
837 :
Be名無しさん :03/02/10 03:12
*.h の先頭行が /* $Header... */ だったのを見て、 *.c の先頭行を /* $C ... */ に書き換えた加藤さん。 かわいかった。
DBの内容をファイル出力するプログラムで select * from なんたらテーブル という条件で全件selectした後、一件ずつIF文で判定して 出力可否を判定していた。だったら最初から条件を指定して selectしろや、、、 ちなみにCOBOLでの話。
>>838 何が気の毒かって、実際に目の当たりにすれば激しくやる気をなくすだろうけど
このスレ的にはガイシュツ中のガイシュツなのであまり気の毒に見えないことだ。
>>839 XMLドキュメント中のノードをサーチするのにXPATHを使わずに
・全ノードを舐め回す奴
・馬鹿の一つ覚えみたいにgetElementsByTagName()しか使わない奴
ならいっぱいいそうだな。
841 :
仕様書無しさん :03/02/11 01:32
「エラメーッセージが表示されないんですぅ〜」 if( ! isEOF ){ if( ifEOF ){ ShowErrorMsg("該当レコードがありませんでした"); } (中略) } 可愛いから許すよ、俺は。
↑ちょっとtypoあった。。。スマソ
それは一体何を判定するつもりだったんだ・・・
ちょっと端折って書いたんだけど、 要はレコードの終端をチェックするコード。 本当は↓みたいに書いて欲しかったのだ。。 if( ifEOF ){ ShowErrorMsg("該当レコードがありませんでした"); }else{ //正常処理 (中略) } 1日中悩んだらしい。。。(鬱)
typeしたままコピっちゃったよ。 スマン。
ステップ実行できるデバッガは使ってないのか?
いや、、、普通にVisualStudio使ってるはずだが... 知らん。 別のオフィスの子だしな。 近くにいるのなら手取り足取り…
>>847 貴様、それは「この会社続けようと思ったソースコード」だろ。
もっさい野郎が書いた場合→この会社を辞めようと思ったソースコード かわゆい娘が書いた場合→この会社を続けようと思ったソースコード 共通すること→俺デスマーチ(死
まーデスマで死んでもそのかわゆい娘が自分の遺伝子残してくれるならそれもよいかと
>>852 勧告されたから使ってもいいんじゃない。
君の使っているXSLTに実装されてるかどうかは知らないけどな。
>>853 > 君の使っているXSLTに実装されてるかどうかは
下手に依存して、XPATH相当のコードを書く羽目になりそうでちょっと・・・
#汎用レジスタ LPC - ループカウンタ ETX - エラーコードが入る #編集記号 apxCr - \n apxLf - \r #汎用命令 WTO oper,oper,・・・ - コンソールにデータを出力 EIFF - PGMの終了 #変数定義 DStype value -type型の変数を定義する MRZMY - 整数型 SGNOW - 文字列 SW27 char - 構造体の宣言の開始 LE01 - 構造体宣言の終了 #演算命令 SPD reg,(reg,imm) - left = right*stringでも可 MLF reg,(reg,imm) - left = left+right*stringでも可 POF reg,(reg,imm) - left = left-right FDM reg,(reg,imm) - left = left*right MWM reg,(reg,imm) - left = left/right ISC reg - left ++ QPY reg - left -- #プロシージャ呼び出し ROL proc - プロシージャを呼び出す DQL - 呼び出し元に復帰
↑で書いたプログラム(スクリプト?)の例 strHelloに"Hello World"を代入してコンソールに出力 DS SGNOW strHello DTSEG main SPD strHello,"Hello World" WTO strHello,apxCr EIFF この変なインタプリンタ使うのやめてください!! なんで代入がSPDなんだ? 何の略だかわけわからん。
>>856 トランスレータでも書いて、しのいでください。
858 :
仕様書無しさん :03/02/11 22:50
この会社辞めようと思ったプログラム言語
859 :
仕様書無しさん :03/02/11 23:15
某会社の役員で、漏れの上司や、 その他の顧客から高い評価を受けているらしい技術者の書いた ソースコード・・・。世の中、何かがずれてると思った。 どう考えても、戻り値はEmptyしかないのだが・・・。 ※下記にイメージを書いたが、 ※実際のソースコードはステップが3倍くらい多い。 Function atai(moge) as Variant Dim v As Variant For j = 0 to Ubound(moge) If j > moge v = v + 1 End If Next atai = v Exit Function
>他の顧客から高い評価を受けている プッ、VBでかぁ?
> For j = 0 to Ubound(moge) > If j > moge これ意味わかんねーよ。 moge は値なの? 配列なの? このまま動かしても実行時エラーにならんのか? Then が抜けてるけどそれは突っ込みどころじゃないか。
>>860 馬鹿丸出しだな。
俺はVBを使う気はさらさら無いが、
顧客要求を効率的に実装できる技術があるのならどんな言語
を使っていようが高い評価は得られるのが当たり前だ。
要求の種類や資産活用などで言語を選定した結果、
VBでは無いというのはよくある話だが
VBだというだけで否定するのはど素人。
> VBだというだけで否定するのはど素人。 おそらく彼にはトラウマあるんだよ。VBで。
>>862 コンパイルは通るけど、実行時エラーになるな。
End Functionもないし。
>>859 は単に判ってないだけじゃないかと疑いたくなる。
>>852 MSXML系(含む.NET)はDOM APIをXPATHサーチ機能付きに拡張してるな。
Javaだと、xalanのXPathAPIあたりを使うんでないかい?
xalanでCachedなXPathAPIが提供されたのは比較的新しいバージョンのよう
なので、古いXPathAPIを使っておいた方がいいと思うが。
何にせよXPATHを利用せずにXMLノードをサーチするのは適切なSELECT文
を使わずにRDBにアクセスするのと全く同じことだ。あんまりそういう
原始的で非効率なことは、やりたくないだろ。
>>860 漏れは Excel4Macro だけで役員連中から拍手受けたことがあるよ。
重要なのは何を使ったかじゃなくて、彼らができないと思っている事を
やってのけること。