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

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

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

1 :名無しさん@Emacs:02/12/21 15:10
この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
COBOL ライクなソースコード。(゚д゚)マズー
をつらつらと綴っていって頂戴。

質問する前に Web で検索してね。
あと、丸投げ/宿題おとこわり。

■過去スレ
この会社辞めようと思ったソースコード
#1http://mentai.2ch.net/prog/kako/997/997104873.html
#2http://pc.2ch.net/prog/kako/1001/10010/1001076034.html
#3http://pc.2ch.net/prog/kako/1015/10158/1015861447.html
#4http://pc.2ch.net/test/read.cgi/prog/1021560641/
#5http://pc.2ch.net/test/read.cgi/prog/1029120005/
#6http://pc.2ch.net/test/read.cgi/prog/1033317733/
#7http://pc.2ch.net/test/read.cgi/prog/1036779521/

■関連スレ
この会社辞めようと思った上司の一言
#1http://mentai.2ch.net/prog/kako/992/992259973.html
#2http://pc.2ch.net/prog/kako/1003/10034/1003497181.html
#3http://pc.2ch.net/test/read.cgi/prog/1024763650/
#4http://pc.2ch.net/test/read.cgi/prog/1034469344/
この会社を辞めよーかなーなんて思った上司の一言
#5http://pc.2ch.net/test/read.cgi/prog/1036592708/


2 :仕様書無しさん:02/12/21 15:15
2

3 :仕様書無しさん:02/12/21 15:19
DB設計でなんじゃこりゃ?とか、デムパなSQLの事例がありましたら、じゃんじゃんageて
ください。おながいします。
(すでに出尽くした感もあるが)

4 :仕様書無しさん:02/12/21 15:31
どっちが本スレ?

5 :仕様書無しさん:02/12/21 15:49
スレ建てたのは向こう
(この会社辞めよっかなーっておもたソースコード #8
  http://pc.2ch.net/test/read.cgi/prog/1040394849/ )
が先だけど、1〜3のレスを見比べたらこっちが本スレにふさわしい
と思った。

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
悪いけど重複なので削除依頼出しておきました。

9 :仕様書無しさん:02/12/21 22:37
>>8
なら上げんなボケ。

10 :仕様書無しさん:02/12/21 23:15
>8
こっちが本スレだってば。前スレにはこっちへのリンクしかないよ。

11 :仕様書無しさん:02/12/22 14:52
新スレ以降したものの、ネタ切れですかね?

12 :仕様書無しさん:02/12/22 15:00
連休中かデスマってるか、どっちかでしょう。
いずれにせよ、ネタ書いてる余裕はないと思われ。


13 :仕様書無しさん:02/12/22 15:52
こんなの動いてる…いやだょもぅ…


/* ここはおそらくこれでいいと思われ */
if (0 <= value <= 5){
  // 正常系
} else {
  // 異常系
}


14 :仕様書無しさん:02/12/22 16:12
>>13
あー、やったことあるよ漏れも。
コンパイルが通ってしまうから、出来るかも〜!と試してみたんだけど、
ダメだったね。
実際、どういう挙動になるのかなぁ?
漏れはメンドクサイから追うのやめたけど。

15 :13:02/12/22 16:17
>>14
このシステムで使っている処理系では常に正常系をとおってるよ。

コメント2ch風にしてるけど、本当に "大丈夫と思う" みたいなこと
コメントに書くなよ…もう納品済みなのに… 。゚(゚´Д`゚)゚。

16 :仕様書無しさん:02/12/22 16:33
>>15
馬鹿ですね、あなたは。わざとやっているにきまっているだろーが。
この処理はもともと異常が起こらないことが前提で作られているんですよ。
ここで異常が起こるのはこの関数の呼び出し元がおかしな動作をするときだけです。
問題があるとすればひとつ上の関数を作った奴に言え。

17 :仕様書無しさん:02/12/22 16:33
>>13
評価プライオリティが同じ時は
左から順に評価されるから
if((0 <= value) <= 5)
と同じ意味になるんじゃないの
まぁ、設計者が意図とは異なってるだろうが(w

18 :仕様書無しさん:02/12/22 16:35
>実際、どういう挙動になるのかなぁ?
>漏れはメンドクサイから追うのやめたけど。


いや…
追うとかそんなレベルじゃねえだろ
C/C++なら比較演算子は左から右だから
(0 <= value) <= 5
左の<=が返すのはtrueかfalse(1か0)だから必ずifはtrueになる

19 :仕様書無しさん:02/12/22 16:45
>>17-18


基本的なことを理解できてない>>14には
会社を辞めてもらった方がいいな(w

20 :13:02/12/22 16:51
他の奴が作ったのを見逃した自分が悪いって話なんだけどね。
しかし 5 年目でこんなコード書くなよぉ。

21 :仕様書無しさん:02/12/22 16:57
>>19
それらをまとめて駆除できたら、
システム開発以来も楽になってよいっすね。
バグだらけで「開発完了!」なんて自信満々に言われてもなぁ。
# いかん、愚痴モード入ってる。・・・まあ、いいか。

22 :仕様書無しさん:02/12/22 16:59
意図しないで漢字を間違えた・・・鬱。

23 :仕様書無しさん:02/12/22 17:30
今年の新人の書いたソースのコメントには

char dd[10]; /* intだと正常に動かないのでchrにした*/

というのがあったりするよ。

24 :仕様書無しさん:02/12/22 18:34
>>23
それがintで動かなくてcharで動く理由が判るように書いてくれんか?
そうしないと、どうしてそれで会社辞めたくなるのか判らんぞ。

25 :23:02/12/22 18:57
あーすまん、辞めたくなったかどうかではなく、スレの流れに沿った話題として書いただけだ。
ちなみに理由は、

数値の 0 と 文字の '0' の区別がついてなかっただけ、ということで。

26 :仕様書無しさん:02/12/22 19:08
>>25
> 数値の 0 と 文字の '0' の区別がついてなかっただけ、ということで。
intだと正常に動かない理由としては説明不足


27 :23:02/12/22 21:46
>>26
頭悪いのか?
なんでお前にそこまで説明せにゃならんねん
度をわきまえろ、DQNめ

28 :仕様書無しさん:02/12/22 21:46
先人から引き継いだVBのソースを調べてたら

(一部を転載)
Global Const vbWhite = 16777215
Global Const vbRed = 255
Global Const vbBlack = 0


こんなのばかりだ・・・氏ね


29 :仕様書無しさん:02/12/22 22:25
>>27
数値の 0 と 文字の '0' の区別がついてないヤシだったら
int型配列をchar配列に変えた所で動くようにはならんだろ
むしろintの方が他の要素を破壊しないから動く可能性が
高いと思ったのだが

30 :仕様書無しさん:02/12/22 22:28
getchar()のリターン値はint型

31 :仕様書無しさん:02/12/22 22:30
>>28
>Global ???

32 :仕様書無しさん:02/12/22 22:57
>>27
威勢はいいけど、
intをcharにしたら動くようになったという実例もだせない(プ

おまいがDQN(w

33 :仕様書無しさん:02/12/22 23:02
>>28
実際どうなるんだろ?二重定義でエラー?
昔々には無かったとか言うオチは無し?

34 :仕様書無しさん:02/12/22 23:14
>>28
>>31見所はそこなのですか?VBよくしりませんが、
色コード(?)をConstしてるあたりがどうも気になるが。


35 :仕様書無しさん:02/12/22 23:16
>>34
Java と VB がほどよくブレンドされてる、ネタコード。

36 :仕様書無しさん:02/12/22 23:17
>>23 のコメントだけで充分にワラエるのだが...

37 :仕様書無しさん:02/12/22 23:19
なにゅ、するとGlobalはJava?
static finalしか使わない私が未熟者(;_;)

38 :仕様書無しさん:02/12/22 23:27
>>35
ピュアVBでしょ?

39 :仕様書無しさん:02/12/23 00:24
>>34
色は16進で定義した方がわかりやすいという話では?
こんなかんじで。
Global Const vbWhite = 0xFFFFFF
Global Const vbRed = 0x0000FF
Global Const vbBlack = 0x000000

40 :28:02/12/23 00:31
一応先人と書きましたが、大元のを作った人はまだ開発やってます
口先は達者なので開発でなく本気で営業に行ってほしいと感じてるんだけども、請負で外部から
来てる自分が言うことでもないですし


>>33
悲しいがな、コンパイルできて見た目正常に動作してしまうんです
こんなコード普通書かないから、漏れもソース見たときなんでコンパイル通るのか不思議でしたけど

>>34
VBだとプロパティの値等かなりの情報が定数でもともと定義されてるんです
なのにわざわざ自前で宣言してるのが500箇所くらい
以前書いたけど、予約語のSpaceも定義してあってコンパイルが通らなかったりグローバル変数宣言
しまくりでソース解析だけでえらい時間かかったりとか
今回は一通り修正したと思った余計な定数宣言が他のPGで見つかったんでネタで晒しました

>>35
ネタでなく、VB6で変数宣言する時にGlobalの指定が可能なんです
(文字通りグローバル、アプリケーションのどこからでも参照・変数の場合は操作も可能)
ただ、開発で飯食ってる人ならばほとんど使わないし最初から用意されてるものと同じ名称で同じ値を
再定義してるのは完全に無意味だし無駄でしかないし、実行ファイルも大きくなるんぢゃないかな(最後のは憶測ですが)

JAVAは少しかじった程度なんでよくわからんです

41 :仕様書無しさん:02/12/23 00:33
>>39
なんだよ0xって(w

42 :28:02/12/23 00:40
40の書き込みで一部訂正しときます

>ネタでなく、VB6で変数宣言する時にGlobalの指定が可能なんです
>(文字通りグローバル、アプリケーションのどこからでも参照・変数の場合は操作も可能)
>ただ、開発で飯食ってる人ならばほとんど使わないし最初から用意されてるものと同じ名称で同じ値を

PG全体で共通して使うエラーコード・戻り値なんかはグローバル(自分の場合は(Public)の定数で宣言したりもするので
自分が言いたかったのは、大量の変数をグローバルで宣言してスパゲッティ状態になってるソースが許せない部分
があったためで、説明不足でしたね

43 :仕様書無しさん:02/12/23 00:41
BASIC だと &H かな

44 :28:02/12/23 00:42
>>39
確か、VBだと 0xFFFFFF と書きたい場合は &HFFFFFF だったかと。H必要だったかな・・・
VB入ってるPCが死んでるので記憶があやふやですけど

こんな時間か
寝ます

45 :仕様書無しさん:02/12/23 00:49
おまいら、
BASICはローカル変数って概念はないんだぞ

す べ て グ ロ ー バ ル

46 :仕様書無しさん:02/12/23 00:54
>>28
やっぱりさ、VBが糞って言われるゆえんはここらにあるんだと思う。
さっきのvbXXXXX類の定数ってのはVBRUNに定義済みな訳ですよね。
(オブジェクト ブラウザで腐る程出てくる)
この辺の説明がヘルプに明確に無いし、そもそも再定義できるのはタコだと思う。
まさに逝ってよしゲイツ。

47 :仕様書無しさん:02/12/23 01:08
>45
VB でもそうなの?!
百いや千歩譲っても一応は現代最新の BASIC 方言か、と思ってたが。。。
はっきり言って「テロ行為」だな。。。

48 :仕様書無しさん:02/12/23 01:46
>>47
ネタでなければ、あんたのような先輩のいる会社は・・・

49 :仕様書無しさん:02/12/23 07:22
Public Const vbWhite = &HFFFFFF&

にしとけ

50 :仕様書無しさん:02/12/23 10:03
>>46
vbXXXXの正確な名前はVBRUN.vbXXXX。これが再定義できるわけじゃない。
標準モジュール(M)で定義したvbXXXXの正確な名前はM.vbXXXX。
VBRUNやMを省略した場合のvbXXXX検索順はカレントプロジェクト→参照設定プロジェクト(優先順位順)になる。
カレントプロジェクトに二つ以上vbXXXXがあるとvbXXXXだけでは名前が解決できないのでエラーになる。
これらのことは、「VisualBasicドキュメント」-「Visual Basicの使用方法」-「プログラミングガイド」-
「Visual Basicの基本」-「プログラミングの基礎」-「変数、定数、およびデータ型-定数」などに書いてある。

51 :仕様書無しさん:02/12/23 10:50
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
ハリポ炉画像↓(ソフトエロ)ハータン
http://www.geocities.co.jp/Playtown-Part/7565/

54 :仕様書無しさん:02/12/23 13:03
イツテヨシ
イツテヨシ
イツテヨシ
イツテヨシ
イツテヨシ
イツテヨシ
イツテヨシ
イツテヨシ
イツテヨシ
イツテヨシ
イツテヨシ

55 :仕様書無しさん:02/12/23 17:46
OO厨とか糞コード書きそうだな。
分析・設計が全てだと思ってる奴。

56 :仕様書無しさん:02/12/23 17:51
int batoru(){

57 :46:02/12/23 18:55
>>50 だよね..
       ∧_∧
       /⌒ヽ )
      i三 ∪
       |三 |
      (/~∪
     三三

58 :仕様書無しさん:02/12/24 05:19
}  //終了

59 :仕様書無しさん:02/12/25 11:38
int restart(){   // 再開

60 :仕様書無しさん:02/12/25 11:46
  restart();// 再帰


61 :仕様書無しさん:02/12/25 11:52
stack overflow...

62 :仕様書無しさん:02/12/25 19:21
単純再帰はループに最適化されますた。

63 :仕様書無しさん:02/12/28 20:25
このスレを最適化したらレスいくつ残るかな?

それはともかく御用納め前日
「この会社を辞めようと思わせるソースコード」を書いて参りまつた
皆の衆、正直スマンカッタ

64 :仕様書無しさん:02/12/29 02:10
>>63
どんなソースコード書いたんですか?

65 :仕様書無しさん:02/12/29 03:36
// ここをintにすると動かない
char i[4096];

66 :仕様書無しさん:02/12/29 12:20
年明けには消すのをすっかり忘れていて、後日他人に見られてここで笑い者になる、
って事にはならんか...

67 :63:02/12/29 18:07
>>64

なんつーか、いかにもデザパタ勉強し始めた厨房が喜んで書きそうなコード。
再利用性どころか可読性低下させてるというシロモノ。

# つまり漏れが「デザパタ(ry」なわけだが。

68 :仕様書無しさん:02/12/29 22:44
>>65
スタックオーバーフローですか?

69 :仕様書無しさん:02/12/29 22:51
したっけオーバー風呂だろうが。

70 :仕様書無しさん:03/01/01 20:39
スタッフオーバー労働です。

71 :仕様書無しさん:03/01/01 21:43
おれこの間芸術的なまでにみごとにスタックの値を書き換えるバグに遭遇したぞ。
正直すげーと思った。
デバッガで追っかけられないものだったので実地で動かすしかなかったので、
ファイルに値を吐き出させていたのだがある関数内の先頭で宣言した変数に設定した値が
途中で勝手に書き換わっていた。

72 :仕様書無しさん:03/01/01 21:50
>>71
おれにもすげーと感動させるように書いてくれよ

73 :仕様書無しさん:03/01/01 23:38
>>71
そんなありふれた事を…

74 :仕様書無しさん:03/01/01 23:50
>>72-73
釣られるなよ……


75 :現場の和久:03/01/02 11:48
去年の夏、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と、一般常識レベルの英語くらいは勉強しろ」
と言ったんですが効き目なし。


76 :仕様書無しさん:03/01/02 11:53
>>75
コーディング規約のないあなたの会社にかんぱーい

77 :仕様書無しさん:03/01/02 12:49
              Eヽ(゚д゚ ) オカネドゾー
オカネドゾー ( ゚д゚)ノ¥
              $ヽ(゚д゚ ) オカネドゾー

78 :仕様書無しさん:03/01/02 12:51

  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | そろそろお年玉あげる歳だよ…。
  \
     ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧ ∧
  ( ゚Д゚)y━~~
   U  |
 〜|  |
   U U
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


79 :仕様書無しさん:03/01/02 13:24
俺も変数命名規約的に問題ががなければtateとかyokoとかいう
変数使うよ。x,yといった一文字変数嫌いだから。
でもさすがに「kuria」には笑った。

80 :仕様書無しさん:03/01/02 13:32
>>79
なんで?
tate,yokoと変わらんよ

81 :仕様書無しさん:03/01/02 14:52
>>80
日本語をローマ字表記と
英語をローマ字表記
の差は大きいと思うよ

82 :仕様書無しさん:03/01/02 14:58
ていうか、その程度の英単語(clear)すら使えない人が、
プログラミングをできるという事実事態がオドロキだよ。

プログラミングなんて、ある程度英語ができてナンボじゃん。


83 :仕様書無しさん:03/01/02 15:02
だから、kuriaは笑っちゃうけど
日本語のtate,yokoは使う事が有るよ
って言ってるの
もちろんクリアはclearってするけど
縦横は日本語のまま使ったっていいでしょ

84 :仕様書無しさん:03/01/02 15:38
縦と横を、
baato、horizu
って書くやちはおらんだろ

85 :仕様書無しさん:03/01/02 21:15
>75
 全然関係ないんだが、そういや昔、有名な某ツールの拡張コマンドは、
「MISA」
でしたなあ……トオイメ

#さて何のツールだか分かった人はメール欄にでも答えを書こう(w

86 :仕様書無しさん:03/01/03 02:45
まあ笑える変数名といったら、いつぞや誰かが報告してくれた
UwaRiteが最強だろう。

87 :仕様書無しさん:03/01/03 11:38
まあ、下手にclearとか普通の英単語使うと、関数とバッティングしたりするしな。
使用言語によってはよくわからないバグに発展したり。
どっちにせよ、コーディング規約作っとけということだが。

88 :UwaRite報告者:03/01/03 14:49
はーい (。・_・)ノ

ついでにUwaRiteを使ってた社名晒しをお年玉代わりに提供〜

CSk

89 :仕様書無しさん:03/01/03 15:13
UwaRiteってなんのことかわからなかったが・・・最強だな。

90 :仕様書無しさん:03/01/03 17:25
UwaRite・・・(´・ω・‘)ワカラナイヨ

91 :仕様書無しさん:03/01/03 19:03
UwaRite…えーと、上書きとか…?

92 :仕様書無しさん:03/01/03 19:21
overwrite?

93 :仕様書無しさん:03/01/03 19:28
単語を知ってる知ってないじゃなくて、
「UwaRite」とかいうネーミングをしていて何とも思わないところに
大きな問題があると思う。知性というか、その人の考え方自体に。


94 :仕様書無しさん:03/01/03 22:48
デスマーチでテンパってたら許せてしまうかも・・・
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
連番のほうが管理が楽になるだろ。
大丈夫?

98 :仕様書無しさん:03/01/03 23:20
コントロール配列・・・

99 :仕様書無しさん:03/01/03 23:21
>>97

modeをbooleanだとして、

cmdxxx1.Visible = mode
cmdxxx2.Visible = mode


にしる!って事では?


100 :仕様書無しさん:03/01/03 23:21
>>97
連番とかの問題じゃ・・・

101 :仕様書無しさん:03/01/03 23:25
>>97
つーか連番じゃ何のボタンか分からん

102 :仕様書無しさん: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

103 :仕様書無しさん:03/01/03 23:26
>>101
仕様書をミロ

104 :仕様書無しさん:03/01/03 23:27
>>99
つーかVBってTrueかFalseしか代入できないんじゃないの?
modeがbooleanじゃ無かったらできないだろ

105 :仕様書無しさん:03/01/03 23:31
>>104
???

106 :仕様書無しさん:03/01/03 23:32
>>105
別にアフォに説明する気はないよ

107 :仕様書無しさん:03/01/03 23:33
>>104
応用力の無いヤシハケーン

108 :仕様書無しさん:03/01/03 23:39
>>107
別にやり方は分かるが99の書き方じゃ駄目だといっているのがわかんないの?

109 :仕様書無しさん:03/01/04 00:08
>>108
>>99と自分で書いた>>104をよーく読んでから言い訳考えろよ

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
>>111
できねーよ、アフォ

113 :仕様書無しさん:03/01/04 00:24
>>110
俺も同じだ。
しかも次々に仕様変更が入っていかんともしがたくなって
無理やり修正しつづけた。
その結果、多分誰もメンテしたくないだろうというソースが完成した。
一応問題なく動いているが。

114 :仕様書無しさん:03/01/04 00:25
>>111-112
もっと頭の中で文章を整理してから書き込んでくれな

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
>>118
>VisualBaisicだぞ、Baisic!!

ここと間違えた?
http://pc.2ch.net/test/read.cgi/prog/1031059923/l50

120 :仕様書無しさん:03/01/04 02:17
今年もここは萌えそうだな。


121 :仕様書無しさん:03/01/04 10:53
Baisic age

122 :仕様書無しさん:03/01/04 11:10
>>118
英語の勉強からやり直そうね。

123 :仕様書無しさん:03/01/04 11:11
VBで
If mode=true Then
は危険。どうもmodeに1が入る時が時々あるようだ。
trueは-1なので条件が成立しない。

If mode then
にすると正しく動作する。

まあ、VBで今更プログラム作ることも無いからどうでもいいけど

124 :仕様書無しさん:03/01/04 11:59
>>123
んなバグ聞いたことねぇぞ
なんか間違ってるんじゃね?

というか、VBの話題になるたびにいっつも荒れますね
まぁ、VBなんて知らん人が多いからしょうがないのかもしれんが

125 :仕様書無しさん:03/01/04 12:08
まあ、Baisicだからな

126 :仕様書無しさん:03/01/04 12:14
boolean型はtrueとfalseしかあつかわねーよ。
Cとかでのtypedef BOOL intのBOOLと勘違いしてねーか?

127 :仕様書無しさん:03/01/04 12:19
>VBなんて知らん人が多い
最近はVB使いが減ってきて逆に重宝されるようになってきてるんだね

128 :仕様書無しさん:03/01/04 12:38
>>124
Delphiだけど、そういうバグがWindows95にあったことがある。
APIに渡す引数のBOOL値の判断が1かどうかで判断していたとかで。
Windows側のバグなので、Delphi側としては1を渡すしかない・・・という最悪のバグ。

129 :仕様書無しさん:03/01/04 12:47
>>124
ActiveXの返り値で1を返してくるものがあるんだよ。
これをVBで受取るとTrueだが-1ではないのでTrueと比較するとFalse

べつにVBなんてどうでもいいけどさ

130 :仕様書無しさん:03/01/04 12:51
>>128
それはDelphi側のバグでは?

131 :仕様書無しさん:03/01/04 12:54
>>129
それはActiveXのインターフェースの問題でVBの問題ではないのでは?

132 :仕様書無しさん:03/01/04 13:14
>>128
あのー…、Delphi(C/C++も)は元々false=0、true=1なのに、何故それが問題に…。

133 :仕様書無しさん:03/01/04 13:20
>>132
相手にするな。頭がバグっているだけだ

134 :仕様書無しさん:03/01/04 13:35
Cでもなんでも、 FALSE は 0 で、 TRUE は NOT FALSE であって、 1 じゃないだろ。


135 :仕様書無しさん:03/01/04 13:42
>>134
Cで !0 は 1 でしょ。

136 :仕様書無しさん:03/01/04 13:59
>>134 , 135
まあ、条件式の判定では、0が偽でそれ以外が真になる。
どっちも言っていることは間違っていないがあってもいない。

137 :仕様書無しさん:03/01/04 15:16
134が正しい。TRUE=1というのは便法にすぎない。
0以外の全ての値をTRUEとして定義する事はできないからね。
あと、DelphiってPascalじゃなかったっけ?
俺は使った事ないから自信ないが。

138 :仕様書無しさん:03/01/04 15:16
>>132
Delphi3だかではtrueが-1で定義されていた。

>>130
↑の理由によって違う。

139 :仕様書無しさん:03/01/04 15:18
>>135
1は!0だが、!0は1とは言えない。

140 :仕様書無しさん:03/01/04 15:20
>>138
それはOLE互換で設けられたLongBoolであって、BooleanはずっとTrue=1の筈

141 :仕様書無しさん:03/01/04 15:24
確か大昔のBASICではいわゆる「TRUE」が-1だった記憶が。
それを利用してスティック状態関数の戻り値と論理式で座標増分計算する
イディオムがあったなぁ、と回想してみる。

あ、ついでに。ANSI Cでは確か!0==1と定まってたような気がする。

142 :仕様書無しさん:03/01/04 15:26
>>140
APIとしても、BOOL(LongBool)はBooleanのtrue・falseと同義であったはず。
それを信じて、not falseであるところの値を渡したところ、
正常に作動しない、というのはWindowsAPI側のバグと言える。
というか、Booleanとは書いてないよ。

143 :仕様書無しさん:03/01/04 15:26
>>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

仲間外れはどれ?

146 :仕様書無しさん:03/01/04 16:00
あけおめことしもヨロヨロ。

年末から新年にかけてレス伸びてるなーと思ったら
素人がいっぱいきてたんだね〜

147 :仕様書無しさん:03/01/04 16:11
冬厨は既に風物詩です。コトヨロ。

148 :仕様書無しさん:03/01/04 16:21
>>144
Cで比較結果が0 or 1なのは規格だった気が…勘違いかな?

149 :仕様書無しさん:03/01/04 16:24
論理否定と算術否定を混同するスレはここですか?


150 :仕様書無しさん:03/01/04 16:26
それを言うなら、論理反転、算術反転・・・。


151 :仕様書無しさん:03/01/04 16:41
>>143
コンパイラ何? やばくない?

152 :仕様書無しさん:03/01/04 16:56
いや、あくまでやばいのは脳内だけだろ。


153 :仕様書無しさん:03/01/04 17:27
>>151
おまえの方がやばそうだな

154 :仕様書無しさん:03/01/04 17:56
>>153
>>143必死だな

155 :仕様書無しさん:03/01/04 18:11
>>154
おまえほどじゃないよ

156 :仕様書無しさん:03/01/04 18:14
>>144
実際には、時として真実であったりもする・・・

157 :仕様書無しさん:03/01/04 18:23
工場で働いている万年屋内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
>>157
本人談。

162 :仕様書無しさん:03/01/04 20:43
>>156
「言語仕様に則った実装」と、「実装が言語仕様」では大きく違うが?

163 :仕様書無しさん:03/01/04 20:45
>>162
おまえはC言語の歴史を深く勉強しろ。

164 :仕様書無しさん:03/01/04 20:47
>>163
意味不明ですな。

165 :仕様書無しさん:03/01/04 20:54
>>164
おまえは日本語をもっと勉強しろ。

166 :仕様書無しさん:03/01/04 21:01
>>163-165
おまえらどっかいけ。

167 :仕様書無しさん:03/01/04 21:03
>>166
行き場所がねーんだよ。作っていーか?

168 :仕様書無しさん:03/01/04 21:04
>>166
>>162登場。まぁそうカッカすんなや。

169 :仕様書無しさん:03/01/04 21:18
>>168
なんで分かるの?

170 :仕様書無しさん:03/01/04 21:19
>>169
どことなく。

171 :仕様書無しさん:03/01/04 21:25
ま、また〜りしようよ・・・

172 :仕様書無しさん:03/01/04 21:30
とりあえず話題を整理すると、
C言語の論理演算の結果は1と0
if文などの条件では0は偽で0以外は真
これであってる?

173 :仕様書無しさん:03/01/04 21:39
>>172
0が偽で0以外が真。これのみしか正しくない。

174 :仕様書無しさん:03/01/04 21:46
式が偽であるとは、その式が0を返すことを示す。
式が真であるとは、その式が0以外の値を返すことを示す。
(ANSI-C)

175 :仕様書無しさん:03/01/04 21:49
>>174
ソースは?

176 :仕様書無しさん:03/01/04 21:52
>>175
ソース一覧。
http://www.bulldog.co.jp/ ブルドックソース株式会社 東京都
http://www.kagome.co.jp/ カゴメ株式会社 愛知県
http://www.otafuku.co.jp/ オタフクソース株式会社 広島県
http://www.ikari-s.co.jp/ イカリソース株式会社 大阪府
http://www.kikkoman.co.jp/ キッコーマン株式会社 千葉県
http://www.oliversauce.com/オリバーソース株式会社 兵庫県
http://www.sky-net.or.jp/toshi/ カープソース 広島県
http://www.maruki-su.com/ 株式会社 川上酢店 愛知県
http://www.kozima.co.jp/ 小島食品製造株式会社 愛知県
http://www.komi.co.jp/ コーミ株式会社 愛知県
http://www.sankyohikari.co.jp/ サンキョーヒカリ 愛知県
http://www.junmaru.co.jp/ 株式会社 純正食品マルシマ 広島県
http://www.papaya-sauce.co.jp/ パパヤソース本舗 大洋産業株式会社 京都府
http://www.takahashisauce.com/ 高橋ソース株式会社 埼玉県
http://www.choko.co.jp/ チョーコー醤油株式会社 長崎県
http://www.timelyhit.ne.jp/ajiyoko/shop/sauce/sauce1.htm 阪神ソース株式会社 兵庫県
http://www.kyoto-thinking.co.jp/hirota/京風味ソース本舗 蛇ノ目食品廣田徳七商店 京都
http://www.optic.or.jp/com/fujiisauce/fujiisauce.html 有限会社 藤井ソース工場 岡山県
http://www2.neweb.ne.jp/wd/hikari/ ヒカリ食品 徳島県
http://www.hat.hi-ho.ne.jp/aokia/ 下北沢ビレッジソース 丸寿食品工業株式会社 東京都
http://www.yamayashokuhin.co.jp/ 山屋食品株式会社 東京都
http://www4.osk.3web.ne.jp/~brother1/ブラザーソース森彌食品工業株式会社
http://www.asahi.co.jp/you/t20011026.html神戸地ソース物語
http://www.maff.go.jp/koueki/sougou/35/35.htm(社)日本ソース工業会

177 :仕様書無しさん:03/01/04 21:53
>175
テキトー(嘘

ANSI-C言語大辞典 ISBN4-89362-070-3
のtrueとfalseの定義をオレ的に抜粋

178 :仕様書無しさん:03/01/04 21:57
>>177
なんかあやしいからプログラム版で聞いてくる。

179 :仕様書無しさん:03/01/04 21:58
半島の組織票に詰め寄られてます
http://live.2ch.net/test/read.cgi/festival/1039531056/926
CNNのアンケート
合衆国は北朝鮮と不可侵条約を締結するべきか?
Noに投票してください!

投票所:http://asia.cnn.com/
祭り会場:http://news2.2ch.net/test/read.cgi/liveplus/1041638621/

急募
    
     97氏のような天才プログラマー。

誰か御願いだ! NOに入れるツール、スクリプトを作ってくれ。

QUICK VOTEから投票できます。
クッキーを判定してるみたいです。
しかしTIMEみたいに、画像の番号まではやってません。

求む!英雄!

WE WANT YOU!

180 :仕様書無しさん:03/01/04 22:06
>>172
実装の一例を挙げると、
演算結果でゼロフラグがONなら偽
ゼロフラグがOFFなら真。
演算した内容は特に重要ではない。
わざわざ1を入れてたら面倒。

181 :172:03/01/04 22:17
>>180
論理演算結果は1と0だと思うんだけど・・・
それを利用したプログラムも見たことあるし。


182 :仕様書無しさん:03/01/04 22:20
>>181
論理演算の結果は真か偽だろ?
「論理演算」って意味解ってる?

183 :仕様書無しさん:03/01/04 22:22
>>181

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 は正しいと思うよ。

184 :仕様書無しさん:03/01/04 22:27
でもよ、偽も真も算術型に変換して覚えていると、
とんでもない落し穴に陥るぞ。
たとえば、異なる言語へ移行する時とかな。


185 :仕様書無しさん:03/01/04 22:34
>>183
Cには論理型なんて存在してないんだよ。
boolean とか言ってもユーザー拡張の型なんだからよ。


186 :仕様書無しさん:03/01/04 22:34
>>184
異なる言語って・・・
どう考えても作り直しだと思う僕は馬鹿?

187 :仕様書無しさん:03/01/04 22:36
>>186
Cやってて、たまにJava書いたりすると、分かるよ。


188 :age:03/01/04 22:44
【ネットボランティア】余ったCPUを・・・
 cell computingとは、ブロードバンドに接続された家庭内や
企業内のPCの余剰CPUパワーを統合し、
仮想的なスーパーコンピュータとしての利用を実現する
技術を用いたSI、ネットワークサービスです。
 バイオ、物理計算、設計、金融工学、CGレンダリングなどの
分野のお客様へ、安価に仮想スーパーコンピュータパワーを
提供することを目的としております。
 なお、将来的には収益にあわせてCPUパワーを提供してくださる
参加者へポイントシステムやデジタルコンテンツによる
利益還元を考えております。
http://www2.cellcomputing.jp/

2ちゃんねるのチーム作ってみました。
http://members.cellcomputing.jp/services/teams/team.htm?id=ABBE425B-CE11-4DA4-8591-C68DF67DA41A

189 :仕様書無しさん:03/01/04 23:37
VBはどうかしらんが、Cにはtrueだのfalseだのって、なかったんじゃなかったっけ?
関数の戻り値は「偽なら0、真なら0以外」だったり、「偽なら0、真なら1」だったり、
つまり関数によりけりじゃなかったか?

190 :仕様書無しさん:03/01/04 23:38
>>189
ごめんなさい。関数の戻り値の話ではないんです。

191 :仕様書無しさん:03/01/04 23:47
cにboolは存在します
ttp://seclan.dll.jp/c99d/c99d05.htm#dt19990614X

192 :仕様書無しさん:03/01/04 23:53
#define TRUE (1==1)
#define FALSE (!TRUE)

でいーんじゃねーの

193 :仕様書無しさん:03/01/04 23:56
メルトモ募集中!中学1年で「かつや」って言います。誰か友達になりましょう!男女問いません!
rip-kiss.01@docomo.ne.jp

194 :仕様書無しさん:03/01/04 23:57
だから、Cでは、論理型変数なんて無いの!


195 :仕様書無しさん:03/01/05 00:03
>>194

>>191

196 :仕様書無しさん:03/01/05 00:04
>>192
標準関数とかの戻り値が、君の定義したTRUE/FALSEの値と一致する
ことが保証されてはいないような気が…
hoge()が偽で0、真で0以外がかえるような関数だった時、
(hoge()==FALSE)はダイジョウブかもしれんが、(hoge()==TRUE)は
ダメ。ということで、そういうdefine定義を使用するのは、いろいろ
微妙。

197 :仕様書無しさん:03/01/05 00:08
CでBOOLはWINSDKの話では?
ようしらんが……

198 :仕様書無しさん:03/01/05 00:09
FALSEとだけ比較するのが最良って事だね。


199 :仕様書無しさん:03/01/05 00:22
そもそも比較なんてしなけりゃいいじゃん。
代入にしたって0や!0が保証されていればいいわけで。

200 :仕様書無しさん:03/01/05 00:23
>>198
FALSEが0で無い糞コードで苦悩する罠。

201 :仕様書無しさん:03/01/05 00:25
>>196
だから何で関数の話になっているんだよ。
関数の戻り値なんて任意なんだからなにが返ってくるかなんて仕様と関係ないだろーが。


202 :192:03/01/05 00:25
>>196
確かに。
標準関数では、明示的にTRUEとかFALSEとか書かれてませんね。
(is系など)
ただ、同一の

ただし、このif文はどう動作するのでしょうか?

if(1==1){
}

>通る

if(1){
}

>微妙

もしかして、hoge()は、0/!0を返す関数ですか?


203 :仕様書無しさん:03/01/05 00:29
おまいら、スレ違いいつまで続けるんだ。
これ以上、C言語みたいな話続けるなら

 【初心者】C風言語について語るスレ【お断り】

でも立ててやれや

204 :仕様書無しさん:03/01/05 00:29
>>202
1 == 1は1が返ってくる
if文の条件は0が偽で0以外が真
だからif(1 == 1)もif(1)も真になる

if(hoge()) {
// 真
} else {
// 偽
}

205 :仕様書無しさん:03/01/05 00:29
つーかム板にあるだろ。

206 :仕様書無しさん:03/01/05 00:36
遅ればせながら・・・

>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.
                                     〜〜〜〜〜〜

207 :192:03/01/05 00:49
>>202
99%正しいです。
ただ、K&R ANSI−Cにこういう記述がないのは何故?

お題:無限ループ

for(;;)
>記述あり=処理系で保障されている

while(1)
>記述なし=残り1%の可能性があるので

値と式の区別はつけたほうが・・・

208 :仕様書無しさん:03/01/05 00:56
なるほど!ここは、
 ・人の話を聞かない
 ・指示どおりの作業をしない(仕事をしない)
 ・そのくせウンチクを語るのが好き
 ・間違っていると指摘されると逆キレをする
という人たちを見て「辞めたい」と思った…情報ソースを書くスレなんだね!!

209 :仕様書無しさん:03/01/05 01:01
>>206
good job

210 :仕様書無しさん:03/01/05 01:20
こういう香具師等を想定してソース書くのは嫌だな......

211 :仕様書無しさん:03/01/05 01:29
>218
思いっきりスレの趣旨に合った感想だな。

212 :仕様書無しさん:03/01/05 01:31
>>210
馬鹿を想定して書くと、まともな奴を誤解させる恐れがある。
まともな頭の奴に合わせるべきだ。

213 :仕様書無しさん:03/01/05 01:34
>>212
みんな自分がまともだと思い込む罠。

言語仕様くらい理解しようね。

214 :仕様書無しさん:03/01/05 01:40
話題がほぼC限定って時点で、このスレは終ってる。


215 :仕様書無しさん:03/01/05 01:51
ここは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)

と等価じゃん。


218 :仕様書無しさん:03/01/05 02:09
>>216
いかにもヤッツケ仕事っぽくて好きだぞ。
そう言うの。


219 :仕様書無しさん:03/01/05 02:10
>>217
君は一生Cだけやってなさい。


220 :仕様書無しさん:03/01/05 02:14
>>217
可読性(情報量)が違います。

221 :仕様書無しさん:03/01/05 02:31
#define TRUE true
#define FALSE false

222 :仕様書無しさん:03/01/05 02:45
>>213
ハァ(゚Д゚)? 自分がマトモだとは言ってませんが何か?


223 :仕様書無しさん:03/01/05 02:47
>>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


225 :仕様書無しさん:03/01/05 02:52
>>220
217 と同レベル

226 :仕様書無しさん:03/01/05 02:52
>>223
なんで探さなきゃイカンのですか?

227 :仕様書無しさん:03/01/05 02:59
>>225
動けば正義と思っている奴発見。

228 :仕様書無しさん:03/01/05 03:00
>>226
文脈読めない奴発見。

229 :仕様書無しさん:03/01/05 03:10
>>224

ポインターの操作はJAVAじゃ出来ないな。
という意味ですか?

230 :仕様書無しさん:03/01/05 04:08
>>228
説明できないならそう言えばいいのに。

231 :224:03/01/05 04:47
>>229
?:演算子の前に、booleanしか受け付けない。
?:演算子の前に、char* を置けない。
?:の間を省略できない。

232 :仕様書無しさん:03/01/05 05:59
いいかげん眠いぞ

233 :仕様書無しさん:03/01/05 06:11
寝れ

234 :仕様書無しさん:03/01/05 08:53
>>224
それって標準C++でもできない。

235 :仕様書無しさん:03/01/05 12:00
>>216
やべっ!おれやったことある・・・。ってよりやってる。だめでちゅか?
だってさ、イベント違いのまったく同じ処理になっちまうときにはダルいじゃん。


236 :仕様書無しさん:03/01/05 12:40
>>235
漏れもあるよ。頻繁に。
イベントを理解して、そういう風に使うのは・・・何もわからない奴から見れば「危険」だが
理解している人には「上手い」処理になる。

まあ、素人が「ドリフト?死ぬかもしれないからやらないよ!」とか言うのに似ているな

237 :仕様書無しさん:03/01/05 12:49
>>236
ドリフトやるヤシってバカだろ
俺たちは珍走やDQNじゃないって言い訳してるとこが
いかにもバカ野郎だよな

238 :仕様書無しさん:03/01/05 12:52
>>236
へー、中途半端に理解している奴からみりゃ「上手い」なんだ。
イベント理解している奴ならそんな愚かなつくりにはしねーよ。

>>235
ところで、関数化って何のためにやるかしってる?

239 :仕様書無しさん:03/01/05 12:55
>>236
> 「上手い」処理になる。

プププ、どこがウマイんだか??
自己満足もそのくらいにしとけw

240 :仕様書無しさん:03/01/05 12:57
>>236
玄人は本当に必要なときにしかドリフトしません
ドリフトがかっこいいと思って多用するのは素人

241 :235:03/01/05 12:58
>>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をコールする。
だめ?

242 :235:03/01/05 12:59
ちなみに引数だとか戻り値だとかはちゃんと使ってるぞ。
上のは思いつきサンプルだからね。

243 :仕様書無しさん:03/01/05 13:05
>>240
一般公道でドリフトが必要な時ってあるのかよ(w
よって玄人だろうが素人だろうが
公道でドリフトするヤシはDQN

244 :仕様書無しさん:03/01/05 13:07
>>241
VBではどうなんでしょうね。
.NETだと、イベント処理用の関数って概念はないので、どこから呼ぼうと構わないんでしょうが、VBのそれはイベントのための関数なので、コード中から呼ぶってのは・・・。

245 :235:03/01/05 13:13
>>244
イベント関数をコードから呼ぶのは・・・ってのはなんとなく抵抗感じる。
けど、絶対にイベント関数をコールしないとこだわりを持つほど価値と打開
策を見出せなかったんで・・・。

246 :仕様書無しさん:03/01/05 13:16
VBやったことないくせに、中途半端&2ちゃんな知識だけで「ダメだ」とかいう
ヤシが多いんだよ、ここは >>235
気にするな、気にするな。

 動いて納期間に合ってバグ出なければ、勝ちだ

247 :235:03/01/05 13:19
>>246
いや、、、どっちかってーと、否定してほしい。んでその流儀を見たい。
「保守し易い」が追加でほしい。

248 :仕様書無しさん:03/01/05 13:23
コードなんて1行すら書けないのにSヨとか名乗ってる奴がいるんです
もうね、ヴァカかとアフォかと

249 :仕様書無しさん:03/01/05 13:33
>>241
タイマー処理の方も本当に処理1〜処理20が必要なのか
よく考えることだ。
例えば、処理1〜5だけが必要だけどめんどくさいし
影響ないからとボタンイベントを呼んでたりしないか?
それと、将来的に仕様変更が加えられてもボタンとタイマーが同一の処理でよいか?
等もよく考えることだな。
もちろんこの例題じゃなくて、実践でな

250 :仕様書無しさん:03/01/05 13:42
>>246
ついでに、保守を誰かに押しつけることが出来れば、
さらに勝ちだな。

251 :241:03/01/05 13:44
>>249
うーん・・・。
とりあえず249の注意事項はすべての満たした結果、イベント関数を呼んでます。
他になにかあるでせうか?

>将来的に仕様変更が加えられてもボタンとタイマーが同一の処理でよいか?
これは思考するだけ非常に無駄だと思います。
まぁ、同一処理ではまずくなったのなら、タイマーにはイベント関数を呼んでる
部分があるはずなので、これをコメントアウトし必要な関数を呼べばいいだけでは?

252 :241:03/01/05 13:45
>>250
あーーー、それはある!
後続のことを考えて書いても後続が最低限のレベルに達してくれていないと
悲しい結末になる・・。

253 :バカ丸出し:03/01/05 13:48
ぷw デスマーチですなww

254 :仕様書無しさん:03/01/05 13:48
タイマーから直接コールされてます!

っていうコメントを書いとけ

255 :241:03/01/05 13:51
>>254
関数の前に関数の仕様を書くフォーマットがあってそのなかに
[Call]という欄があってそこにいつも書いてます。

256 :仕様書無しさん:03/01/05 13:52
ケースバイケースだからどうでも良いが、2箇所から呼ぶってわかってるなら、
モジュールの中や(フォームが限定されているなら、フォームで良いが)
Sub CheckUpdate(イベント毎に動作変えるなら必要)
...
End Sub
しといて、
Sub Button1_Click()
 CheckUpdate
End Sub
Sub Timer1_なんだか忘れた()
 CheckUpdate
End Sub
としとくほうが、良いかも。

257 :仕様書無しさん:03/01/05 13:55
結局VB使ってるヤシは>>241>>256だけかよ(w

258 :241:03/01/05 13:56
>>256
それは、もちろん試した。
けど・・・なんとなくあんま変わらないなぁって不採用になってしまった。
(特に理由はなかったんだけど)


>>Sub CheckUpdate(イベント毎に動作変えるなら必要)
の引数の部分の使用方法はどうかと・・。

259 :仕様書無しさん:03/01/05 13:58
>>の引数の部分の使用方法はどうかと・・。
イベントハンドラーに、sender引数があるのは悪くない。

260 :仕様書無しさん:03/01/05 14:01
>>なんとなくあんま変わらないなぁって
もし、タイマーがボタンクリックのエミュレートなら、ボタンクリックのイベントハンドラー
呼ぶのは正当。
もし、ボタンやタイマーといったイベントの通知元と独立した処理ならば、コントローラの
債務として切り出したほうが良い。

261 :241:03/01/05 14:02
>>259
そうなん?
でも、関数内で結果的にその呼び出し元によって処理の流れが違うなら
最初から分けたほうが早くない?

262 :仕様書無しさん:03/01/05 14:02
>>243
雪国ではそこいらのオバちゃんも普通にドリドリしてますが何か?

263 :241:03/01/05 14:04
>>260
やっぱそうなるよね?
私も同感。とりあえず、今まで目的が別な同処理ってのがなかったんで。

264 :259:03/01/05 14:04
ケースバイケースって書いたけど、もし、
処理1
処理2
If Sender = Button1 Then
 処理3A
Else
 処理3B
End If
処理4
……
処理20
だったら、どうよ? (OOならポリモーフィズム使うとこだけどね)

265 :241:03/01/05 14:13
>>264
1箇所だけって指摘がくると思ってました。
VBでは私の場合、このときは、完全に分けてしまいます。
理由は?といわれると、引数によって動きを変えるクセをつけてしまうと、
より複雑な処理を記述する際にも引数によって動きがガラガラ変わってしまう
関数を書いてしまいそうで。



266 :259:03/01/05 14:19
なんていうか、それは極端流というか、やめたほうが良いと思うぞ。
>>引数によって動きがガラガラ変わってしまう
というのも大問題だが、仕様変更の都度、完全な作り直しと修正漏れ地獄が待ってそうな。
以下を参照せよ
ttp://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.3.8.html

267 :259:03/01/05 14:25
>>VBでは私の場合
Cの場合は別とか言うオチかな?

268 :241:03/01/05 14:29
>>266
まぁ、あれですなソコはプログラマー1年後には読んでみるのもイイページ
の代表例ですな。
、と本題に戻して。
こうなった理由がホントは別にあるんです。
処理そのものは単純処理なんですが、各処理を行う条件が半端じゃなく
複雑なものを普段作成しています。
そのせいで、引数で動きを変えるような作りにした結果「ガラガラ動きが変わる」
ってのが発生し、非常に苦労させられました。
だから、徹底して分けてます。
この場合の対処法は、

処理1〜5までが同じだとすると、処理1〜5までを呼ぶ関数を作成し呼ぶ。
各異なる処理を挟み。
処理6〜を呼ぶ関数を作成し呼ぶ。
つまり、
Command1_Click()
 call 処理1〜5のパック
 独自の処理をコール
 call 処理6〜のパック
End Sub

Timer_わすれた()
 call 処理1〜5のパック
 独自の処理関数をコール
 call 処理6〜のパック
End Sub
としてます。

269 :仕様書無しさん:03/01/05 14:44
>>249
>将来的に仕様変更が加えられてもボタンとタイマーが同一の処理でよいか?

仕様変更しても処理を変更しないのがアホ


270 :仕様書無しさん:03/01/05 14:49
つうか、ユーザーインターフェース自体からダメダメなんじゃねーの?
どんな処理もボタン一発ってか???

271 :241:03/01/05 14:53
>>270
ボタン一発でけりがつくような、単純条件ではない。

272 :仕様書無しさん:03/01/05 14:55
MVCとか考えると邪道なんだろうね。
俺もBCB使うとそのまま呼んじゃうけど。

273 :259:03/01/05 15:14
>>268
まあ、処理の粒度がわからんので、なんとも言えないよね。それ見る限りじゃ問題なさそうだ。

274 :仕様書無しさん:03/01/05 15:15
>>271
え?
みんな同じボタン一発で複雑な条件を処理させようとするから、条件分岐の塊のような実装になるんでしょ?


275 :仕様書無しさん:03/01/05 16:28
おまいらいい加減スレ違いやめれ

276 :仕様書無しさん:03/01/05 17:16
>>275
そうでもないとおもふ

277 :仕様書無しさん:03/01/05 17:48
でもまぁ、この程度で辞めてたら行く会社ないと思うぞ。

278 :238:03/01/05 21:09
ごめん。激しく出遅れた。
>>247
ボタンで動く何かの処理を実装する場合、「ボタンで起動される処理」
ではなくて、「何かの処理」としてまとめて欲しい訳。
たとえば、

sub ボタン押された
ナイフ研とぎ
アリバイ工作
t = ターゲットサーチ
ナイフ構える
突撃(t)
死亡確認
逃亡
end sub

sub 時間が来たよ
call ボタンが押された ' ← 何するかみえんし
ed sub
みたいな事書くくらいなら、



279 :238:03/01/05 21:10
sub 殺す(誰か)
// 中身は大体上と同じ
end

sub ボタン押された
t = ターゲットサーチ
殺す ( t )
end

sub 時間が来たよ
t = ターゲットサーチ
殺す ( t )
end

みたいに書いておいたほうが、読みやすくないか?
もっと意味のある関数化とかを試すのはどう?
イベントで関数を作るのも必要だが、いろんな観点から
処理を眺めて、汎化した関数を出していくと将来楽。

ついでに、タイマで「自動的にボタンを押下する」仕様なら、
ボタンイベントをOS経由であげたほうが後々楽。
・・・・なんかうまい事まとまっとらんな。
つっこみ歓迎(泣


280 :仕様書無しさん:03/01/05 21:24
VBですか?かっこわり

281 :238:03/01/05 21:54
>>280
しかも文法よく知らんから間違ってる気配濃厚(w
スマソ...

282 :仕様書無しさん:03/01/05 22:35
>>ボタンイベントをOS経由であげたほうが後々楽
ここは、VBじゃイヤンなとこだな。後はOKだYO!

283 :仕様書無しさん:03/01/06 13:17
まぁ、VBだと日本語の関数とか変数が可能なので
適当に書いたサンプルコードが実際に動いちゃったりするわけですが

どうでもいいんだけど、「xx計算」とか「xx処理」とかいう
日本語の関数名ってどうよ?香具師を止めろといいいたい。

284 :仕様書無しさん:03/01/06 13:49
sub 共通計算処理関数その1A()

とかいう関数名をつけまくってた(コーディング仕様になってた)
プロジェクトに2年いたことがありまつ

285 :仕様書無しさん:03/01/06 15:23
>283
俺はC言語erなのでイヤだなそれ。
でもVBの仕様で可能ならば、オッケーなんじゃないか?
ぴゅう太なんかコマンドまで日本語だったぞ。

286 :仕様書無しさん:03/01/06 17:05
>>285
日本語ではなく「その1A」とかいうマジックナンバーが問題なのでは?


287 :仕様書無しさん:03/01/06 19:02
>>286
慌てるな。落ち着いてレス番を見るんだ。
とりあえず茶でも飲んどけ。

288 :仕様書無しさん:03/01/06 20:05
>>287
どこのお茶がお勧め?

289 :仕様書無しさん:03/01/06 20:30
あはは、>>286は痛ぁ〜いミスしちゃってるね(w

290 :仕様書無しさん:03/01/06 20:41
「共通計算処理関数その1A」が別にある罠

291 :仕様書無しさん:03/01/06 20:45
>>282 Command1.Value = True

292 :仕様書無しさん:03/01/06 22:10
>>291
サンキュー、知らなかったYO!

293 :仕様書無しさん:03/01/06 22:16
>>288
京都府宇治市

294 :仕様書無しさん:03/01/06 22:37
こういう話題が出るたびに言ってるような気がするが
Javaも実は日本語の変数名などを平気で通してしまう罠。

295 :仕様書無しさん:03/01/06 22:52
>>294
Σ(゚Д゚;;)マジッスカ

ホンキで知りませんですた

296 :!286:03/01/06 22:59
正直286のどこが痛いのか解らないのですが...

297 :仕様書無しさん:03/01/06 23:28
>>296
>>285>>283に対してレスしてるのに
>>286は関係の無い>>284のその1A()を持ち出してきてる


298 :!286:03/01/07 00:02
283と284の話が繋がっていると思うのは漏れだけでつか?

299 :仕様書無しさん:03/01/07 00:12
今の現場のVSSの中には、日付の付いたディレクトリが沢山ある。
お前らな、明日バージョン管理ソフトの意味小一時間問いつめてやるから
今日はもう帰っていいですか?


300 :仕様書無しさん:03/01/07 00:12
>>298
繋がっていると確かに取れるが、おそらく別の人が書いたとも取れる。
だとしたら 286 はやはり的外れだ。

301 :仕様書無しさん:03/01/07 00:21
>>298
まだ分かんねーの?

283「日本語の関数名ってどうよ?」
284「共通計算処理関数その1Aとかいう関数名をつけまくってたプロジェクトにいた」
----------------------------------------------------------------------
283「日本語の関数名ってどうよ?」
285「でもVBの仕様で可能ならば、オッケーなんじゃないか?」
286「日本語ではなく「その1A」とかいうマジックナンバーが問題なのでは?」 ←ハァ?

302 :仕様書無しさん:03/01/07 00:26
「日本語の関数名ってどうよ?」
って投げかけに対するレスをして
「日本語ではなく〜が問題なのでは?」
って言われたら・・・
俺だったらもっと暴れちゃうぜw

303 :仕様書無しさん:03/01/07 00:30
>>283の日本語がおかしい。
それが一番の問題。

304 :仕様書無しさん:03/01/07 00:40
>>303
「いいいたい」 を除けば、取り立てておかしいようには見えないが。

305 :仕様書無しさん:03/01/07 00:50
303=286

306 :285:03/01/07 02:00
>303
「香具師を止めろといいいたい。」を「使う香具師にやめろと言いたい。」に
するだけなので、別にいいんじゃない?意味は通じるよ。

あと、286さんのは、ちょっとした勘違いだろ。そうイタイというほどの
もんじゃないだろ。2chなんて斜め読みだし。

307 :仕様書無しさん:03/01/07 02:04
本気かよ?

>日本語の関数名ってどうよ?香具師を止めろといいいたい。

前半と後半の文が全然繋がってねーじゃねーか。
後半の「香具師を止めろといいいたい。」の主語は何処に行ったんだ?
前半を繋いで、主語を作ろうとすると、その繋ぎ方によって、文章の意味合いが
180度変わってしまうことに、気が付かないのか?

ちょっとは日本語の能力をつけろよ……。仕様書を読み込んで、その曖昧さを
潰していくのも、おまえらの仕事の内だろ?

308 :仕様書無しさん:03/01/07 02:10
>>294
コンパイラは通してくれても、上司が通してくれませんですた。

309 :もうだめぽ:03/01/07 02:15
ヽ(`Д´)ノウワーンこうしてやる
/*

310 :仕様書無しさん:03/01/07 02:19
>>307
漏れは別段、曖昧とは思わなかった。
「(それを書こうとする) 香具師を止めろといいいたい。」 以外に解釈できる
としたら何だ?

311 :仕様書無しさん:03/01/07 02:20
*/

312 :仕様書無しさん:03/01/07 02:24
>>307
主題は「日本語の関数名ってどうよ?」だろ。
286と「香具師を止めろといいいたい。」にどういうかかわりがあると言うんだ?
関係無いだろ、話をそらすな。

313 :仕様書無しさん:03/01/07 02:24
>>310 が見事にコメントアウトされている…

314 :仕様書無しさん:03/01/07 02:30
>>307
> 後半の「香具師を止めろといいいたい。」の主語は何処に行ったんだ?
「いいたい」のは「漏れ」でしょう。
ちょっとは日本語の (以下略)

315 :仕様書無しさん:03/01/07 02:46
>>314
略さないで最後まで言ってやれ。

316 :仕様書無しさん:03/01/07 02:49
ったく、いまどきのコンパイラでもこんなにしつこいエラーメッセージは吐かねえぜ。



317 :仕様書無しさん:03/01/07 02:54
>>316
師ね。

318 :仕様書無しさん:03/01/07 02:55
なんでそんなレベルの低い話題でそんなに盛り上がれますか?

楽しそうでうらやましいったらありゃしない。


319 :仕様書無しさん:03/01/07 02:56
そのコンパイルエラーは、303 を指しまくっているな。

320 :仕様書無しさん:03/01/07 02:56
>>318
氏ね。

321 :仕様書無しさん:03/01/07 03:22
>>319
詩ね。

322 :仕様書無しさん:03/01/07 03:27
>>321
理由を述べなさい。

323 :名無しさん@Emacs:03/01/07 03:51
自称プログラマ歴10年以上の30代後半の男が
「俺はスレッドプログラミングで問題を起こしたこと無い」
「MFCのソケットクラス作るよりも自前で作るよ」
と自慢げに話し
送信と受信それぞれにスレッドおったてて。
しかも受信スレッドの中で・・・(引数は省略)

void mainLoop()
{
//(snip)

size = recv(...);
st = parse_packet(...);
if (st == 0) {
mailLoop();
}

//(snip)
}

かなりsnipしたが、このmainLoop関数のステップ数は100行を裕に越える・・・

どうよ。


324 :仕様書無しさん:03/01/07 03:58
>>323
つうか、なぜにリカーシブル?


325 :仕様書無しさん:03/01/07 04:03
>>324
つうか、「再帰している」 と 「再帰可能」 は同列に扱うなよ。

326 :仕様書無しさん:03/01/07 05:09
つうか、最近このスレ本筋に関係ない部分のつっこみが主流ですね

327 :仕様書無しさん:03/01/07 06:43
>326
確かに。

>324
リカーシブルって何だよ。リカーシブだろ。Recursive。

328 :仕様書無しさん:03/01/07 09:24
>309->311

激しくワラタ
310の意見が的を射ているだけになおさら

329 :仕様書無しさん:03/01/07 09:30
>>283
を読んで、何の違和感も感じない奴っているんだね〜。
違和感を感じない奴は、>>283みたいな文章を書き連ねてるんだろうね。
やっぱり、国語教育は大切だよ。

330 :仕様書無しさん:03/01/07 09:34
>>329
必死だな

331 :仕様書無しさん:03/01/07 09:36
>295
 Java は言語仕様で、識別子を「Java 文字及び Java 数字からなる文字列で、先頭が Java 文
字であり、全体が予約語と一致しないもの」としている(ちょっと意訳)。
 で、Java 文字ってすなわち Unicodeなんで、なんでもあり。
 日本語どころかロシア語・フランス語・タガログ語・インド語・ハングル……

 中国語でクラス名書かれたりしたら微妙だよなあ……

332 :仕様書無しさん:03/01/07 10:38
>>331
(てか、アラビア語とかで右から左へ書かれたらどーするんだろ ・・・)~~-y(´-`)
モンゴル語の縦書きはどうなる・・・・・(;´Д⊂ ウエーン。ワカンナイヨウ。


333 :仕様書無しさん:03/01/07 11:05
「てめぇこんな簡単なソースコードも理解できねぇのかよ」
「あの・・・大体は分かるんですけど、アラビア語が理解できないんです」

とかありえるのかなぁ、さすがにないよなぁ

334 :仕様書無しさん:03/01/07 13:12
>329
違和感はあるが、言いたいことを汲み取ることはできる。
ここは論文発表の場か?
それともアンタはPascalのコンパイラか?

335 :仕様書無しさん:03/01/07 15:21
>334
もう放置しようぜ。くどくどと話さないと意思の疎通が出来ない奴なんだよ。
たかがヨタ話でも、てにおはの間違いも、わかりきった部分の省略も
察する事が出来ない、仕様書を読むために生まれてきたような男なんだよ。
人と会話をするといつも、うぜえとかくどいとか皆まで言うなとか
言われてるんだろう。気の毒だ。

336 :仕様書無しさん:03/01/07 15:35
どうでもいいんだけど、「xx計算」とか「xx処理」とかいう
日本語の関数名ってどうよ?(と言う)香具師を止めろといいいたい。


337 :仕様書無しさん:03/01/07 15:45
そんなことより、お前ら、はったい粉食おうぜ、はったい粉。

338 :仕様書無しさん:03/01/07 19:22
つーか
>リカーシブルって何だよ。リカーシブだろ。
区別つかないのかよ


339 :仕様書無しさん:03/01/07 19:34
>どうでもいいんだけど、
>「xx計算」とか「xx処理」とかいう日本語の関数名ってどうよ?
>香具師を止めろといいいたい。

だろ?
283の主題は「計算」、「処理」の方じゃねーの?

340 :仕様書無しさん:03/01/07 20:13
つーか>>323のどこにリカーシブが使われてる?


341 :仕様書無しさん:03/01/07 20:15
つーか>>323のどこにリカーシブが使われてる?

342 :仕様書無しさん:03/01/07 20:29
>>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がダイスキなんだろ?
お前の主張したい事は良くわかった。

・・・・・前任者よ、こいつにどんな教育したんですか?

344 :仕様書無しさん:03/01/07 21:03
>343

string使っててgetline()使わないのか。fstreamが嫌いなんだろうか。

それ以前にそのファイル全部をオンメモリに持つ必要があるのかと小一時間(ry

345 :327:03/01/07 21:13
>338
マジで聞くんだが、「リカーシブル」っていう単語があるのか?どんなスペル?
俺は「リカーシブを誤解してるんだろうなこのバカめ」って今まで
思ってたんだが、バカは漏れのほうでつか?

>342
あんがと、アンタがいなかったら俺は最後まで気付かなかっただろう。
・・・って、>>323のタイプミスと違うんか?

346 :仕様書無しさん:03/01/07 22:11
>>345
recursiveる (動ラ五)

347 :名無しさん@Emacs:03/01/07 22:42
>346
ソレ(・∀・)イイ!!

348 :仕様書無しさん:03/01/07 22:59
>>345
無いみたいよ。
俺も気になってアルクで調べてみたら無かった。

recursively
なら有ったけど、発音が違うしね。

349 :仕様書無しさん:03/01/07 23:00
リカーシブルブル


とかほざいていた香具師がいたな

350 :仕様書無しさん:03/01/08 00:25
香具師を止めろといいいたい。

351 :仕様書無しさん:03/01/08 01:23
>>343,344
ファイル「全部」を固定長配列(動的確保一切無し)に読み込んだ後、
STLで処理するソース書いた事がありますが何か?

…読み込み部分の設計は、他のヤシの担当だったんだよう。
STL使う設計に直したかったが上司に阻止されたんだよう。
何であんな設計でレビュー通るんだよう。

352 :仕様書無しさん:03/01/08 01:28
>>351
そういう設計しかできない奴が、動的確保なんてやったらバグが
出まくりでめちゃくちゃになって終わったんじゃ?

353 :343:03/01/08 01:39
こんなのもありますた。(書いたのは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++を趣味でやってきたらしいのですが・・・

354 :343:03/01/08 01:42
あ、全角でインデント入れたらstd::が一部消えてますね(w

355 :仕様書無しさん:03/01/08 01:58
とりあえず、書かれているコメントは全部不要だな。
クラスメンバの名前の怪しい。
あと、HEADERS + VALUES + VALUES で 1 つの構造体かクラスが作れそうな予感。

356 :仕様書無しさん:03/01/08 02:17
つーか、szは、zeroターミネートstringという意味=要するに文字列のハンガリアンなので、
vectorに使用してはいけない。

357 :仕様書無しさん:03/01/08 02:20
リバーシブルって〜のと混同したから、リカーシブルとか言ってるんだよ。

358 :仕様書無しさん:03/01/08 02:24
ループまわすときiterator使わないのかぁ。

359 :仕様書無しさん:03/01/08 04:35
for_each と逝ってみる

360 :仕様書無しさん:03/01/08 09:48
STLマンセー

361 :仕様書無しさん:03/01/08 11:15
ファイルを全部メモリ中に読み込んで、strtokかなんかで行毎に切り分けて
各行の先頭ポインタをvector<char *>にでも放り込むかな。
その後、何するかわからんんし、それだけメモリを使っても良いのかわからんから、
何ともいえないけどな。とりあえず、直せと言われりゃ、こう直すな。

362 :323:03/01/08 11:54
s/mailLoop/mainLoop/
失礼。

なぜリカーシブなのかって?

俺が知りたいよ〜 と思ったけどさ、
聞くと偉そうに「こ〜するしかなかったんだよ」とか「時間が無かった」とかいう・・・
それじゃプロトコルパーサーのロジックに半年以上も駆けんなよと突っ込みを入れたかったが
俺はもうその会社、辞めたし。
その人は、プロジェクト終わったら首だし。

も〜ど〜でもいいいか・・・。

363 :323:03/01/08 11:58
ああ、ちなみに漏れは普段「再起関数呼び出し」か「リカーション」(recursion)といってます。

364 :仕様書無しさん:03/01/08 12:08
再帰は、recursive
再帰可能は、recursivableとかいうのかね?

いわんね。

365 :323:03/01/08 12:51
もう一個面白いネタがあった・・・

その人の作ったプログラムについて
ある日、客先からWindows 98で起動時にリソース不足でエラーのクレームが来た。Windows 2000では動くらしい。
「原因は不明」とか作った人は言いはり、別のメンバーが調査。
起動時にダイアログ(画面上隠れている)を128個も作っていたのが原因だった。
作った人を問い詰めて修正させた、帰って来たお返事メールは「128個を8個にした。」という自慢気なメールだった。

366 :仕様書無しさん:03/01/08 14:22
>>336
「xx計算」「xx処理」「xxチェック」とかいう名前じゃ
何する関数だか分かりにくい。
もっとこう、「○○を求める」「○○を××する」
「○○が××状態かどうか」
という風に処理内容を分かりやすく表した名称が望ましい。

xxx_check() という関数なのにxxxをチェックした後の処理まで
そこに実装されてたりするともうなにがなんだか。

367 :仕様書無しさん:03/01/08 15:36
>362
>>323の関数って、再帰してちゃんと動くのか?

>365
>「原因は不明」とか作った人は言いはり、別のメンバーが調査
「原因は俺じゃない」なら、まだわかるんだが、「不明」じゃ回答になってねえ(苦笑)

>366
それは関数名じゃなくて、コメントとして書くことだろう。

368 :仕様書無しさん:03/01/08 20:01
個人的には「再帰可能」は"reentrant"と訳すかも知らん。

>367
いや、関数名だろ。
sjis_check()だと戻り値がどうなるかまるで見当もつかんが、
is_sjis()なら一目見て「sjisなら非ゼロ」だとわかる。

369 :仕様書無しさん:03/01/08 20:03
それは関数名でもあり、コメントにも書くべきだろう……
 
 
 
 
 
 
 
 
 
 
                                                                         スマン

370 :仕様書無しさん:03/01/08 20:33
再入可能・・・。

371 :仕様書無しさん:03/01/08 20:36
みんなの嫌いなグローバル変数を考慮に入れると、
reentrant と recursive は区別せねばなるまいよ?

372 :仕様書無しさん:03/01/08 21:37
挿入可能

373 :仕様書無しさん:03/01/08 21:50
再帰と再入の区別のついてない奴がいるな。

>>365
使えない奴ってのは、なんでか動的に何かやるのを嫌うよな。

374 :仕様書無しさん:03/01/08 22:43
次スレ案

この会社を辞めようとおおもったソースコード#9

375 :仕様書無しさん:03/01/08 22:53
関数名を見れば自明な事は、
コメントに書くべきではないけれど、
何を自明とするかは人によって違うから、
どちらがいいとは一概には言えないね。

376 :仕様書無しさん:03/01/08 23:02
この会社を辞めようと思った割るれるな#9

377 :仕様書無しさん:03/01/08 23:08
この会社をexit(0)しようと思ったソースコード 再帰9回目

378 :仕様書無しさん:03/01/08 23:22
>>365
ところで、その人はなんで128個もダイアログを作ってたの?

379 :仕様書無しさん:03/01/08 23:57
> 帰って来たお返事メールは「128個を8個にした。」という自慢気なメールだった。

ダイアログ 8 個も保持してどうするつもりなんだ?

380 :仕様書無しさん:03/01/09 02:03
>>379
そこはつっこむとこじゃなく、笑ってあげるとこ。


381 :仕様書無しさん:03/01/09 03:17
> 帰って来たお返事メールは「128個を8個にした。」という自慢気なメールだった。

(゚∀゚) アーッヒャッヒャッヒャ!!!

ア━━━━━(゚∀゚)━━━━━ッヒャッヒャッヒャ!!!


これで OK でつか?

382 :仕様書無しさん:03/01/09 10:16
元請けが匙投げて寄越したソース、
構造体のメンバ名が「szHoge」なのに
ナル文字がどこにも無いぞ (#゚Д゚)ゴルァ!
お陰で1ヶ月損した ('・ω・`) しょぼん

でも、部長が元請けから金を分捕って呉れるとか
逝ってるんで、逆にいい鴨。

( イイわけねえべ!・・・)~~-y(´-`)


383 :仕様書無しさん:03/01/09 12:21
>373
自動変数を嫌う。
スタックを病的に嫌う。なぜだろー。

384 :仕様書無しさん:03/01/09 13:31
こんなのを発見しますた。

'処理概要:文字列の中から数字だけ取り出し
Private Function SYUJI(MOJIRETU As String) As Long

どうやれば「すうじ」が「SYUJI」になるのか理解できません。
習字?


385 :仕様書無しさん:03/01/09 13:36
>>384
ちょっとワロタ

386 :仕様書無しさん:03/01/09 13:47
>>384つーか、そーゆー関数名は凄いイヤ。ワラタけど。

387 :仕様書無しさん:03/01/09 14:20
>384です。
>386
仰るとおりです。見ててイライラしますよ。
変数命名規則とかあるにもかかわらず、何回言っても自分しか使わない関数は妙な名前(他にも強烈なのが xx(何か忘れた)_CHACKとかがあった)ばかりつけるんで始末におえません。ま、そいつはもういないけど。


388 :仕様書無しさん:03/01/09 14:40
命名規則守らないってのは、度が過ぎるとペナルティの対象に
・・・ってもういないのね。納得。

389 :Javaだけども。:03/01/10 14:07
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();
>   :
> }


390 :仕様書無しさん:03/01/10 20:37
なんか問題あんの?

391 :仕様書無しさん:03/01/10 23:42
辞めたくなるほどではないが、キモイヨ

392 :仕様書無しさん:03/01/11 00:58
http://www.tietew.jp/cppll/archive/6617

393 :仕様書無しさん:03/01/11 02:55
#define WTO printf
#define OPEN fopen
#define GET fread
#define CLOSE fclose


394 :仕様書無しさん:03/01/11 04:25
眠たいときは、ワケのわからん関数名を付けて、
謎なコメントを書いてます

・・・うう、ゴメンなさい。あとでちゃんとなおしますから・・・。

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かよ・・・
こんなんで給料貰うなや

396 :仕様書無しさん:03/01/12 11:25
yosoは「要素」だろうけど、
yoって何?

397 :仕様書無しさん:03/01/12 11:41
>>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!!

401 :395:03/01/12 17:21
>>396
どうやらyoもyosoも配列のインデックスのようだ。
コードを見ると内容が全く同じItemSet2なる部分を見つけた。手に負えん。

>>397
その位の長さならいいのでは?短くしようとすると考えるのに時間かかるし、
逆に1文字とかで内容の見当もつかない関数名はどうかと思う。
> 肉体労働者
相当睡眠不足だったんだな。きっと。



402 :仕様書無しさん:03/01/12 20:14
「・・・・? この int M03F005() ってなに〜??」
「仕様書読めよ。第三モジュールの第五関数だから・・・・」

403 :仕様書無しさん:03/01/12 20:19
>>402
機械語十六進コーディングみたいだな。

404 :仕様書無しさん:03/01/12 20:27
>>402
仕様書が完全なら別にいーんじゃないの。


405 :仕様書無しさん:03/01/12 20:32
>>402
とりあえずマクロ。あるいはプリプロでなんとか汁ってのは、どうか。(悲

406 :仕様書無しさん:03/01/12 20:36
>>404
いいのかよっ!
これだからコボラーは・・・ry

407 :402:03/01/12 20:58
>>404
ネタだよね・・・・??(汗
いゃ、ちょっと不安になったもんで。

408 :仕様書無しさん:03/01/12 21:59
>>402

そいつ、ソースの可読性と開発効率(コスト)の相関関係を理解してないね。

409 :402:03/01/12 22:07
ちなみに、言語はJava
まともな名前のメソッドは mainくらい。
クラスはモジュール内に一つ。なまえは M03など。

その開発者、得意言語はもちろんCOBOL。

・・・・いや、マジでやめようかと(w

410 :仕様書無しさん:03/01/12 22:13
仕様書が常に最新ならいいんだけどね。


411 :仕様書無しさん:03/01/12 22:19
>>409
別にコボラーじゃないけど、仕様書が完全ならいいと思うが。


412 :仕様書無しさん:03/01/12 22:33
>>411
仕様書の完全さとソースコードの見易さは別もんでしょ?


413 :仕様書無しさん:03/01/12 22:41
>>412
ってより仕様書の完全なやつってみたことない

414 :仕様書無しさん:03/01/12 22:49
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]);
  }
 }
}

... あー、ループしてるんだなって事ぐらいしか、わからない....。

415 :仕様書無しさん:03/01/12 22:52
>>41
腹抱えてワラタ。こんなのがどっかで動いてるのか・・・。

元の話に戻すと、
そもそも連番記号ID制そのものが完全さから程遠い管理手法だと思うが。
仕様書でまとまっているならなぜモジュール名やメソッド名に
わかりやすい名前を付けていけない?
仕様書で管理されているから逆に命名が自由になってもよさそうなもんだけど。

416 :仕様書無しさん:03/01/12 22:53
>>414
気違いが書いたとしか思えないコードだ…

417 :仕様書無しさん:03/01/12 23:01
>>414

暗号化しているのでは?

418 :仕様書無しさん:03/01/12 23:02
>>41
414見たいなのはいやだけど、名前付けには最低限のルールは必要。
そういう意味でいくとハンガリアンとかは嫌っている奴は多いけど、
統一するには便利だと思うが。

419 :仕様書無しさん:03/01/12 23:04
>>417
COBOLは、素人でも読めてしまうため、わざと暗号っぽく作る人が
いる。って生粋のCOBOLerに聞いたことある。

420 :402:03/01/12 23:08
>>419
理由を聞いたら、
COBOLは予約語が多く、英単語を関数名に用いると
予約語とかぶってしまうから・・・ だそうな(w

421 :仕様書無しさん:03/01/12 23:09
すたぢお
すとどりぶ
めいん
あおおお, あおおい, あおおに, あおおさ, あおおし, あおおご
あおおろ, あおおな, あおおは, あおおく, あおいお
  すかん あおおお
  もし あおおお = お いけ ふおおい
  もし あおおお = い いけ ふおおに
  もし あおおお = に いけ ふおおさ
  もし あおおお = さ いけ ふおおし
ふおおい:
  :
  いけ ふおおご
ふおおに:
  :
  いけ ふおおろ
ふおおさ:
  :

422 :仕様書無しさん:03/01/12 23:09
>>416
でも、"C"とか"A"とか"I"とか付いてるのが、最後の良心。(笑

423 :419:03/01/12 23:11
>>420
かぶってもコンパイルエラーになるだけなのに・・・(わら

424 :仕様書無しさん:03/01/12 23:15
>>420
じゃあ、しょうがないね。

425 :仕様書無しさん:03/01/12 23:48
>420
俺は理由になってないと思う。

426 :仕様書無しさん:03/01/12 23:51
>>424
しょうがないのか・・・

では、そもそもCOBOLという言語を使うこと自体が間違っているということでファイナルアンサ〜?

427 :仕様書無しさん:03/01/12 23:51
>>418
命名規約がなくていいって言うつもりはないよ。
ただ、「完全な仕様書」なんて持ち出すやつがいるから、
「仕様書が完全なら連番にする必要すらないでしょ」
って言ってみただけ。

>>424
Javaの話だろ。なにが「しょうがない」んだよ(w


428 :仕様書無しさん:03/01/12 23:52
>>427
Java?

429 :仕様書無しさん:03/01/13 00:00
402はJaveの話だよ>>409

430 :428:03/01/13 00:03
あ、失礼。

431 :仕様書無しさん:03/01/13 00:12
>>427
「(w」がついていないと、冗談かどうかもわからないのか…?

432 :仕様書無しさん:03/01/13 00:19
>>420
javaじゃあしょうがないだろ。


433 :仕様書無しさん:03/01/13 00:21
>>431
そりゃ、失礼。マジっぽく読めたものでね。
実際「じゃあしょうがない」でまかり通そうとするような奴が
たくさんいる環境で仕事してるから鈍ったかもしれん。

>>.426
そのファイナルアンサーは別スレでやってほしいけど、
他言語の瑣末な流儀を持ち出されると
「辞めたくなるソースコード」化することが多いようですな。


434 :仕様書無しさん:03/01/13 00:22
「今までライブラリ作る仕事していた」と自慢げに語っていた係長のソースみたら、
入力専用のポインタ引数に const 使っていなかった。
どんなライブラリ作ってたんでそか。

435 :仕様書無しさん:03/01/13 00:37
>>434
うちの会社も関数ライブラリにことごとくconst無いんだが・・・
つけ始めると際限なくエラーが出続けるので、
禁断の (void*)通してライブラリ使いますた。うえぇぇん。

436 : :03/01/13 01:09
>>434
仕様があまり決まらないまま、色々と作らされている状態の
ライブラリだと、結構そういうことやるよ。


437 :名無しさん@Emacs:03/01/13 01:12
仕様の決まってないライブラリって、ライブラリにする意味が…

438 :仕様書無しさん:03/01/13 01:33
先に何かパッケージ商品の開発企画が持ち上がってて、で、同じコストかけるんなら、
同時に今後もつかえそうな部品はライブラリ化しておこうって、流れだと...

ガクブル

439 :435:03/01/13 01:39
>>438
入力情報のポインタには「関数作るときに」無条件でconstつけろ。
オブジェクト指向っぽい言語使うときは 取得メソッドの
宣言書くときにはconstつけんかぁ!
・・・・と会社で叫びたくなったことあります。(T_T)

「後でつける」なんてのはconstの重要性を理解していない証拠ですよん。


440 :仕様書無しさん:03/01/13 02:42
でも、constがしっかりついてるソースのほうが珍しいといえる。

441 :仕様書無しさん:03/01/13 03:03
ライブラリって、作っては見たものの、日々拡張が施され、
このプログラムには、このバージョンの、
あのプログラムには、このバージョンのライブラリじゃないと
動かないよ、てな事になって、しっちゃかめっちゃかで、
結局、ライブラリの意義って何よ?
ってな事になってるのが普通なのではないかと思ったり。

442 :仕様書無しさん:03/01/13 03:22
>>441
そういうことをなくすためのアプローチの一つとして
constつけろ〜とかいったりするんですが・・・

443 :仕様書無しさん:03/01/13 04:06
Javaにはconstなんぞありませんが、何か?

444 :仕様書無しさん:03/01/13 07:36
>>443
いや、だから・・・(略)

445 :仕様書無しさん:03/01/13 09:59
>>414
遅レスだがそれと似たようなコードを、U○○、み○○のシステムを
手がけたとされる某社で見た。
U○○、み○○がたて続けにコケたのニュースで見た時は、もう笑うしかなかったな。
漏れが見たシステムはまだリリースされてなかったが、どうなる事やら…


446 :仕様書無しさん:03/01/13 13:43
>>443
Javaだと finalだよね。ちょっと意味合い違うか?
とりあえず継承や実装される事が前提の抽象クラスやらインタフェースは、
後で仕様が変わろうがなんだろうが、勝手に書き換えられると困る。

どうしても仕様変えたいなら、ファサードするかアダプタ作れと言いたい。

447 :仕様書無しさん:03/01/13 13:45
>>446 ナニコレ?

448 :仕様書無しさん:03/01/13 13:46
ちなみに >>414みたいなソースだと、いくらきちんと構造化されてようが、
OOで整理されてようが、再利用なんてしたくも無い(笑

機能的には無意味だが、対人間用ラッパーで包んでしまいたい。か、
マクロ。

449 :446:03/01/13 13:46
>>447


450 :仕様書無しさん:03/01/13 17:21
>>446
final Object foo;

Object * const foo;

であって、
const Object * foo;
とは違うぞ。


451 :仕様書無しさん:03/01/13 17:55
>>450
final interface IFoo {
 void someMethod();
}

とか、

class CFoo {
 final int iArg = 0;
}

のような形に宣言されていればいいのにね、と言いたかったんだが。
...あれ?俺、話の流れ読めてない?


452 :仕様書無しさん:03/01/13 21:09
> ...あれ?俺、話の流れ読めてない?
はい、読めてません。

とりあえず、
> final interface IFoo {
これはないだろと言いたい。

453 :451:03/01/13 23:09
>>452
...すいません、とりあえずブルペンに引っ込んで、ベンチあっためときます。(寒

..つか自分で書いといてなんだけど、何考えてたんだろ。
finalなinterfaceって何よ...。(超寒

454 :仕様書無しさん:03/01/14 01:50
> finalなinterfaceって何よ...。

会社辞めようと思った時に仕掛ける罠に決まっておろうが。

455 :仕様書無しさん:03/01/14 02:10
>>451
http://java-house.jp/ml/archive/j-h-b/021127.html


456 :山崎渉:03/01/15 17:09
(^^)

457 :仕様書無しさん:03/01/16 12:05
(^^;

458 :仕様書無しさん:03/01/17 07:21
会社を辞めようとは思いませんでしたが、
ポインタのポインタが宣言されていて、どこを見ても参照でしか使っていないのを見ました。
こんな感じ、

typHoge **piyo_ptr;
...
piyo_ptr = &piyo_ptr_list[idx];
...
payo = (*piyo_ptr)->poyo;

実際はもうちょっと複雑なんですが、プロジェクト全体にこの書き方が蔓延していてうんざりしました。
誰かがそう書いているのをコピーしていった結果なのでしょう。
最初が肝心なんだなあ、、、って誰か気づけよ!

459 :仕様書無しさん:03/01/17 11:51
>>458
最初が肝心、、ホントに後悔している。
そのケースとは全然違うんだけど、コピペの嵐で修復不能なウン十マン行のソース。
最初に、あのクソ害虫が書いたソースを何も知らない新人が真似して量産...
あの時直しておけば、、って今でも後悔している。

460 :仕様書無しさん:03/01/17 12:03
>>459
後悔してるヒマがあったら、とっとと直せ。

461 :仕様書無しさん:03/01/17 12:51
>>460
Vaka(^Д^)

462 :仕様書無しさん:03/01/17 13:50
>>460
それが可能だったら後悔なんかしないだろ。

463 :仕様書無しさん:03/01/17 13:55
>>459, >>461, >>462
>ウン十マン行のソース
あのツールをご存知無いか...

464 :仕様書無しさん:03/01/17 14:08
>>463
どのツールだか知らないが、修正した後のテストはどうするつもりだ?

465 :458:03/01/17 15:44
おいらのところのこの例は、簡単な置き換え作業なので、なんかの作業のついでに直しておいてねって通達を出してお仕舞いにしました。

459のところはブロックをコピーペーストして、似ているけどちょっと違うコードを量産されちゃったんじゃないかな。同情するよ。
こういうことやる奴はいつも同じだから、仕事を投げっぱなしにしないで、途中のソースを提出させるなり、なにをどうやってるか報告させたりしたほうがいいよ。
教育はあなたの仕事じゃないのかもしれないけれど、それを上手にやると結局自分が楽できるからね。

...失敗すると、逆切れされて細かい奴とか嫌な奴とか言われるんだけどねー。

463のあのツールって何のことかな。うまくああいうのが直せるツールがあるなら教えて欲しい。sedじゃないよね。

466 :仕様書無しさん:03/01/17 15:57
>>463の「あのツール」は wc です。
「ウン十マン行」ではなくて正確な行数を知ることができまつ。

467 :仕様書無しさん:03/01/17 16:34
>>466
話の主題は、正確な行数ではないだろうに……

468 :仕様書無しさん:03/01/17 18:29
>>467
463の部分引用の仕方を逆手に取ったネタだと俺は思ったけど・・・。

469 :仕様書無しさん:03/01/17 20:08
Seizei
Ebattero
DQN ga!

470 :463:03/01/17 20:12
何でもこなす万能ツール。その名は・・・「根性」

471 :459:03/01/17 20:52
>459のところはブロックをコピーペーストして、似ているけどちょっと違うコードを量産されちゃったんじゃないかな。同情するよ。
まさにそのとおり...
どうプロジェクトの、別チームが書いたソースだからねぇ。。
最初見て、ハァ?と思った瞬間に突っ込めばよかった。。
知らない間に量産され...今に至る。

>>470
今生出す気も起きないっすよ...

472 :459:03/01/17 20:52

「どうプロジェクト」→「同プロジェクト」

473 :仕様書無しさん:03/01/17 21:55
>472
そっちよりも、「今生出す」の方を訂正しろよ。
いまナマだすのやめれ。

474 :仕様書無しさん:03/01/17 22:00
>>471
何処でも同じような問題抱えてますなぁ。
直す直さないは別問題として、問題点の指摘だけはしっかりといたほうが吉。
品質が悪いのを修正者の責任にされるのも馬鹿らしいし、
後の仕様変更や改造でで膨大な工数を浪費させられる理由も
プロジェクトリーダーあたりまでには知っておいて貰わないとひどいことになるし。

うちのプロジェクトでは、長年言い続けてきた甲斐あって、
使えないソースを改造するのではなく「設計からやり直す」と
いう作業を行うことができるようになりました。
再設計などもまかせてもらってるのて好きなように作り直してます。
10k行程度のプロジェクトなので、なんとかなりそうです。

475 :472:03/01/17 22:46
>>473
おっと!気付かなかった(汗
するどいイッコミあろがとっ!

>>474
この前「達人プログラマ」読んだんですよ。
「割れた窓を放置するな」(だっけ?)
↑見たいなことが書かれていた。
腐ったコードを放置しておくと、後でエラい目にあうんだねぇ…どこでも良くあること?

「問題点の指摘」うん、分かりますた。
状況を上の人間が知ってる、知ってないじゃ、その後は全然違ってくるだろうしね。

476 :仕様書無しさん:03/01/18 00:18
とりあえず、>>472は漢字の読み書きを勉強すべきだな。




しょうがく3ねんせいぐらいのやつから。

477 :472:03/01/18 01:27
あぁ、イタイ。。。

478 :仕様書無しさん:03/01/18 02:19
#ifdef がいたるところに書かれていてほとんど読めないソース・・・・

479 :仕様書無しさん:03/01/18 02:35
それぐらいは、良くある話だ。

480 :仕様書無しさん:03/01/18 03:47
>476
読み書きというより、タイプした後読みなおすということを
まったくしてないだけちゃうか?
でも2chなんかに書きこむのに、いちいち推敲しないしな。

481 :仕様書無しさん:03/01/18 09:47
注意してても誤字が直せないならちょっとあれだけどな。

それにしても、「するどいイッコミあろがとっ!」にはちょっと笑ったよ。

482 :仕様書無しさん:03/01/18 11:14
switch { ... }
までが4000行近くあるのを見た時にはダメだこりゃ、とオモタ。

483 :仕様書無しさん:03/01/18 11:27
breakとコールを計算して、約1300の分岐ならすげーな

484 :475:03/01/18 12:24
>481
>それにしても、「するどいイッコミあろがとっ!」にはちょっと笑ったよ。

手が冷たくて、うまく動かなかったんだ...
注意力も足りないね。。。

無意識に2ch.で笑いをとれたのは、妙に嬉しいのぉ。

485 :仕様書無しさん:03/01/18 19:34
If 2330 <= Val(Format(Time, "hhmm")) <= 2359 Then

という記述があった。

486 :仕様書無しさん:03/01/18 19:59
>>485
なんだか楽しそうだな。その処理からはジリジリする感じが伝わってくるよ。

487 :仕様書無しさん:03/01/18 22:42
>>484
笑いっていっても、乾いた・・馬鹿にした笑い・・・なんだが・・・

488 :484:03/01/18 23:12
>>487
そうか、、、

489 :仕様書無しさん:03/01/19 01:55
>485のはbasicっぽくみえるんだが、最近のは数値の範囲をチェックできるようになったのか?
...ってのはイッコミどころじゃないんだよな。

490 :485:03/01/19 03:30
>>489
VBです。
もちろん数値の範囲をチェックできるわけないです。

491 :ソースじゃないんだけど:03/01/19 04:00
Samba で共有していたファイルサーバにまったく同じ構成のディレクトリがあった。
なんだこりゃ、と思って diff で同一であることを確認した後、混乱のないように
片方を削除して帰った。次の日来てみて知ったのは、そのディレクトリがシンボ
リックリンクだったということだ。ファイルは全部消えていた…

492 :仕様書無しさん:03/01/19 04:29
>>491
バックアップくらいとりましょう・・・・(w

昔、sambaディレクトリがシステムの異常で吹っ飛んだことがあり、
それ以来 絶対に使わないようにしてまつ。
最近はcvs経由での共有が主だな・・・・

493 :仕様書無しさん:03/01/19 04:46
>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の行く末が心配だ。

497 :仕様書無しさん:03/01/19 06:57
>>495
何だこりゃと思ったが、まあ悪くはない。

498 :仕様書無しさん:03/01/19 10:13
/********************************************/
/* データチェック関数
/* data1 I データ1
/* data2 I データ2
/* 返値 データ
/* 説明 データをチェックする
/********************************************/
void * chkdat( void* data1,void * data2){

中は構造体へのキャストの嵐とreturn 氾濫。
500行くらい延々と。

...って何する関数なのよ?
もうやだ。

499 :仕様書無しさん:03/01/19 10:28
>>495
Val(Format(Time, "hhmm")) <= 2359
は、要らない

500 :仕様書無しさん:03/01/19 12:18
>>498
>返値
返り血?

501 :仕様書無しさん:03/01/19 13:11
出た出た

502 :仕様書無しさん:03/01/19 13:30
>>501


503 :仕様書無しさん:03/01/19 15:11
月が

504 :仕様書無しさん:03/01/19 15:22
まぁ〜るいまぁ〜るい

505 :495:03/01/19 16:11
>499
あ、そうかそうか。時間を変換してるならなら2359より小さいのは自明か。
あろがとっ!。

506 :仕様書無しさん:03/01/19 16:17
秒を忘れてる

507 :仕様書無しさん:03/01/19 16:32
>>506
Format()でカットしてる。

508 :仕様書無しさん:03/01/19 20:38
閏時間、閏分は?

509 :仕様書無しさん:03/01/19 22:08
>>508
閏時間、閏分て何?
閏年・閏秒は知ってるけど(w

510 :仕様書無しさん:03/01/19 22:39
しかし、良く分からないのが「閏秒」
だって、「閏年」は「1日」多いのに、「閏秒」は「1秒」多い
つまり、「閏年」はその年の長さ(日数)が多いのに、
「閏秒」は1秒の長さではなく、1分の長さが多い(長い)
これじゃ、「閏分」じゃないのか?(><)

511 :仕様書無しさん:03/01/19 22:48
>>510
こ難しく考えんなや。

512 :仕様書無しさん:03/01/19 23:18
>>510
1秒が倍の長さと解釈してはいかんの?

513 :仕様書無しさん:03/01/19 23:35
>>511-512
510はここのコピペ
http://www.mars.dti.ne.jp/~piccolo/Diary/2000_2.html

514 :仕様書無しさん:03/01/20 01:00
>510
よくある話やん。携帯電話とPHSだってそうだ。「携帯電話」という
言葉の意味合いを考えれば、800MHzもPHSも「携帯電話」と
呼ばれそうなもんだ。
「同種ではあるが用途・意味合いの異なる物」の登場を見越さずに
命名するとそういうことになる。
俺が組んだコードの関数名なんかじゃもんのすごくよくある話だぞ。

515 :仕様書無しさん:03/01/20 01:04
>>514
だから>>513みろや

516 :仕様書無しさん:03/01/20 01:07
閏秒に関しては、何度説明を聞いてもよーわからん…

http://www.google.com/search?q=TAI+UT0+UT1+UT2+UTC&ie=Shift_JIS&hl=ja&btnG=Google+%8C%9F%8D%F5&lr=


517 :仕様書無しさん:03/01/20 01:10
http://pc.2ch.net/test/read.cgi/prog/1042990782/l50
お願いします。     

518 :仕様書無しさん:03/01/20 04:55
>>516
すべてはぬるぽで解決

519 :仕様書無しさん:03/01/20 09:13
  ∧  ∧
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>518
 (_フ彡        /



520 :仕様書無しさん:03/01/20 10:35
>>516
閏秒、↓ここがわかりやすい
http://jjy.crl.go.jp/Pamplet/Group2001/page1.html

521 :仕様書無しさん:03/01/20 16:37
プロジェクトリーダのコード見たら・・・
CString str("文字列");
 .
CString str2 = _T(str);



522 :仕様書無しさん:03/01/20 16:44
>>521
こっそり _UNICODE を/Dに付け加えておいてやれ

523 :仕様書無しさん:03/01/20 17:19
ぬる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年だった・・・

527 :仕様書無しさん:03/01/21 08:16
>>526
今週の流行語大賞

528 :仕様書無しさん:03/01/21 10:18
最初めるげってなんだ?と考えてしまったよ
まぁ・・・

529 :仕様書無しさん:03/01/21 12:12
>>528
14年前なら、怪人メルゲが一世風靡していた時期なんじゃないか。
だれかメルゲのAA ( ヨロシコ・・・)~~-y(´-`)

# メルゲの得意技: メルゲソルト

530 :仕様書無しさん:03/01/21 14:52
>526
ドイツ語かなんかだとメルゲになるのかもよ。
書いた人がドイツ人でさ。

531 :仕様書無しさん:03/01/21 16:14
 |  ここでメルゲ メルゲ メルゲしてもいいですか!
 \____  ______________________/
    /||ミ  V          
   / ::::||
 /:::::::::::||____ 
 |:::::::::::::::||       ||
 |:::::::::::::::||│ /  ||
 |:::::::::::::::|| ̄\   ガチャッ
 |:::::::::::::::||゚ ∀゚)-  ||
 |:::::::::::::::||_/    ||
 |:::::::::::::::||│ \   ||
 |:::::::::::::::||∧_∧∩ ..||
 |:::::::::::::::|| ゚∀゚)/  .||
 |:::::::::::::::||∧ ∧∩ ..||
 |:::::::::::::::|| ゚∀゚)/ . ||
 |:::::::::::::::||    〈......||
 |:::::::::::::::||,,/\」......||
 \:::::::::::|| ̄ ̄ ̄ ̄
   \ ::::||      
    \||      

532 :仕様書無しさん:03/01/21 16:28
                \ │ /
                 / ̄\  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< メルゲメルゲ!
                 \_/  \_________
                / │ \
                    ∩ ∧ ∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ∩∧ ∧∩\( ゚∀゚)< メルゲメルゲメルゲメルゲ〜!
 メルゲ〜〜〜〜! >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」
               ̄     / /

533 :仕様書無しさん:03/01/21 16:46
>>531
 |  揃えてみました。標準環境でご覧ください。
 \____  ______________________/
    /||ミ  V          
   / ::::||
 /:::::::::::||____ 
 |:::::::::::::::||       ||
 |:::::::::::::::||│ /  ||
 |:::::::::::::::|| ̄\   ガチャッ
 |:::::::::::::::||゚ ∀゚)- . ||
 |:::::::::::::::||_/    ||
 |:::::::::::::::||│ \   ||
 |:::::::::::::::||∧_∧∩ ..||
 |:::::::::::::::|| ゚∀゚)/ . ||
 |:::::::::::::::||∧ ∧∩ ..||
 |:::::::::::::::|| ゚∀゚)/ . ||
 |:::::::::::::::||    〈......||
 |:::::::::::::::||,,/\」......||
 \:::::::::::|| ̄ ̄ ̄ ̄
   \ ::::||      
    \||      

534 :仕様書無しさん:03/01/23 08:22
ここは MERGE を メルゲ と叫ぶスレに変わりますた。


535 :クソ亀レスだが:03/01/23 11:28
>27 :23 :02/12/22 21:46
>>26
>頭悪いのか?
>なんでお前にそこまで説明せにゃならんねん
>度をわきまえろ、DQNめ

「度をわきまえろ」って何ですか?プププ
ひょっとして「場をわきまえろ」って言いたかったんですか?プププ



536 :仕様書無しさん:03/01/23 11:37
>535
…本当に亀レスだな。

メルゲ

537 :仕様書無しさん:03/01/23 11:38
>>535
Googleで「度をわきまえろ」を検索してみろや、ちゃんと3件ヒットするだろうが。


538 :仕様書無しさん:03/01/23 11:43
「分をわきまえろ」かもな

ゲルメ

539 :仕様書無しさん:03/01/23 11:59
「ぬるぽをわきまえろ」かもしれない


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
>>538
じゃ次は「秒をわきまえろ」だな。

543 :仕様書無しさん:03/01/23 12:35
度分秒表記はプログラムで扱いにくいですね

とか言ってみるテスト
激しく('A`)ノマンドクセ

544 :仕様書無しさん:03/01/23 12:43
だめだ
「マージ」を見ると「メルゲ」に書き換えたくなる

545 :仕様書無しさん:03/01/23 12:46
>>541
Mange-moi le cul !

546 :仕様書無しさん:03/01/23 12:56
14年前って漏れが2才の時じゃん?
だとするとMS-DOS?
毎日バッチファイルを機動してんの?
しかもソースはC言語みたいだし
ネタくせー
ネタ確定
//*なんてコメントの書き方しないよ!
ネタを書くならリア高にもバレないように書こうよ!

547 :仕様書無しさん:03/01/23 13:00
>>540
「(ここから)」 というのが・・・

548 :仕様書無しさん:03/01/23 13:01
>>546
ハア?

549 :仕様書無しさん:03/01/23 13:05
>>546
俺、めっちゃお前に釣られたい。

550 :仕様書無しさん:03/01/23 13:05
>>546
>>526はどう見てもJCLだろ……


551 :550:03/01/23 13:06
>>549
僕は耐え切れませんでした。

552 :546:03/01/23 13:14
>>550
すみません
漏れが何か勘違いしてたみたいっすね。
ところでJCLとは何なんですか?

553 :仕様書無しさん:03/01/23 13:23
ネタとしてもマジとしても
546はダメだな

554 :仕様書無しさん:03/01/23 13:26
男子高校生 (;´∀`)ハァハァ


555 :仕様書無しさん:03/01/23 13:27
>>552
↓これ
http://www.corgi.gr.jp/jcl.html

556 :仕様書無しさん:03/01/23 13:32
>>554にビビって546はもう来ないに100メルゲ

557 :仕様書無しさん:03/01/23 13:41
何っ、男子高校生だとー!?

ハァハァハァハァ(*´Д`)=3ハァハァハァハァ

558 :仕様書無しさん:03/01/23 13:45
……(;゚∀゚)=3ムッハー


559 :仕様書無しさん:03/01/23 13:50
男子が死んだ

560 :仕様書無しさん:03/01/23 13:53
JCL (ジョブ制御言語) 【Job Control Language】

メインフレームでバッチ処理を行なう際に、システムに対して
実行する処理(ジョブと呼ばれる)の名前や使用する装置などを
伝える言語。OSがこの記述を解読して、処理を実行に移す。

561 :仕様書無しさん:03/01/23 14:16
男子高生の菊門に俺の業物をmergeしたい・・・ハァハァ

562 :仕様書無しさん:03/01/23 14:43
546 のおかげで、スレの方向性が微妙に変わってきますた

563 :仕様書無しさん:03/01/23 15:46
546は、このスレ以降も伝説として語り継がれるであろう

564 :仕様書無しさん:03/01/23 16:06
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\´д`) < >>546タンまだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |   メルゲ    |/

565 :仕様書無しさん:03/01/23 16:13
まあリア高ならJCL知らなくても仕方ないんでは?
世の中、PCだけがコンピュータじゃないってことで。>>546

566 :仕様書無しさん:03/01/23 16:14
http://jsweb.muvc.net/index.html
     ★こんなサイト見つけました★

567 :仕様書無しさん:03/01/23 17:00
オクレテスマンナ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/     
 (_フ彡        / ←>>539

568 :゚Д゚:03/01/23 17:46
最近、あまりにも酷いコーディングを見たので晒し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++){

569 :゚Д゚:03/01/23 17:46
↓まだ続きます、長くてスンマセン。
  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:  }

いらないトコ大分省略してあるので、あんまりインパクト無いかも。

※なお、関数名・コメント・行数等は実在の物から少し変えてあります。

570 :仕様書無しさん:03/01/23 17:52
>>568
正月出勤だったんだなあ・・・と状況を汲み取ってやってもいいと思うんだが。。

571 :゚Д゚:03/01/23 17:56
>>570
スマン、日付変えてある;

572 :仕様書無しさん:03/01/23 18:30
>>568
たしかに酷い・・・
これ、どんな香具師が作ったの?


573 :仕様書無しさん:03/01/23 19:06
>>568
まだ変でもインデントあるだけましかも。
VBでインデント一切なしを見たことがある

574 :仕様書無しさん:03/01/23 20:58
6年前にプログラマー辞めた者です。
このスレおもしろい。結構バカ多いですね。
先輩にもいました。ろくにプログラムも書けないのに設計したがる奴。

575 :仕様書無しさん:03/01/23 21:00
>>574
そういうの多いよな。

576 :仕様書無しさん:03/01/23 21:39
>>574 の作ったソースが結構挙げられていたりしてな

577 :仕様書無しさん:03/01/23 21:51
結構可愛い女の子なんだけど、あきらかにSE(or PG)に向いてないヤツがいます。
しかも気が強く、プライド高く、勉強嫌いってヤツです。

ソース覗いたらとんでもないスパゲティに仕上がっていて、自分でエンバグしていても、
修正自体ができないという、かなりなスグレ者です。

スノボとか言ってんじゃねーよ。

578 :仕様書無しさん:03/01/23 22:21
・・・・・・・・・・・

きみ、普段「→の人」とか「←の人」とか、某次長うざいとか
よく俺とメッセージ交換している人じゃない・・・よね?(・_・

579 :577:03/01/23 22:31
>>578
それは、俺に言ってるの?? スマソ。わからん。

580 :578:03/01/23 23:44
そうか、違ったか・・・よかった。
いやね、俺の横がそういう女の子(1年目)でね。
俺の向かいの2年目の男が一昨日、ほぼ同じ発言をしていたんでね。。。

今日もその女の子のソースを修正するハメになり、
途中「こないだスノボ行くとか余裕かましといて、なんじゃこのソースは」と
ぼやいてたから・・・

581 :仕様書無しさん:03/01/24 00:32
$ cat Makefile
(中略)
all : $(PROGRAM)

$(PROGRAM) : $(OBJS)
    @$(LD) -o $@ $(OBJS)
    @mv *o ./bin
    @mv $@ ./bin

ソースなんていじらなくてもmakeエンターで全部コンパイルからやりなおし。
あらふしぎ(つ´д`;)
つか、これ書いた椰子、「○るぽ」みたいにどついたるから出てこいっ!!

582 :sage:03/01/24 00:59
VC++6.0でMFCを使用しているプログラム
TRY
{
 〜処理〜
}
CATCH(例外クラス)
{
throw;
}
END_CATCH_ALL
というやつ、空の例外をさらに投げる意味があるのかと小一時間問い詰める以前に
これ、例外が発生するとアクセス違反で落ちるのだが...
ちなみに納入済み...のはず。

583 :仕様書無しさん:03/01/24 02:31
つか、インデントなんかエディターに勝手に直させればいいじゃん

とか思う漏れはダメダメですか?

584 :仕様書無しさん:03/01/24 03:56
つか、インデントでたらめなソースなんて、自分が見てもわからんじゃないか。
>>568のソース書いた人は優秀だな。

585 :仕様書無しさん:03/01/24 11:55
>>583
見づらいことに対する解決にはなるが、
人間に対する教育にはならない

586 :仕様書無しさん:03/01/24 12:03
>>583
インデント修正してくれるエディターとかあんの!?
それ、なんてヤツ?是非とも欲しいんだけど。

教えて君でスマソ

587 :仕様書無しさん:03/01/24 12:45
>>586
ぐぐりなさいよ。
アナタ本当にプログラマですか?

588 :仕様書無しさん:03/01/24 12:58
VC なら選択して Alt+F8

589 :仕様書無しさん:03/01/24 13:03
エディターより C Beautifier みたいなフィルターの
ほうがいいんじゃない?
使ったこと無いけど。

590 :586:03/01/24 13:06
>>587
検索してもオートインデント機能しか見つかんねーって。
俺が欲しいのはデタラメなインデントを「修正」してくれるツール。

ハッΣ(゚Д゚ )
もしかして >>583
>エディターに勝手に直させればいいじゃん
てのはオートインデントの事!?


591 :仕様書無しさん:03/01/24 13:09
Emacs なら indent-region とかだろう

592 :仕様書無しさん:03/01/24 15:29
>>590
オレは>>583がいってるやつって
オートインデントのことだと思ってた。

>>591
便利だよね

593 :仕様書無しさん:03/01/24 16:11
>>588 もオートインデントだよな。。

594 :仕様書無しさん:03/01/24 16:22
>>590
"出鱈目なインデントを「修正」"
っていうのは、具体的に何をどうして欲しいんだ?

595 :590:03/01/24 17:43
>>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;
      }
    }


596 :590:03/01/24 17:43
なんか「自分で作れ!!」とか言われそうだな、、、
つーか「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

まぁ上の例は実際にあったワケじゃないケド
似たのは山程あるし、ウチの会社のソース。


597 :仕様書無しさん:03/01/24 18:00
#ifdef〜#else〜#endif
#ifndef〜#else〜#endif
if〜else〜endif
switch〜
for〜

レベルのインデント整頓ツールなら、2年ぐらい前にVBで
即席で作ったことあるな

598 :仕様書無しさん:03/01/24 18:22
>>582
すまん。そのコードだけだとなにが悪いのか分からん。
END_CATCH_ALLで例外オブジェクトをdeleteしてるだろうけど、
そこは通らないよね?

>>593
>>588のは一応自動インデント修正機能でしょ。
オートインデントつったら編集している時に自動的に
インデントを挿入してくれるやつだとおもふ。

599 :仕様書無しさん:03/01/24 20:44
ソースコードではないのだがな。

数年前大昔VB4.0で作ったちんまいシステムをVB6.0でリメイクしてた。
んで、そのときのインストール説明書に

『(1)まずPC端末にMicrosoft Visual Basic 4.0をインストールしてください。』

と堂々と。




もう、あほかと、ヴァカかと。

600 :仕様書無しさん:03/01/24 21:11
>>599
すてき(w

601 :仕様書無しさん:03/01/24 21:18
>599
いや、ある意味最強。

602 :仕様書無しさん:03/01/24 22:10
>>599
まー当時はDLLが標準で入ってなかったし、
落とせるサイトも無名だったし・・・

603 :仕様書無しさん:03/01/24 22:32
コーディング規約:

NullPointerException を扱うコードには必ず以下のコメントを書く事。
//  ∧_∧
// ( ´∀`)< ぬるぽ

604 :仕様書無しさん:03/01/24 22:52
>599
うろ覚えの記憶で恐縮ですが、VB4.0ってRUNTIME(つーかOCX)の
バージョンによって動いたり動かなかったりしなかったっけ?
ひょっとしたら、そういうのを回避するための苦肉の策かもよ。

605 :仕様書無しさん:03/01/24 22:58
>>604
ユーザーにVBの購入を義務付けることが苦肉の策?それでいいのか?

606 :仕様書無しさん:03/01/24 23:07
>>605
購入は義務付けてないよ
インストールしろと書いてあるだけだから・・・

607 :仕様書無しさん:03/01/24 23:18
ライセンス持ってなきゃインストールできないじゃん。

608 :仕様書無しさん:03/01/24 23:25
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/     
 (_フ彡        / ←>>603


609 :仕様書無しさん:03/01/24 23:52
>>606
( ´д)ヒソ(´д`)ヒソ(д` )

610 :仕様書無しさん:03/01/25 00:37
>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だよね、って言った時点で同じレベル。

613 :仕様書無しさん:03/01/25 02:08
学生ならしゃーなかろう。

それから自分は安全のために(1<<screen)と書くよ。
<<,>>は優先順位を勘違いしやすいので。


614 :仕様書無しさん:03/01/25 10:56
>>613
逆に std::cout << a & b << std::endl; とか書いて
(゚д゚)アラー となることもあるな。

615 :仕様書無しさん:03/01/25 11:02
まぁ、可読性を上げるために余計なカッコつけると
演算子の優先順位もしらねーのかよ
とか結構つっこまれたりするわけだが

えぇ、知りません、と答えるようにしている
だって不毛なんだもん

616 :仕様書無しさん:03/01/25 11:10
優先順位を覚えていることより、ビット演算子やシフト演算子は順位を
間違えやすいと銘記しておくことのほうが大切だわな。

617 :仕様書無しさん:03/01/25 12:08
>>613
stdが知られてるならいいけど
std::cout << (a & b) << std::endl
(std::cout << a) & (b << std::endl)
のどちらか悩むぐらいなら、カッコを付ける。

618 :仕様書無しさん:03/01/25 13:39
>>615
ああいう場面で括弧をつけない奴は、三流PGでしょう。

619 :仕様書無しさん:03/01/25 17:26
>>604
いや、作った本人はどーも「でぃー・える・える」というものを知らなかったらしい(w
くわえて、「ディストリビューション・ウィザード」(VB4.0ではなんというのか?)
なるものも知らんかったという・・・・

こんな奴でも、いま課長をやっています。立派になったもんだ。

620 :仕様書無しさん:03/01/25 19:12
>>618
同感。
括弧がついてると文句言う奴もいるもんぁ・・・
一度会社で「余分な括弧は絶対につけるな」とか馬鹿なことを指示されました。
コーディング規約なんだそうで・・・・??

621 :仕様書無しさん:03/01/25 19:20
プログラミングスキルが無くてもマネージメントスキルがあるなら問題無し。

622 :仕様書無しさん:03/01/25 19:48
もしPGをやっているときにプログラミングスキルをつけられないなら、
マネージメントをやってもマネージメントスキルもつかないだろう。

623 :仕様書無しさん:03/01/25 20:09
>>621
プログラミングスキルの持っている人間と、
マネジメントスキルを持った人間、
必要とれる人数が多いのはどちら?

624 :仕様書無しさん:03/01/25 21:22
マネジメントスキルしか持ってない奴の下には付きたくないなあ。

625 :仕様書無しさん:03/01/25 21:32
若い奴らはいいけど、一定年齢以上(35歳といわれてるが)になると
プログラミング能力なんて査定対象にならなくなっちゃうんだよね・・・

626 :仕様書無しさん:03/01/25 21:55
35になったら丸投げSE仕事しかできないっていうのが現実だよね。
生産性もそっちのほうが高いし。

627 :仕様書無しさん:03/01/25 22:09
マネジメントスキルしか持ってない人って、どうやって見積もり出すんでしょう?
コーディングにどれくらいかかりそうか、見積もれないような気がするんですが。

628 :仕様書無しさん:03/01/25 23:37
てか、みんな見積もりってどうやって出してる?
自分がやったらこれくらいってのは分かるけど、
誰がやるともきまってないのに、普通の奴がやったらと
言われても、いまだに「普通の奴って誰よ」って感じなんすけど。
こんなオレは逝ってよしですか?

629 :仕様書無しさん:03/01/25 23:46
>628
俺もだよ。一緒に逝こうか。

630 :仕様書無しさん:03/01/25 23:55
>>628
勘だろうな。何度か見積もっていれば結構あたってくる。
あたらないときで少なく見積もったらプログラマーが悲惨な状況になるだけだし。

631 :仕様書無しさん:03/01/26 00:10
見積もり精度は統計的な話なので過去のデータの分析が要。
「自分がやるとこれくらい」レベルの見積もりなんぞ糞の役にも立たん。
PL,PM 目指すorやってるなら、工数データ収集,分析やっておけ。

632 :仕様書無しさん:03/01/26 00:15
>>590
man indent

633 :仕様書無しさん:03/01/26 00:18
> 見積もり精度は統計的な話なので

ハァ?統計的な話にしたい、ってだけだろ。アホでつか?

634 :仕様書無しさん:03/01/26 00:31
>>631
コーディングできない奴はみんなそういうよ。
糞な技術者の集団とその中に一人以上のエースプログラマがいる場合では
工数に雲泥の差がでる。

635 :仕様書無しさん:03/01/26 00:45
常に同じ結果を返す複雑なコードを見たときには、あきれますた。

636 :仕様書無しさん:03/01/26 01:33
結局ごく小数のエースプログラマに頼ってるんだよな。
アーキテクチャ検証も、モジュールの区分けも、テスト計画も、
実質的な見積もりも、その人がやっちゃってませんか。

637 :仕様書無しさん:03/01/26 01:55
漏れは工数の算出で部下が
部下がやったら、どの程度の時間がかかるか想定して出してマフ。
そのときには、私の脳内ではロジックが組みあがってマフ。

638 :仕様書無しさん:03/01/26 02:48
>脳内ではロジックが組みあがって

..しかし時として、そのロジック"自体に"気の回らないバグが潜んでいたりする罠。
気づいた時には後残り3日....。

639 :仕様書無しさん:03/01/26 04:42
>>634
「普通の技術者の集団とその中に一人以上の糞プログラマがいる場合では工数に雲泥の差が出る。」
の間違いじゃないか?
多人数でやってると、エースプログラマが一人いてもそれほど工数削減にならないが、
糞が一人いると確実に工数を増やしてくれる。


640 :仕様書無しさん:03/01/26 08:39

http://pc.2ch.net/test/read.cgi/prog/1043537460/


641 :仕様書無しさん:03/01/26 08:41
>>640
誤爆

642 :仕様書無しさん:03/01/26 09:53
>>639
あなたが普通だと思っているプログラマーは一般の糞プログラマー並で、
糞プログラマーだと思っているのは一般のプログラマー以前のこと、
エースだと思っているのは一般の普通のプログラマー。
真のエースがいない会社なんですね、あなたの会社には。

643 :仕様書無しさん:03/01/26 09:58
リードプログラマ、あるいはチーフプログラマという役割の人なんでねえの

644 :仕様書無しさん:03/01/26 10:41
結局、何十人分もの働きをしてるプログラマってのは確かに実在する。
けどそれは、最低レベルのプログラミングをできるやつにならないと
その存在を気づかず「マネージメントが・・・」とか「プロジェクト管理が・・・」
とかほざき始める。
そんなに、人をまとめられて金の管理できるなら社長しゃりゃーいいじゃんって感じ。

645 :1000:03/01/26 11:21
>>377
しかし世間的には返り値はexit(-1)のように評価される罠

646 :631:03/01/26 14:45
>>633-644
統計の意味を理解してない香具師がこんなに居るのか・・・
技術レベルの個人差を折り込むのは当然だ。5〜10段位でランク付けするだろ。
つーかおまいら、人の上に立つなら最低限ソフトウェア工学を学んでおけ。
力任せに開発してんじゃねーよ。一生マで居るつもりならその必要も無いがナー。

647 :仕様書無しさん:03/01/26 15:01
>>646
できるやつにはわからんのよねぇ。なかなか。

648 :仕様書無しさん:03/01/26 15:20
( ´-`)oO(>>646が痛々しく(香ばしく)感じるのは漏れだけかなあ・・・)

649 :仕様書無しさん:03/01/26 15:37
プログラマと名乗る人の能力差って級数的に違うからなあ。統計とったってむだぽ。

650 :仕様書無しさん:03/01/26 15:49
「統計に意味がある」という、ありえない前提に立って話を
している646は馬鹿。

651 :仕様書無しさん:03/01/26 15:56
>>649
たとえ級数的に違うとしても対数でとれば統計処理は可能
統計の意味をわからない人間に
統計の取り方を説明しても無駄かもしれないが・・・

652 :仕様書無しさん:03/01/26 16:04
その統計で出された数値に合わせるために現場の人間がどれだけ必死に
なってるか、わかんないんだろうねぇ。

653 :仕様書無しさん:03/01/26 16:06
 ていうか状況と個人の能力を見てやり方変えない?普通。
統計的にこうだからこうするなんて唯一無二の最善策なんてないでしょ

654 :仕様書無しさん:03/01/26 16:06
>>651
だからお前がもしそれを実現しているなら超一級のマネージャーだよ。
で?おまいはどこの会社のどんな地位なんだ?それとも経営者か?
でもさ、あんたのランク付けが正しいって証明できるのか?
ランク付けするってことは、すくなくともランクをつけられるやつらより
上にいないとわからないぞ。

655 :仕様書無しさん:03/01/26 16:09
ソースコードどこ━━━━(゚∀゚)━━━━ッ??

656 :仕様書無しさん:03/01/26 16:22
統計データは日々更新しないと意味ないだろ。

657 :621=631=646:03/01/26 16:24
>>655
大漁だけどスレ違いだね。スマソ。

658 :仕様書無しさん:03/01/26 16:34
データ取るのはいいんですが、客やマネージャ、営業の能力もきちんと
測定してください。つか今のマネージャ、下で働く人間のデータだけを
元に計画立てやがるので非常に迷惑しとります。

659 :仕様書無しさん:03/01/26 20:23
同じものばっか作るなら統計だけで乗り切れるかもなー。


660 :628:03/01/26 21:02
同じ悩みの人がいると分かって嬉しい(w
>>646 うちの会社だと、一番上と一番下で、128段くらいランク差つかないと
ダメなんですけど、どう見積もればいいでしょう? 間を取って64の奴?(w

そもそも上になんて立ちたくないポ。オレを上に立たせるなら、下につけるのは
オレと同レベルか、「こいつらがいるならオレは現場から引くしかないか」と思える
奴にしてくれと。

661 :仕様書無しさん:03/01/26 22:27
>>658
いいじゃん。計画立ててるだけましだ。
うちなぞ、他社のDQNを「使ってくれ、頼む」といって
大勢押し付けたくせに原価が悪いと文句をいわれるぞ。
プロマネ兼リーダはその上司なのだがな・・・。

しかも、手塩にかけて育てた後輩をこれから実戦投入
していこうと思っていた矢先に配置換えしやがったし。

C言語で1万行以上のmain関数を診た香具師はいるか?
漏れは診た。気絶しそうになったぞ。

662 :仕様書無しさん:03/01/26 22:37
>C言語で1万行以上のmain関数
あーそれ書いたの俺。ちゃんと直しといてよ。

663 :仕様書無しさん:03/01/26 22:38
>>662
いや、俺のだよ。ちゃんと直しといてよ。

664 :仕様書無しさん:03/01/26 22:44
>>662
1万行かぁ
最高で6000行ちょいだから、漏れもまだまだだな

665 :仕様書無しさん:03/01/26 22:53
ふふふ
俺なんて1万60行だぜ

666 :仕様書無しさん:03/01/26 23:15
ふふん
俺なんて1万62行だぜ

(*´∀`) <今改行2回打ったからー

667 :仕様書無しさん:03/01/27 00:15
>>661
ふ、その程度で気絶もんだったら、
俺の会社のソース見たら お前死ぬぞ(;_;)

668 :仕様書無しさん:03/01/27 00:38
ふっ・・・・俺なんて3行だぜ。

669 :仕様書無しさん:03/01/27 01:28
>>668
改行ぐらいおぼえろ!

670 :仕様書無しさん:03/01/27 01:30
>>667
ひー。長いだけならよいのですが…。
コメント意味不明、意味不明なアルファベット1文字+数字数桁な変数が
文字列、文字、数値、定数を問わず使われながらこれまた巨大なgoto文と
構文を意味不明につなぎ合わせた代物が1万行連続していました。
しかもその渦中を例の意味不明変数の配列のforループが多重に
ぐるぐるぐるぐる回っていて、コンパイルは通るのに、コメント部分ですら、
一行でも修正すると問答無用で落ちてくれるすばらしい代物でした。
思い出しただけで気が遠くなる・・・。
作ったやつを狂人だとおもいまつた。

あれよりひどいソースを診たらマジで死にそうでつ(;_;)


671 :仕様書無しさん:03/01/27 01:32
>>670
 なんか興奮して自分の文章もおかしくなってしまいました。
 ゴメソ。


672 :仕様書無しさん:03/01/27 01:46
>>670
もしかして同じ会社? (w
違うとは思うが、俺は10階の住人。

うちの会社のはswichとかが多用されてるし、ネストは2桁でとってるくせに
途中で右により過ぎたからといって いきなり左端に戻ってたり、
コメントはメンテナンスしてないからうそばっかりだし、何か修正すると
必ず動けなくなるし・・・・はぁ。

673 :仕様書無しさん:03/01/27 02:13
swichが多用されているような現場はとても大変でつね


674 :仕様書無しさん:03/01/27 02:21
>>672
うーん、同じ会社の人だたらビクーリですね。
他社の動かないソースを動くようにするのが真のお仕事
ダターリするんであちこち出動しておりまつ(w
ひょっとしたら名刺交換してたりして…。
皆様の個性あふれるソース(皮肉)は見慣れていまつが・・・、
おそらく672さんの会社のソースは綺麗なほうだと思いまつ。


675 :仕様書無しさん:03/01/27 02:23
>670
あーそれ書いたのまさしく俺。ちゃんと直しといてよ。

676 :仕様書無しさん:03/01/27 03:05
>>675
積年の恨み、どうやって晴らしてくれようか。

677 :仕様書無しさん:03/01/27 15:09
やってもうたー
間違いに気が付かないままコーディング進めてしまって、今気が付いたよ

Colleaction

で、あーやってもうたー、とか思って全部置換しようと思ったら
なんかしらんけど、色んなところにコピペされてて修正不可能・・・
正直、ごめんなさい

678 :仕様書無しさん:03/01/27 15:51
はい皆さん御一緒に

 コルルルルルリークスィオーン(巻き舌で)

679 :仕様書無しさん:03/01/27 16:40
>>677
いいじゃん 「これアクション」で。

680 :仕様書無しさん:03/01/27 16:51
>>677 eclipse使え

681 :仕様書無しさん:03/01/27 21:02
COBOLで、>>670+REDEFINESしまくりなソースを見たことがある。
ソースを印刷して紙をセロテープでつなげて、IF〜END-IFやPERFORM〜END-PERFORMを
ひとつずつ鉛筆で囲ったり、GOTOに番号を付けて飛び先を整理したり…
何とか修正したけど本当に正しく修正できたのか、いまだに不安。

682 :仕様書無しさん:03/01/27 21:03
  ∧_∧
 ( ´∀`)< ぬるぽ


683 :仕様書無しさん:03/01/27 21:12
コンナトコマデキテナニヤッテンダヨ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V´Д`)/  
 (_フ彡        /  ←>>682


684 :仕様書無しさん:03/01/27 23:12
>>683
何って、ぬるぽ。

685 :仕様書無しさん:03/01/27 23:33
>>661
うう〜む、、、
我は「C言語で1万行以上のmain関数」などという冗談の産物?
を拝見した事は無いが。VBでButton1_Click()が500行以上、
なんてのを頻繁にメンテしておる。

ついでにまったく正規化されてないテーブルの仕様を見て
気絶しそうになったりとかね。

... ありがちでスマヌ。



686 :仕様書無しさん:03/01/27 23:42
モイッチョ!
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V´Д`)/  
 (_フ彡        /  ←>>684

687 :仕様書無しさん:03/01/27 23:47
main()が1万行以上か。MINIXのソースがちょうど1万行くらいだと
思ったが、プログラムとしての価値は天と地ほども違いそうだな。

688 :仕様書無しさん:03/01/28 00:46
>>687
ttp://www.pro.or.jp/~fuji/mybooks/cdiag/

このサイトに最長不倒関数というものがある。
作者はこんな小奇麗な関数をおちょくっているようだが、
はたして楽しいのだろうか・・・。


689 :仕様書無しさん:03/01/28 00:58
>>688
でもこれってたったの2500行なんだよね。
そんなのふつうに転がってるだろ・・・
藤原さんおめでてーな(鬱

690 :仕様書無しさん:03/01/28 01:09
あー、テーブルの仕様は、もうちょっと最初に
なんとかならなかったのかよ、とか良く思うなぁ

つか、そこに時間かければ、この死屍累々の屍の山はないのになぁ
ということが全く分かってもらえずに、今日も肉体労働に励むのでした。まる。

691 :仕様書無しさん:03/01/28 01:17
はーい、他のところから仕入れた15k行程度のソースが使い物にならんから、
三ヶ月で設計からやり直すことになりました。 :-)
作り直してる間は、その使い物にならんソースでごまかしつつ・・・・

いや、作り直しを認めてくれるなんて幸せもんですよ。ほんと。
ちょっと(っていうか結構?)つらい作業になりそうですが(w

692 :仕様書無しさん:03/01/28 01:25
>>691
がんがれ!
設計からやり直させてくれるとは、太っ腹な顧客だねえ。
ううー、うらまやしい。


693 :仕様書無しさん:03/01/28 01:31
>>689
そのサイトで紹介されてる最長不倒関数は6344行だよ。

694 :仕様書無しさん:03/01/28 01:38
>>693
そうだった?
でも6000行の関数ならオレも仕事で見たことあるな
さすがにmainではなかったが

695 :仕様書無しさん:03/01/28 01:46
>>693
上から下に綺麗に流れているよね。
これならべつに長くてもいいじゃんという気になってまう。



696 :仕様書無しさん:03/01/28 02:04
>>695
で、「もしかして、もう少しまともに修正できるんじゃないか」
とか思ってしまい、罠にかかる・・・と (w

697 :仕様書無しさん:03/01/28 06:45
俺ならもっとまともに組める!
って思うのはPGとしてはマトモな考えではないかと。

テストの手間とか考えると無理なことが多いんだけど。

698 :仕様書無しさん:03/01/28 06:47
C++で多重継承とfriend関数使いまくりなのは拝んだことがある。
要は設計がなってないんだが......

699 :仕様書無しさん:03/01/28 10:25
>690
同意。
テーブルもそうだし、プログラミングにおいても
「せめてリファクタリングさせてくれ」って思うヤツ多い。
なぜしないかって?PMが「リファクタリング」なんて言葉を
知らないヤシだからさ・・・

700 :700下等:03/01/28 11:35
>>699
うちのSEは「レビュー」という言葉の意味を知らない・・・
「ソースレビューしてください」と客に言われ「はい、わかりました」

後日「ソースレビューの結果を報告してください」「はい、コンパイルは通りました」

背筋が凍った瞬間。

701 :仕様書無しさん:03/01/28 12:26
いいなぁ、そのレビューいいなぁ
そんなレビュで住むなら世の中きっと・・・

どうでもいいんだけど、中が悪いのは分かったから
レビューはまともにしてくれよ、と言いたい今日この頃
仕事なんだから大人になろうよ、と

702 :701:03/01/28 12:26
まぁ、漢字誤変換しまくりなわけだが∧||∧

703 :仕様書無しさん:03/01/28 13:11
>>701-702
てっきり、誤変換ではなく、あのお決まり問答をキボンしているのかと
思いますた

704 :仕様書無しさん:03/01/28 14:38
中の人などいない!!!

705 :仕様書無しさん:03/01/28 16:13
>701
レビューがそんなんで済んでしまうと、後が地獄だ罠。

706 :仕様書無しさん:03/01/28 22:29
>>701
いいのか?
あんた、レビューって何のためにやってんだよ。

707 :仕様書無しさん:03/01/28 23:03
>>706
レビューはISO9001認証継続審査のため
と思っていますがなにか?

708 :仕様書無しさん:03/01/28 23:14
>>707
喪前のプロジェクトは必ずコケる。これ定説。

709 :仕様書無しさん:03/01/28 23:53
>>699
漏れも同意。
コメントの変更も最小限に、と言われた時にゃマヂで萎えた。

710 :仕様書無しさん:03/01/29 01:47
>>685
安心しろ、32kくらいでプロシージャの制限に引っかかるからそれ以上でかくならない。
モジュールの行数の限界もあるしな。

711 :仕様書無しさん:03/01/29 02:05
lsic 3.3は最長不倒関数のような馬鹿な香具師が現れないように、
関数が長すぎるとコンパイルエラーを出してたよねw

712 :仕様書無しさん:03/01/29 09:09
実際、コメントを修正しておかしくなることってあるのか不安になってきた。
>670でもそんなような事いってるし。

どうなの?そんなことありえないよね?

713 :仕様書無しさん:03/01/29 10:42
>712
コンパイラがタコか、不安定な環境でコンパイラに無理を
させるようなプログラムならありえる。

ところで、昔、テスト終了後に納品物を作成してたら
タイムスタンプが変わっているファイルがあったんだね。
メンバに聞いたら「ちょっとコメント修正しただけです」って
言うから信用してそのまま客先に提出したのさ。
…そうしたら、動作確認したはずの操作で障害。

調べてみたら、例のファイルにコメント以外にちょっとだけ修正された
箇所があってそこが原因。メンバ問い詰めたら「そっちのほうがいいと
思った。たかがこれだけでそんなことになるとは思わなかった」だって。

それ以来、信用できる人はいいんだけど、いじったことの影響が読めない
経験の浅い人間には特に「確認後はコメントもいじるな」と厳命してます。

714 :仕様書無しさん:03/01/29 12:10
レビューってどのぐらいまでやればいいの?

715 :仕様書無しさん:03/01/29 12:40
東京から横浜までくらい。

716 :仕様書無しさん:03/01/29 12:41
ゆりかごから墓場までくらい。

717 :仕様書無しさん:03/01/29 12:43
>>707
それは愚痴スレでは言ってもいい言葉だが
「この会社辞めようと思ったソースコード」では言ってはいけない。

だからこの世から糞ソースが無くならないんだ...

718 :仕様書無しさん:03/01/29 16:46
まぁ、分かりやすく言うときつね色になるくらいまで

719 :仕様書無しさん:03/01/29 16:49
別に会社をやめようと思ったわけではないんだが
俺以外の大部分の人がローマ字の変数名使ってるんだよねー
なんか、そういう伝統らしんだが、自分もやっぱそれにあわせた方がいいのかなぁ
とか思ってしまう

う、うぅ〜ん・・・

720 :仕様書無しさん:03/01/29 18:57
int Main_Data_Read_And_Write_And_Set_Data_Buffer_And_Call_Result_Function( void )
{
}


こんな関数名ばっかし。

721 :仕様書無しさん:03/01/29 19:27
>>720
機能が書けないから処理を列挙してる関数の典型例だな。
その関数はどういう機能かあるかを小一時間問いつめろ。


722 :仕様書無しさん:03/01/29 19:47
{
Main_Data_Read();
Main_Data_Write();
Set_Data_Buffer();
Call_Result_Function();
}

723 :仕様書無しさん:03/01/29 20:04
× 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


725 :仕様書無しさん:03/01/29 22:02
>>724
それ、コンパイルオプションでほしいなぁ。

726 :仕様書無しさん:03/01/30 00:00
>>719
システム開発なんぞやっていると、ローマ字でも仕方ないか・・・と思うことも多い。
専門用語&社内用語の連発で、無理に英語にしても誰もわからん。

でも今のシステム、ソースを書いたのが中国人だったので、
ローマ字読みしても意味わからんことがしばしば。

727 :仕様書無しさん:03/01/30 02:24
>725
ハングはしないで欲しい。

728 :仕様書無しさん:03/01/30 02:31
>>712
MS-C5か6か忘れたけど、ちょうど過渡期。

func1(); // とある機能
func2();
func3();

なんて感じのコメント書いてたら、
func2が実行されんようになってた・・・
結構規模もでかかったし、俺も若かったので、
func2()が飛ばされているのに気がつくまで二〜三時間かかったよ。


729 :仕様書無しさん:03/01/30 02:35
gccも同様のハマりがあるねえ
3から改善されたけど

730 :仕様書無しさん:03/01/30 04:34
>>728
ver7でそ
//でコメントアウトできるのはC++からで、
MS-Cのver6まではC++が入ってないでつ

731 :仕様書無しさん:03/01/30 06:23
>>730
C6 は //コメント使えますが何か?

732 :仕様書無しさん:03/01/30 08:20
>>730
Quick-Cですら//使えましたが、何か?


733 :仕様書無しさん:03/01/30 09:17
>>728
なんで func2() が実行されないの?
サパーリ分からん。

734 :733:03/01/30 09:20
>>728
つか、コンパイルエラーでは無いんですよね?

735 :仕様書無しさん:03/01/30 09:50
func2() もコメントだと認識されちゃったって事じゃないの?

736 :仕様書無しさん:03/01/30 10:14
こういうことか?
func1(); // なんとか表   ←(バックスラッシュと認識されてコメント継続)
func2();


737 :仕様書無しさん:03/01/30 15:14
//から次の;までをコメントとする、という仕様だろ?

738 :仕様書無しさん:03/01/30 16:21
二バイト文字のコメントには対応していなかったんじゃないの?

739 :仕様書無しさん:03/01/30 17:15
Shift_JISの2バイト目がエスケープってのが臭いね。

740 :仕様書無しさん:03/01/30 21:07
表だとか能だとかって、2 バイト目が \ じゃなかったか?

741 :仕様書無しさん:03/01/30 21:23
そいあ MASM でコメントを ;; でセミコロン2つ続ける
習慣ってコメントご認識予防だっけ?


742 :仕様書無しさん:03/01/30 22:32
>>741
何それ?

743 :728:03/01/31 02:31
ご推察のとおりです。
もちろん、MSのことがさらに嫌いになりました。(T_T)
(仕事ではMSC6でも、自宅ではTC2使いだったし:-)

>>741
一つと二つの違いって、マクロ展開後に残るかどうかの
違いではなかったかと・・・


744 :仕様書無しさん:03/01/31 10:13
C++を知らないやつが書いたのか、こんなコードをみた。

VC++6.0の環境ね。
struct HogeHoge
{
  CString strNum;
  CString strItemName;
....
};

でこの構造体をコピーするのにmemcpy()を使っている。
おかげでスタック破壊を起こし、動いた動かなくなったりするの。
原因を調べるのが大変だったよ。



745 :仕様書無しさん:03/01/31 20:07
>>744
つーか(以下略

746 :仕様書無しさん:03/01/31 20:44
C++に(以下略

747 :仕様書無しさん:03/01/31 21:01
中の人など(以下略

748 :仕様書無しさん:03/01/31 21:13
    ,,-‐、______,-''三ヽ
   ( ミ,,-――――――-- 、丿
   /::/   U        `ヽ
  /:/   (;;;;;;;;;)ノ ハU(;;;;;;;;;)U ヽ,
 /:/ U  i||| -     l - lli   i
 |;|         、__丿     U i
 ||      U   ,ニ,ニ、      i.
 |::|   U     | |  ̄ | |  U <三三
三三>       U l iエエ,i       人
 |:::::::::ヽ、______ー___,,-'':::::
 |:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: (以下略


749 :744:03/02/01 00:00
あとこんなのもあったなぁ。

CString strHoge;
CString strNum;
省略
if( memcmp(strHoge,strNum,sizeof(strNum))
{
 //strHogeとstrNumが一致すれば...
以下略

や、
strcpy(strHoge,strNum);



750 :仕様書無しさん:03/02/01 00:07
>>749

それをかくなら
> if( !memcmp(strHoge,strNum,sizeof(strNum))
だよな。

751 :仕様書無しさん:03/02/01 00:13
>>749
>strcpy(strHoge,strNum);
はコンパイルエラーにならんか?


752 :744:03/02/01 00:36
>>750
よく考えてみよう、間違いは1つではない。

>>751
なるね、思い出した、
memcpy()でコピーしていたんだ。
キャストなどをしてね。


753 :750:03/02/01 00:47
>>752
マジレスかよ・・・

754 :仕様書無しさん:03/02/01 01:02
>>751
sizeofだけちゃんと定義してやれば750は正しいぞ。
C++なんだから、間違いじゃないかもしれないだろ。
そもそも、includeが書かれていないことが問題。

・・・と、マジレスしてみるテスト。

755 :仕様書無しさん:03/02/01 01:05
>>754
750の ) が1個足らないのは正しいのですか?

756 :仕様書無しさん:03/02/01 01:39
>>755
コンパイラがエラー吐く様な誤りは、
投稿者の記述ミスだと判断してますが?

757 :仕様書無しさん:03/02/01 01:51
754 名前:仕様書無しさん 投稿日:2003/02/01(土) 01:02
   >>751
   コンパイラがエラー吐く様な誤りは、
   投稿者の記述ミスだと判断してますが?

756 名前:仕様書無しさん 投稿日:2003/02/01(土) 01:39
   >>755
   コンパイラがエラー吐く様な誤りは、
   投稿者の記述ミスだと判断してますが?

758 :仕様書無しさん:03/02/01 21:17
sleep(1);

for(i=0;i<Max;i++){ //ループ
func();
......(投稿者により略、たくさんの処理)
}//ループ終り

sleep(1);

func2();//次の処理


…ど〜でもいいところにコメント書いてそのスリープ千分の1秒は何の説明もなしですか?

759 :仕様書無しさん:03/02/02 00:36
>>758
不要と思って消すと危険な罠、だな。
原因追求すると設計の不備が検出出来るんだろうけど、
そんな時間は存在しない罠・・・

760 :仕様書無しさん:03/02/02 03:28
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ありまくりかも。
グローバル変数嫌い。
オブジェクト指向の前に、構造化プログラミングでも習ってなさいと。。
ウチの会社がこんなにレベル低いとは思わなかった。
マジで辞めないと、タダでさえ低い俺のスキルが上がらない。。

761 :仕様書無しさん:03/02/02 03:57
>>760
そんなんフツー。


762 :仕様書無しさん:03/02/02 04:04
>>762-764
スレ違いです。

763 :仕様書無しさん:03/02/02 09:38
えっ!ご、ごめん。

764 :仕様書無しさん:03/02/02 10:04
ごめんね。

765 :仕様書無しさん:03/02/02 10:22
>>763-766
お前らホントダメな奴だな。

766 :仕様書無しさん:03/02/02 10:24
もうぬるぽ

767 :仕様書無しさん:03/02/02 10:52
  ∩  ∩
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>765
 (_フ彡        /


768 :仕様書無しさん:03/02/02 10:58
>>767
はずれぬるぽ

769 :仕様書無しさん:03/02/02 11:13
>>768
何で俺を殴るんだYO!

770 :仕様書無しさん:03/02/02 11:59
マチガエテスマンナ
  ∩  ∩
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>766
 (_フ彡        /

ソレカラオマエモ
  ∩  ∩
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>768
 (_フ彡        /


771 :仕様書無しさん:03/02/02 19:29
>>758
sleep() <- 先頭が小文字は、単位が「秒」だったと思うが。
man 3 sleep みて

772 :仕様書無しさん:03/02/02 19:50
>771
俺Winしかわからんのだが、Winではミリ秒。

773 :仕様書無しさん:03/02/02 20:25
>>772
それは先頭大文字じゃねーか?

774 :仕様書無しさん:03/02/02 22:11
>773
WinのAPIには、sleepなんて存在しないぞ。Sleep。
「Winではミリ秒」ってのは合ってる。

775 :仕様書無しさん:03/02/02 22:24
>>758は小文字だから
単位は「秒」が正解ってことですな

776 :仕様書無しさん:03/02/03 02:15
なんだ、ここはポインタの指す方向の誤爆が流行っているのか?

777 :仕様書無しさん:03/02/03 02:41
この会社辞めようと思ったレビュー
って感じだな

778 :仕様書無しさん:03/02/03 04:37
>>758
タイムスライスの無いシステムだったりすると、
実行権の委譲にsleep(0)を使ったりするけどな。

779 :758:03/02/03 22:34
すんません家から適当に書いたんでTypoしました。
Windowsです。
1ミリ秒のほうが正しいです。。
実際の動作見ても1秒もとまってないし。
つか何ゆえにループの前後にスリープ。

>>778さんの言う通りなのかもしれないけど
forループの説明に「ここ繰り返しまーす」って意味の無いコメント書くより
「何々のためにあえてわずかなスリープを入れます」ってコメントが欲しかっただけです。
誰だかわからないけど前の担当者の方ほんとに出てきて教えてくださいっつか多分外注の人…。

>>759さんと同じこと先輩に言われました。ほっとけと…

780 :仕様書無しさん:03/02/04 01:51
どっかに
#define sleep(t) Sleep(t*1000)
とか罠は無いのか?

781 :仕様書無しさん:03/02/04 02:06
>>780
sscanf(argv[1], "%d", &wait);
sleep(wait + wait_min);

とかやってwaitの値を変えてもあんまりかわらなくて悩むという罠でつか?

782 :仕様書無しさん:03/02/04 02:33
× #define sleep(t) Sleep(t*1000)
○ #define sleep(t) Sleep((t)*1000)

783 :仕様書無しさん:03/02/05 12:35
( ´д)ヒソ(´д`)ヒソ(д` )

784 : ◆8/MtyDeTiY :03/02/05 12:51
>>783
ますみタン?

785 :仕様書無しさん:03/02/05 15:40

If <条件1> And <条件2> And ・・・・・ And <条件20> Then

やりたいことは分かるが、そもそも根本的になんか間違ってないか、とおもた。
てか、せめて複数行に分けろよ(;´Д`)

786 :仕様書無しさん:03/02/05 16:07
>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 : ◆8/MtyDeTiY :03/02/05 20:17
>>785
そのコード、別に悪く無いのでは?

788 :仕様書無しさん:03/02/05 20:33
>>787
ポカーン(AA略

789 :仕様書無しさん:03/02/05 20:36
>>787
ちみの脳みそには可読性という言葉はないのか

790 :仕様書無しさん:03/02/05 20:42
If <条件1>
And <条件2>
 :
And <条件20>
Then
 (処理)

はダメでつか?>>788-789


791 :仕様書無しさん:03/02/05 21:01
>>790
"_ "が無いぞ

というか、そこまで条件を追加しなきゃならん状況作る方がおかしく内科医?

792 :仕様書無しさん:03/02/05 21:07
たしかVB4の場合、"_"の数が制限されていて
悲惨なSQLしか書けなかった苦い記憶がある。

793 :仕様書無しさん:03/02/05 22:20
_ が使えないぐらいで悲惨なSQLになるのは
パパはどうかと思うぞ。

794 :ミ,,゚Д゚彡:03/02/05 22:22
>>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文として検索して・・・

比較的分かる人に話しを聞いてみると
「本部の人が設計したものに口出したら脅されたとだから泣く泣くこの仕様らしい」


797 :758:03/02/05 23:23
いいかげん粘着ですが、
一応探したところ罠はありませんでした。むむう。

798 :仕様書無しさん:03/02/05 23:25
>>796だけど文章おかしいけど許して。

799 :仕様書無しさん:03/02/05 23:27
>>796
RPGにおけるお使いミッションか、はたまた多段インタプリタか。

というよりロシア名物マトリョーシカ・データベース?

800 :仕様書無しさん:03/02/06 00:31
>>799
ときどきSQLの無限ループに陥る罠。

801 :仕様書無しさん:03/02/06 00:45
>797
外してUTやってみたらええやん。
まあ、あえて外さんでもいいように思うが。

802 :仕様書無しさん:03/02/06 19:27
>796
オブジェクト指向のつもりだったりして

803 :仕様書無しさん:03/02/06 19:30
目的地は行った先で聞いとくれ。

804 :仕様書無しさん:03/02/07 07:02
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 ;
}



805 :仕様書無しさん:03/02/07 08:44
引数のlenはいったい何の役目を?

806 :仕様書無しさん:03/02/07 08:58
>>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;
}


808 :仕様書無しさん:03/02/07 10:26
CmpLine() も再起である罠

809 :仕様書無しさん:03/02/07 13:11
ソースコードじゃないけど・・・
夜遅くなり、席が近い別会社&別プロジェクトの若い衆とふたりっきりになった時の実話。

そいつ:お忙しいところ、す、すまそ。
おれ:どーすたの?
そいつ:「select * from tbl where hoge = 'null'」だとダメポなんでし。
そいつ:おらくるの、ぬるってそもそもなんなんでしか?
おれ:(ひとりで可哀相だし、おしえたるか)
おれ:ぬるってぇーのはなぁ。子一時間せつめ・・・(略)
そいつ:なるへそ!
おれ:(おっ、やっとわかってくれたか。)じゃ、SQL-Plusで叩いてみそ。
そいつ:「select * from tbl where hoge = 'null'」ってことでしね!
おれ:・・・。い、いいんじゃん、それでも。

ネタちゃうで。

810 :仕様書無しさん:03/02/07 13:34
>>809
似たような状況あるよ。
そんときは中国人だったけど。

811 :ヽ(´ー`)ノ:03/02/07 15:10

そいつ:忙しいところすまないアルネ。
おれ:どーすたの?
そいつ:「select * from tbl where hoge = 'null'」 じゃーダメアルカ?
そいつ:なぜアルカヽ(`Д´)ノニッポンジン陰謀アルカ!!
おれ:(何だか痛そうだし、おしえとくか(;´Д`))
おれ:ぬるってぇーのはなぁ。子一時間せつめ・・・(略)
そいつ:ナルホド、良く分かったアルヨ。
おれ:(おっ、やっとわかってくれたか。)じゃ、SQL-Plusで叩いてみそ。
そいつ:ニッポンジンの陰謀じゃなくて、アメリカ人アルネ!(゜Д゜)
おれ:・・・。い、いいんじゃん、それでも。

注) Oracle本社はアメリカにあります。

812 :仕様書無しさん:03/02/07 15:26
そいつ:「select * from tbl where hoge = 'nullpo'」 じゃーぬるぽ?

813 :仕様書無しさん:03/02/07 15:36
アアイソガシイ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>812


814 :ヽ(´ー`)ノ:03/02/07 17:18
>>813
最近忙しいですね、お疲れさまです。

815 : ◆8/MtyDeTiY :03/02/07 18:01
port_t getted_port; // 取得済みのポート番号


# ありがち?

816 :仕様書無しさん:03/02/07 18:31
>>815
あるかな〜
この前、mouseの複数形はmiceだって事に20年ぶりぐらいに気が付いたけどなあ。

817 :仕様書無しさん:03/02/07 18:37
おいおまいら、dataは複数形だぞ。

818 :仕様書無しさん:03/02/07 18:43
date型変数にdataという名前を付けたのは私ですが・・・?

819 :仕様無しさん ◆ukNwLv.g/w :03/02/07 21:31
>>804
WIN32なら
POINT pts[4]={{sx, sy}, {x1, y1}, {x2, y2}, {ex, ey}};
PolyBezier( hdc, pts, 4 );
で終わるのだが...


820 :仕様書無しさん:03/02/07 22:02
>>804
たしか2〜3年前の基本情報処理技術者試験の問題が
それだったような・・・。
俺が丁度それ受けた。

821 :仕様書無しさん:03/02/07 22:58
>804
2回目以降のMoveToが実はいらねぇ、ってのも気づいてないんだろうな。

822 :仕様書無しさん:03/02/08 02:12
>>804
つうか、この関数ってば、引数多すぎ。


823 :仕様書無しさん:03/02/08 09:15
>804
ごめん、何やってんのか理解できない

824 :仕様書無しさん:03/02/08 13:22
>>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>
・・・


826 :仕様書無しさん:03/02/08 16:33
ハードウェアのmouseの複数形はmousesでいいじゃん。

827 :仕様書無しさん:03/02/08 16:44
datum←→data

828 :仕様書無しさん:03/02/08 16:48
erratum/errataと同じか?

829 :仕様書無しさん:03/02/08 21:34
プログラム言語に満足せずラテン語の習得を目指すスレはここですか?

830 :仕様書無しさん:03/02/08 21:36
プログラム言語の中の人などいない!

831 :仕様書無しさん:03/02/08 22:03
可読性を高めるため、定数直書きはやめましょう。
DEFINE #最大値1 1
DEFINE #最大値2 2
DEFINE #最大値3 3
...
DEFINE #最大値30 30

DEFINE #初期値1 1

COBOL。DEFINEの前になんか記号あったかもしれない。忘れた。

・・・死んでくれ。


832 :仕様書無しさん:03/02/08 22:22
兄「オイ、いったいナニやってんだ?」
妹「あ!お、お兄ちゃん!」
兄「お前、俺に隠れてこんなことしてたのか?」
妹「やだ・・・みんなには言わないで・・・」
兄「どれ、俺にも少し味あわせてくれよ。」
妹「ちょっ!お兄ちゃん何するの!やめてっ!いやっ!」
反抗する妹とは裏腹に兄の指は妹の蜜壺にぬるりと入り込んでいく。
ズブッ、ズブッ・・・
妹「やだ!汚いよ!」
兄「ちゃんと手は洗ってる、汚いものか。」
妹「やだ!恥ずかしいよぉ・・・」
兄はゆっくりとその蜜の中から指を引き抜く。
指には妹のソレに満たされた液がヌルヌルとからみついている。
兄「ふふ・・・あま〜い匂いがするぜ。」
妹「ああん、言わないで。」
兄「なめちまおうっと。」
妹「いや・・・」
兄「スッゲー甘いな。砂糖入れたのか?」
妹「あ〜ん、秘伝の味なのにぃ〜。」
こっそりハチミツを作っている妹を偶然見つけた兄。

http://www15.big.or.jp/~kaini/image/img-box/img20021111111348.jpg



833 :仕様書無しさん:03/02/09 02:36
>>832
そんなコメントがソースコードに埋め込まれてたら確かに辞めたくもなるな。

834 :仕様書無しさん:03/02/09 04:32
>>832
そんな画像が(以下略

835 :仕様書無しさん:03/02/09 11:29
>828
データ少佐って複数人格?

836 :仕様書無しさん:03/02/09 18:12
>835
エモーションチップを付けた時と外した時では、別人格
と言ってもいいのでは?


837 :Be名無しさん:03/02/10 03:12
*.h の先頭行が /* $Header... */ だったのを見て、
*.c の先頭行を /* $C ... */ に書き換えた加藤さん。

かわいかった。




838 :仕様書無しさん:03/02/10 06:56
DBの内容をファイル出力するプログラムで

select * from なんたらテーブル

という条件で全件selectした後、一件ずつIF文で判定して
出力可否を判定していた。だったら最初から条件を指定して
selectしろや、、、 ちなみにCOBOLでの話。

839 :仕様書無しさん:03/02/10 16:48
>>838
何が気の毒かって、実際に目の当たりにすれば激しくやる気をなくすだろうけど
このスレ的にはガイシュツ中のガイシュツなのであまり気の毒に見えないことだ。

840 :仕様書無しさん:03/02/10 22:57
>>839
XMLドキュメント中のノードをサーチするのにXPATHを使わずに
・全ノードを舐め回す奴
・馬鹿の一つ覚えみたいにgetElementsByTagName()しか使わない奴
ならいっぱいいそうだな。



841 :仕様書無しさん:03/02/11 01:32
「エラメーッセージが表示されないんですぅ〜」

if( ! isEOF ){
  if( ifEOF ){
    ShowErrorMsg("該当レコードがありませんでした");
  }
  (中略)
}

可愛いから許すよ、俺は。

842 :841:03/02/11 01:33
↑ちょっとtypoあった。。。スマソ

843 :仕様書無しさん:03/02/11 01:35
それは一体何を判定するつもりだったんだ・・・

844 :841:03/02/11 01:45
ちょっと端折って書いたんだけど、
要はレコードの終端をチェックするコード。
本当は↓みたいに書いて欲しかったのだ。。

if( ifEOF ){
  ShowErrorMsg("該当レコードがありませんでした");
}else{
  //正常処理
  (中略)
}

1日中悩んだらしい。。。(鬱)

845 :841:03/02/11 01:46
typeしたままコピっちゃったよ。
スマン。

846 :仕様書無しさん:03/02/11 02:02
ステップ実行できるデバッガは使ってないのか?

847 :841:03/02/11 02:06
いや、、、普通にVisualStudio使ってるはずだが...
知らん。
別のオフィスの子だしな。

近くにいるのなら手取り足取り…

848 :仕様書無しさん:03/02/11 04:21
>>847
貴様、それは「この会社続けようと思ったソースコード」だろ。

849 :仕様書無しさん:03/02/11 07:11
>>848
ワロタ


850 :仕様書無しさん:03/02/11 08:40
もっさい野郎が書いた場合→この会社を辞めようと思ったソースコード
かわゆい娘が書いた場合→この会社を続けようと思ったソースコード
共通すること→俺デスマーチ(死

851 :仕様書無しさん:03/02/11 10:57
まーデスマで死んでもそのかわゆい娘が自分の遺伝子残してくれるならそれもよいかと

852 :仕様書無しさん:03/02/11 11:31
>>840
XPATHってもう使って大丈夫なん?

853 :仕様書無しさん:03/02/11 13:52
>>852
勧告されたから使ってもいいんじゃない。
君の使っているXSLTに実装されてるかどうかは知らないけどな。

854 :仕様書無しさん:03/02/11 14:10
>>853
> 君の使っているXSLTに実装されてるかどうかは

下手に依存して、XPATH相当のコードを書く羽目になりそうでちょっと・・・

855 :一部抜粋:03/02/11 20:37
#汎用レジスタ
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 - 呼び出し元に復帰


856 :仕様書無しさん:03/02/11 20:43
↑で書いたプログラム(スクリプト?)の例

strHelloに"Hello World"を代入してコンソールに出力

DS  SGNOW strHello
DTSEG main
SPD strHello,"Hello World"
     WTO strHello,apxCr
     EIFF


この変なインタプリンタ使うのやめてください!!
なんで代入がSPDなんだ?
何の略だかわけわからん。

857 :仕様書無しさん:03/02/11 21:51
>>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

860 :仕様書無しさん:03/02/11 23:23
>他の顧客から高い評価を受けている

プッ、VBでかぁ?

861 :仕様書無しさん:03/02/11 23:42
>>860の中、何かがずれてると思った。

862 :仕様書無しさん:03/02/12 01:15
> For j = 0 to Ubound(moge)
> If j > moge

これ意味わかんねーよ。
moge は値なの? 配列なの?
このまま動かしても実行時エラーにならんのか?

Then が抜けてるけどそれは突っ込みどころじゃないか。

863 :仕様書無しさん:03/02/12 01:30
>>860
馬鹿丸出しだな。
俺はVBを使う気はさらさら無いが、
顧客要求を効率的に実装できる技術があるのならどんな言語
を使っていようが高い評価は得られるのが当たり前だ。

要求の種類や資産活用などで言語を選定した結果、
VBでは無いというのはよくある話だが
VBだというだけで否定するのはど素人。


864 :仕様書無しさん:03/02/12 01:43
> VBだというだけで否定するのはど素人。

おそらく彼にはトラウマあるんだよ。VBで。

865 :仕様書無しさん:03/02/12 01:44
>>862
コンパイルは通るけど、実行時エラーになるな。
End Functionもないし。
>>859は単に判ってないだけじゃないかと疑いたくなる。

866 :仕様書無しさん:03/02/12 02:24
>>852
MSXML系(含む.NET)はDOM APIをXPATHサーチ機能付きに拡張してるな。
Javaだと、xalanのXPathAPIあたりを使うんでないかい?
xalanでCachedなXPathAPIが提供されたのは比較的新しいバージョンのよう
なので、古いXPathAPIを使っておいた方がいいと思うが。

何にせよXPATHを利用せずにXMLノードをサーチするのは適切なSELECT文
を使わずにRDBにアクセスするのと全く同じことだ。あんまりそういう
原始的で非効率なことは、やりたくないだろ。


867 :仕様書無しさん:03/02/12 02:46
>>860
漏れは Excel4Macro だけで役員連中から拍手受けたことがあるよ。
重要なのは何を使ったかじゃなくて、彼らができないと思っている事を
やってのけること。

868 :仕様書無しさん:03/02/12 07:18
Excel4Macroとはまたシブいものを・・・

869 :仕様書無しさん:03/02/12 10:03
>>866
XPathの実装って、APIやら実装範囲やらのバリエーションって
どれくらいあるんでしょうか。これが小さいなら大丈夫かなあ。

select文の細かい仕様がRDBベンダにより異なるように、
XPathも実装により使い方や実装範囲が異なってるとやだなあ。

870 :仕様書無しさん:03/02/12 13:19
>>869
> select文の細かい仕様がRDBベンダにより異なるように、
> XPathも実装により使い方や実装範囲が異なってるとやだなあ。
はっはっは、大丈夫、既にXPATHも細かい方言が既にある。
もうSQLの方言のようになっているのでSQLのように使えばいいのさ。

871 :仕様書無しさん:03/02/12 22:40
>>870
なんてこった・・・
オラクル専門でぇ〜す!みたなバカにはなりたくないから、
少し調べてみます・・・

872 :774:03/02/13 00:15
char*p = (char*)malloc(10000);

873 :仕様書無しさん:03/02/13 00:19
>872

その後pがNULLかどうか判定してなきゃDQNだとは思うが。
まぁ(char*)くらいは大目にみとけや。
いずれにせよこの位で辞めたくなったらこの業界で生けていけないぞ(w

874 :873:03/02/13 00:20
ぐげ
×生けて ○生きて
華道かっつーの(ニガ

875 :仕様書無しさん:03/02/13 00:33
c++でmallocしてた、という話じゃないのか?

876 :仕様書無しさん:03/02/13 00:33
>>872
何が悪いのかわからんが。
まさか、new使えとか、10000をじかに使うなとか、そんな話しじゃないよね。
まあ、プログラム全体のことを考えると想像を絶する予感がするけど。

877 :仕様書無しさん:03/02/13 01:02
/* 全部のクラス */
class Implement
{
  ...


878 :仕様書無しさん:03/02/13 01:37
WindowsAPIで戻り値チェックしていたコード、
APIでエラーコードなんて返らないからチェック不要と、
いっさい戻り値チェックが無いコードに変更された・・・
俺は、こんなコードのアプリに責任は持てん。


879 :仕様書無しさん:03/02/13 01:47
>>862
いいとこついてくれた。
> For j = 0 to Ubound(moge)
> If j > moge
それにしても、漏れミスばっか鬱だ。さっぱりわからん(^^;
「moge」はリスト値

Function atai(moge As List String) as Variant
Dim v As Variant
For n = 0 to Ubound(moge)
   IF n = moge(n) then
     j = n
   End IF
If n < j Then
v = v + 1
End If
Next
atai = v
End Function
こんなかんじっす。
「jはUbound(moge)を越えるはずがないのに・・・。」
っって話っす。
# 今度は文法あってるよな。(^^;

880 :仕様書無しさん:03/02/13 02:55
>>879
インデントがグチャグチャで読む気しまへん。
やっぱ、君、辞めた方が良いよ

881 :仕様書無しさん:03/02/13 12:50
たしかに、自分のいいたいことを伝えることもできない
>>879のような香具師のいる会社は辞めたくなるな

882 :仕様書無しさん:03/02/13 15:13
>878
そこは戦うトコだろ。折れるなよ。

883 :仕様書無しさん:03/02/13 15:28
>>878
目立でつか?

884 :ヽ(´ー`)ノ:03/02/13 17:23
>>878
そこは戦うところだ、いけ、いくんだ >>878 !!

885 :仕様書無しさん:03/02/13 18:52
>>878
やるなら今のうち、テストに入ったら絶対に無理。
良かれと思ってやったことがすべて裏目に。。。

886 :仕様書無しさん:03/02/13 22:37
double a;
double b;
double c;
  ・
  ・
  ・
  ・
a=b;
a=c;
  ・
  ・
  ・
  ・

887 :仕様書無しさん:03/02/13 23:26
>878
わざわざエラーチェックを外すってのは初めて聞いた。
しかも高速化のためってのでもなさそうだねえ…。
if ( ! ShowWindow() ) {
return HRESULT_FROM_WIN32(GetLastError()) ;
}
とかだったかな?

888 :仕様書無しさん:03/02/13 23:31
>>880
どこがぐちゃぐちゃやねん。
っていうか、2chとはいえ、いい加減なことすんなってことか。くっ。
>>881
辞めていいですよ。漏れの会社の社員かどうかはしらへんけど。

889 :仕様書無しさん:03/02/13 23:42
>>879を勝手に直してみた
Private Function atai(moge As List String) as Variant
  Dim n As Variant
  Dim v As Variant
  Dim j As Variant
  
  For n = 0 to Ubound(moge)
    IF n = moge(n) then
      j = n
    End If

    If n < j Then
      v = v + 1
    End If
  Next n

  atai = v
End Function

890 :仕様書無しさん:03/02/14 02:59
>>888
やっぱり・・・

891 :名無しさん@お腹いっぱい。:03/02/14 03:01
JIS第1水準、第2水準の漢字をSJISからJISに1文字ずつ個別に変換する
BASIC プログラム(書きかけ)を発見したとき。

どうやら、行番号が足りなくなって途中までしか書けなかったようだ。
こんなあほなものを作ろうとするのは、彼女しかおるまい。

夜中にひとりで「ぷっ。」と笑った。



892 :ヽ(´ー`)ノ:03/02/14 03:05
>>891
女かっ!(゜Д゜)
手取り足取り…(*´Д`)ハァハァ



893 :仕様書無しさん:03/02/14 03:08
>>891
ここにも会社やめられない香具師が一人。

894 :仕様書無しさん:03/02/14 03:12
>>888
自分のずぼらを 2ch のせいにするとは、おめでてー香具師だな。

895 :仕様書無しさん:03/02/14 04:22
>>891
似たようなので、半角英字を全角英字にするのに
switch の case を56個並べて書いてあるのを見たことがある。

switch (hankaku_eiji) {
case 'A':
 return "A";
case 'B':
 return "B";
...
case 'z':
 return "z";
default:
 return NULL;
}

>>891 には敵わないが・・・


896 :仕様書無しさん:03/02/14 07:00
>>895
小文字を判定するのは何故?

897 :仕様書無しさん:03/02/14 07:09
>>896
(゚Д゚)ハァ?

898 :仕様書無しさん:03/02/14 07:51
>>896
半角 -> 全角
小文字 -> 大文字 のプログラムじゃねーぞ

899 :仕様書無しさん:03/02/14 07:52
>>895
u_short bar(u_char foo){ return( (foo - 'A')+'A')}ってさくって書いても
一生懸命並べて書いてる人に
・残業代
・コード量
で比較されると勝てないと思うと鬱になる・・・

900 :仕様書無しさん:03/02/14 07:54
全角→半角のプログラム書かせたらとんでもない事になりそうだな

901 :仕様書無しさん:03/02/14 08:06
>>891
株主が見た場合、その行為は業務妨害とか背任というレベルのものじゃ
なくて、テロ行為であると見なされるのが普通でしょう。

902 :仕様書無しさん:03/02/14 09:13
>>899
そういや、前にアホ部長が
「このソース、サイズすごいな。120kだってよ。
 お前の43kなんて到底叶わないよな。さすが外人だ」
と、ソース内にマニュアルが含まれた、実質10k程度のソースを眺めて
うなってたことがあったっけな

903 :仕様書無しさん:03/02/14 09:14
>>902
実は強烈な皮肉だった。

904 :仕様書無しさん:03/02/14 10:26
>>879

VB知らないんだけど、jは大域変数かstaticってことはないの?


905 :仕様書無しさん:03/02/14 11:10
文字分類・変換系のプログラムは、正直どうあるべきかよく分からなくなる
ところがある。
内部実装にUNICODEを使っていたり、少なくともlocale awareであるような
言語やライブラリの場合、妙に親切な挙動(全角数字も扱えたりウムラウトや
アクサン付きのアルファベットの扱いだとか空白だの区切り文字の扱い
だのbidiだのリガチャだのcollateを意識したソート順だの、挙げれば切りがない)。
親切で多機能なのは大いに結構だが、個々の言語・ライブラリ・環境の挙動を一々
調査して付き合っていられないんで、
結局
boolean isAlpha(char c) {
return c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z';
}
のような原始的なものを書く羽目になったり。
UNIXの場合LANG=CにしておけばOKという場合も多いが、それじゃ何のための
Localeだかわからん。。。


906 :仕様書無しさん:03/02/14 15:26
>>905
確かにそうだ。
自分は無駄に手間食いそうなときは
ムリにでも UNICODE を軸にしてしまうけど。

907 : :03/02/14 15:33
>>904
それだ!

908 :902:03/02/14 18:18
>>903
だったらいいんだが・・・多分違う。

909 :仕様書無しさん:03/02/14 20:28
究極の移植性を追求しているのではないのか?>文字変換

910 :仕様書無しさん:03/02/14 22:28
>>904
まともな回答ありがとう。残念なことに、どちらでもないです。
ちなみに今日、職場で該当プログラムを発掘して見てきたのですが、
>>889
が勝手に修正してくれたように、引数以外はローカル変数で、
しかも、勝手に修正してくれたのと同じようにVariantばかりですた。

911 :仕様書無しさん:03/02/14 23:08
>>910ってかなり日本語弱いんだなぁ

912 :仕様書無しさん:03/02/15 02:45
>>909
別にそこまででも無いんだけどね。
>>906
UNICODE化したところで問題が消滅する訳じゃないと思うんだよね。
UTF16のサロゲートペアがめんどいとかSJIS周りのマッピングテーブルの
問題がうんたらとかはさておき、例えWindowsNT(系列)のようにネイティブで
UNICODEサポートが行われているシステムにおいてさえ、例えばユニコード
テキストをTextOutで表示する際に、CCS毎にフォントを適切に切り替えて
m17nしてあげるべきなのだろうかとか、そういう際に便利なAPIは
無いよなあとか、そもそもCKJでUnifyされちゃってる文字にどのフォントセット
を用いるべきかどうやって調べるんだゴルァとか、arabicな文字については
適切にflowを左右反転させなければならないだろうかとか、そういう問題に
対して何らかの回答を用意する必要が有るだろうし、POSIX風のキャラクタクラス
をサポートする正規表現を用いるアプリケーションは、キャラクタクラスの
意味や許容されるrangeの範囲を定義しなければならないだろう。
最近のWindowsアプリケーション(例えばNotepad.exe)は、先頭にいわゆるUNICODE
のマジックナンバー(U+FEFFだったかな)を埋め込むようだけれども、
あれってもう一般的なのかな?とかね。


913 :仕様書無しさん:03/02/15 08:56
そゆのは、あれだ。

 見 な か っ た こ と に す る 。

ってのが最良の解決手段だ。

914 :仕様書無しさん:03/02/15 09:13
>>913
「無かった事にする」方が良くないか?



915 :新人:03/02/15 10:35
>>899
ひょっとして半角かなを全角かなに置き換えるコードも、

return (moji - 'ア') + 'ア';

こんなんでよかったりするのか?内部テーブルで処理
しちゃってた・・・。

916 :仕様書無しさん:03/02/15 11:30
>>915
ああ、古きよきctype.hのテーブルルックアップよ(w
俺は個人的にはテーブルルックアップ好き好き派だが、

1) 最近はメモリアクセスが計算よりも圧倒的に高価だから
単純な計算ならテーブル引きの効果が無いこともおおい。
2) 定義域として256byteしか考えないで良い場合ならいいが
65535文字とかだとちょっとやだよね。
まあ、画像処理で使うメモリに比べたら大したものでもないが。
3) まあ、文字コードが昇順だったりするのを仮定するのは
ある程度いいんでないの?

それはともかく、カナ変換は↑だと>>915だとちょっと単純すぎ
というかまずいね。濁点や半濁点まわりを一つにまとめてくれれば
親切というものだし、全角カナの並び順は↓のとおり。

ァアィイゥウェエォオ
カガキギクグケゲコゴ
サザシジスズセゼソゾ
タダチヂッツヅテデト
ドナニヌネノハバパヒ
ビピフブプヘベペホボ
ポマミムメモャヤュユ
ョヨラリルレロヮワヰ
ヱヲンヴヵヶ翼刄


917 :仕様書無しさん:03/02/15 14:26
>915
よくないんじゃないかなぁ・・・。
半角カナは ヲ から始まるんじゃなかったかなぁ。。。
全角カナは、並ぶ順番が半角カナ(ASCIIコード)とは
違ってたんじゃなかったかなぁ。
うろ覚えばっかですまんス。

918 :仕様書無しさん:03/02/15 16:29
大量のif文を生成するツールを書くとかどうだろう。

919 : :03/02/15 17:36
>>918
その生成プログラムをコーディングしている途中で
本ちゃん用変換サブルーチンが出来てしまうに1000API。

920 :仕様書無しさん:03/02/15 19:10
>>915
少なくとも、通常の実装ではその方法では巧くいかん。
OSの機能使うか、言語のライブラリ使って変更しろ。

なんで自分で実装しようとするかな・・・・

921 :仕様書無しさん:03/02/15 19:25
http://www.bulldog.co.jp/ ブルドックソース株式会社
http://www.kagome.co.jp/ カゴメ株式会社
http://www.otafuku.co.jp/ オタフクソース株式会社
http://www.ikari-s.co.jp/ イカリソース株式会社
http://www.kikkoman.co.jp/ キッコーマン株式会社
http://www.oliversauce.com/オリバーソース株式会社
http://www.sky-net.or.jp/toshi/ カープソース
http://www.maruki-su.com/ 株式会社 川上酢店
http://www.kozima.co.jp/ 小島食品製造株式会社
http://www.komi.co.jp/ コーミ株式会社
http://www.sankyohikari.co.jp/ サンキョーヒカリ
http://www.junmaru.co.jp/ 株式会社 純正食品マルシマ
http://www.papaya-sauce.co.jp/ パパヤソース本舗 大洋産業株式会社
http://www.takahashisauce.com/ 高橋ソース株式会社
http://www.choko.co.jp/ チョーコー醤油株式会社
http://www.timelyhit.ne.jp/ajiyoko/shop/sauce/sauce1.htm 阪神ソース株式会社
http://www.kyoto-thinking.co.jp/hirota/京風味ソース本舗 蛇ノ目食品廣田徳七商店
http://www.optic.or.jp/com/fujiisauce/fujiisauce.html 有限会社 藤井ソース工場
http://www2.neweb.ne.jp/wd/hikari/ ヒカリ食品
http://www.hat.hi-ho.ne.jp/aokia/ 下北沢ビレッジソース 丸寿食品工業株式会社
http://www.yamayashokuhin.co.jp/ 山屋食品株式会社
http://www4.osk.3web.ne.jp/~brother1/ブラザーソース森彌食品工業株式会社

http://www.asahi.co.jp/you/t20011026.html神戸地ソース物語
【関連団体】
http://www.maff.go.jp/koueki/sougou/35/35.htm(社)日本ソース工業会
http://www.japan-tomato.or.jp/社団法人 全国トマト工業会
http://www.soysauce.or.jp/ 日本醤油協会


922 :仕様書無しさん:03/02/15 19:29
>>920
知識として知っておくことは悪い事じゃないだろ。


923 :仕様書無しさん:03/02/15 19:41
DBやってます。やばいの見つけました。

select 商品コード from 売上明細
where
商品コード not in (
 select 商品コード from キャンセルリスト )
and
商品コード not in (
 select 商品コード from 在庫切リスト )
and
商品コード in (
select 商品コード from 発送済リスト );
上記での「商品コード」は当然キー項目です。
このソースを持つレポートは三日三晩待っても
表示されませんでしたので実行したまま退社しました。
おそらく来週出社したときにはソートセグメントが
溢れていると思います。
JOIN使えヴぉけー。

924 :仕様書無しさん:03/02/15 20:00
>>923
じゃあ、修正しようよ。

925 :仕様書無しさん:03/02/15 20:09
>>911
すまん、教えてくれると助かる。どうなおせばよい?

926 : :03/02/15 22:25
>>925
俺もなにがいかんのかよくわからんかった。
ひょっとして、
>しかも、勝手に修正してくれたのと同じようにVariantばかりですた。
の「ですた。」だったりして。
>>911
「ですた」とか「しますた」、「でつ」は、2ch用語だぞ。


927 :!910:03/02/15 23:32
>が勝手に修正してくれたように、引数以外はローカル変数で、
>しかも、勝手に修正してくれたのと同じようにVariantばかりですた。
  ↓
が勝手に修正してくれたのと同じように、引数以外はローカル変数かつ
Variantばかりですた。

928 :仕様書無しさん:03/02/15 23:57
void malloc2( char *buff )
{
 ./* バグ有りなので使わないで下さい(原因不明)*/
 char data[500];
 buff = data;
}

void free2( char *buf )
{
 ./* バグ有りなので使わないで下さい(原因不明)*/
 buf = NULL;
}

(゚д゚) ・・・・・誰だよ作ったやつぁ

929 :仕様書無しさん:03/02/16 00:08
>>928
正直だね



と優香これ使われてたの?

930 : :03/02/16 00:32
>>928
感動した。

メモリクラスとポインタの勉強が足りないわけだが、すごいね。

931 :仕様書無しさん:03/02/16 00:36
>>928
感動した!!
誰が書いたか調査して、プログラムに名前を刻み永遠にその偉業を伝えよ!


932 :仕様書無しさん:03/02/16 00:41
つか、これで(原因不明)って書いてる香具師に
まともに動くコードが書けるとは思えないんだが

933 :仕様書無しさん:03/02/16 00:48
ぬるぽスレがとうとう Part 3 なのだが・・・


どうすればいい?

934 :仕様書無しさん:03/02/16 00:50
>>933
  ∧_∧
 ( ´∀`)< ぬるぽ

935 :仕様書無しさん:03/02/16 00:50
>928
久々のクリーンヒット。インパクト通り越して破壊力あるな、これ。

でも社内で下手に曝さないほうがよさげ。。。
皆でサカナにしていたら急に無口になった人が偉い人だったりするとこわいから。

936 :無口な人:03/02/16 00:57
>>928-935
おまいら・・・

937 :仕様書無しさん:03/02/16 01:16
>>936

  ∧_∧
 ( ´∀`)< ぬるぽ

938 :仕様書無しさん:03/02/16 01:24
>>928

void malloc2( char *buff )
{
 ./* バグ有りなので使わないで下さい(原因不明)*/
 /*バグ修正しまつた */
 static char data[500];
 buff = data;
}



939 :仕様書無しさん:03/02/16 01:25
>>938
しまった、修正不完全だつた


940 : :03/02/16 01:26
↑ ( ´д)ヒソ(´д`)ヒソ(д` )


941 :仕様書無しさん:03/02/16 01:28
>>938
おいおい、一瞬感動しちまったよ。


942 :仕様書無しさん:03/02/16 01:33
>>939
さぁがんばってもう一度修正してみよう!

943 :仕様書無しさん:03/02/16 01:33
>>928


void malloc2( char **buff )
{
 ./* バグ修正しました。完璧です */
 *buff = malloc(500);
}


malloc2 の「2」に何の意味があるか、不明です。

944 :仕様書無しさん:03/02/16 01:38
>>943
メモリーリークを何とかしろ!
という命題だけに答えたら、>>928みたいになったと思われ。
たしかに、絶対にヒープ領域のリークはしないが。

よくいるんだよ、ロートル管理職で、バグが発生すると
メモリーリークのせいにしておく奴。COBOLからCに移っ
たときに相当苦労したのだろうと思われる。アホカと思
うが。

945 :仕様書無しさん:03/02/16 01:52
>>943
ライブラリとカチ合うから。


946 : :03/02/16 02:05
↑ ( ´д)ヒソ(´д`)ヒソ(д` )


947 :仕様書無しさん:03/02/16 02:08
>>945がなんでヒソヒソ言われてるのか分からない漏れは、使えない新人でつか?

948 :仕様書無しさん:03/02/16 02:15
>>947
……

949 :仕様書無しさん:03/02/16 02:34
/* これで完璧 */

void *malloc2(size_t size)
{
  return malloc(size);
}

950 :仕様書無しさん:03/02/16 02:54
void malloc2( char *buff )
{
  int i,*p;
  for(i=0;i<1000;i++)
    p[i]= (int)malloc2;
  exit(1);
}


951 :仕様書無しさん:03/02/16 02:54
実際他人のソース書き直したときにそーなることは良くあるよな

952 :仕様書無しさん:03/02/16 03:50
>>950
酷すぎて何が言いたいのかよくわからないのですが?

953 :仕様書無しさん:03/02/16 04:17
>>952
残念ながら、あなたの発言のために地球が滅ぼされる事が決定しました。

954 :仕様書無しさん:03/02/16 04:52
*(int*)0 = 0;

955 :仕様書無しさん:03/02/16 09:34
>>954

  ∧_∧
 ( ´∀`)< ぬるぽ


956 :仕様書無しさん:03/02/16 10:19
>>952
元のソースコードに書いてあることが難しくて新人厨房PGには
書き写すことさえできないって感じだな。
どっちもどっちって雰囲気が漂ってる(w

957 :仕様書無しさん:03/02/16 11:45
分岐無しに exit(1); を書いてる時点でネタだと思わないのか?

958 :仕様書無しさん:03/02/16 12:15
そのmalloc2という関数の存在意義がわからんのは俺だけか?

959 :仕様書無しさん:03/02/16 12:18
プログラムを強制終了させる関数なんだろ、きっと。

960 :仕様書無しさん:03/02/16 12:19
まろっく

961 :仕様書無しさん:03/02/16 12:23
まほろまてぃっく

962 :仕様書無しさん:03/02/16 12:36
>>954
どんな挙動になるかはCPU依存やね。


963 :仕様書無しさん:03/02/16 12:37
>>958
本当バカだな、お前は。
メモリリークをチェックするソフトを試すための関数だろ。

964 :仕様書無しさん:03/02/16 12:44
>>962CPUには依存しないだろ。
x86でもDOSなら0番地に0が書き込めるだろうし、LinuxならSIGSEGV。

965 :仕様書無しさん:03/02/16 13:01
>>964
0番地がプログラムカウンタつーCPUもあるぞ。


966 :仕様書無しさん:03/02/16 13:44
>>964-965
どうでもいいが、Cでは即値の0はNULLとみなされるので、0番地とは関係ないぞ。
#しかし逆にNULLは0に#defineされていなくても良い
いずれにしろ、いわゆる未定義の動作だな。

967 :仕様書無しさん:03/02/16 13:57
>>966
え?
じゃぁ0番地にデータ書き込みたいときにどうする?
俺は>>954のようにやってるが・・・。


968 :仕様書無しさん:03/02/16 14:00
>>966
言語の未定義動作ではないと思うが。
0 番地にワード長で値 0 を書く。

NULL の話を持ち出してかき混ぜてるのはなんでだ?

969 :仕様書無しさん:03/02/16 14:33
>>966
「#しかし逆にNULLは0に#defineされていなくても良い」


970 :仕様書無しさん:03/02/16 14:36
>>954の結論

C言語としての動作: 0番地の0をライトする
実際の挙動: CPU依存(システム依存)

971 :仕様書無しさん:03/02/16 14:44
>>966
理解していないのに聞いてきたようなことを組み合わせると
こういう風なことが言えるのか?

晒しage!

972 :仕様書無しさん:03/02/16 14:48
    ('A`) NULLで落ちるのナンデダロ〜♪
   〜( )〜
    < ヘ

973 :仕様書無しさん:03/02/16 14:57
むしろ >>971 を晒し上げしたい!

974 :971:03/02/16 15:02
ま、マジでつか!

言い方キツくてスマソ。

975 :仕様書無しさん:03/02/16 15:14
つか、
「ポインタ変数の値がメインメモリのアドレスと一致する」って、
ANSIで決まっているんですか?


976 :仕様書無しさん:03/02/16 15:20
>>971
言い方がキツいかどうかの問題じゃなくて、Cをもう一度勉強し直せ
ってことだ。
取りあえず規格上は
・0がポインタ型に変換される場合はいつでもnull pointerとして
扱われる。
・null pointerは「どんな有効なobjectに対するpointerとも一致しない」
ことが保証されているpointerである
といったところかな。定義によってnull pointerは有効なobject(LVALUE)を
指していない訳だから、そこに書き込もうとする行為は当然未定義動作
となる。勿論たまたまそれが「0番地に書き込む」という結果を産んでもよい。

そもそもアドレス空間が単純にリニアであって、ポインタの表現が実アドレス
(または仮想アドレス)と一対一対応が付けられてるかどうかは、CPU/システム/
処理系依存だろ。


977 :仕様書無しさん:03/02/16 15:28
定例宗教論争が始まりましたね?

978 :仕様書無しさん:03/02/16 15:31
>>976
モチツケ。>>954 のどこにNULLって書いてあるんだか。

979 :仕様書無しさん:03/02/16 15:33
>>978
もちつけ。>>976 をもう一度読め。

980 :仕様書無しさん:03/02/16 15:34
>>978
926のどこにNULLと書いてありますか?

981 :仕様書無しさん:03/02/16 15:34
>>978
良く読め。
>>976も一言も"NULL"とは云っていないが?


982 :仕様書無しさん:03/02/16 15:36
いいから、NULLいった奴出て来い。

983 :仕様書無しさん:03/02/16 15:36
nullpo(ry

984 :仕様書無しさん:03/02/16 15:38
ガ

985 :978:03/02/16 15:40
>>981
ほんとだ。NULL とは書いてないなぁ。
何気にぬるぽがいっぱい書いてあるな。
良く読んでなかったよ。

986 :仕様書無しさん:03/02/16 15:46
C言語では「○番地にデータを書き込む」という動作は記述できない。
多くのコンパイラは>>954のコードを
「0番地から始まるintのサイズ分のメモリに0を書き込む」という動作にしてくれるが、
これは定義された動作ではない。

987 :仕様書無しさん:03/02/16 15:56
ぬるぽの論争は、もう飽きたから、止めれ

988 :仕様書無しさん:03/02/16 15:57
>>987
んだんだ。

989 :仕様書無しさん:03/02/16 16:08
>>954>>966>>971>>976の流れが正直良く分からん。
なんでぬるぽの話になっているんだ?

990 :仕様書無しさん:03/02/16 16:15
>>989
>・0がポインタ型に変換される場合はいつでもnull pointerとして
> 扱われる
からだよ。分かったらもうやめれ。



991 :仕様書無しさん:03/02/16 16:20
0をポインタ型にキャストした時点でそれがNULLポインターになるのが
C言語のお約束じゃなかったの?

992 :991:03/02/16 16:21
すまそ。あげちまった。
しかもかぶりまくり。

993 :仕様書無しさん:03/02/16 16:23
トリアエズ ナグットケ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>955>>983>>985>>987>>989


994 :仕様書無しさん:03/02/16 16:24
>>991
C ではそうだな(K&R)

995 :仕様書無しさん:03/02/16 16:29
ナグリワスレ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>933-934>>937


996 :仕様書無しさん:03/02/16 16:30
>>966 は確かに言い回しに怪しい感じがしますね。

997 :656:03/02/16 16:30
■■無料レンタル掲示板■■

どんどんレンタルして下さい

ランキングありジャンルも豊富です


http://www.geocities.jp/kgy919/bbs.html






998 :仕様書無しさん:03/02/16 16:44
>>996
>>976 は論旨は正しいが、筋違いな話だ罠。

999 :仕様書無しさん:03/02/16 16:48
ぬるぽ論争に持ち込む工作員ハケーン

1000 :仕様書無しさん:03/02/16 16:48
1000番ゲットォォォォ!!この野郎!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

222 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)