この会社辞めようと思ったソースコード#15at PROG
この会社辞めようと思ったソースコード#15 - 暇つぶし2ch1:仕様書無しさん
06/12/26 16:18:46
この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
をつらつらと綴っていって頂戴。

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

前スレ
この会社辞めようと思ったソースコード#14
スレリンク(prog板)

2:仕様書無しさん
06/12/26 16:29:56
プログラマとして幻滅するプログラマ。

3:仕様書無しさん
06/12/26 16:53:28
こっちに流れ持ってきたら殺すぞ>該当者s

4:仕様書無しさん
06/12/26 16:59:16
だが断る

5:仕様書無しさん
06/12/26 16:59:46
そんなお前が大好きだ

6:仕様書無しさん
06/12/26 17:01:05
じゃあ関数によっては200行超えることも普通にありえるって事を
きっちり認めてくれw

7:仕様書無しさん
06/12/26 17:01:46
もうその話題はいいよ……

8:仕様書無しさん
06/12/26 17:05:29
質問には返答したからな。
それに対するコメントはもらってないが、別に終わりならそれでもいいよw

9:仕様書無しさん
06/12/26 17:09:56
>>1

誰か一人くらい1乙言ってやれよw

10:仕様書無しさん
06/12/26 17:11:11
遊んでないで仕事に戻れよ

11:仕様書無しさん
06/12/26 17:11:54
了解

12:仕様書無しさん
06/12/26 17:21:07
どうして誰も、数千行の話をしてるのに、
唐突に200行以内とか言い出してイチャモン付けだした
って部分に触れないんだろう。

13:仕様書無しさん
06/12/26 17:23:08
イチャモンでもなんでもないからじゃね?

14:仕様書無しさん
06/12/26 17:23:30
>>6
普通にはないが、有り得る。


これでいいか?

15:仕様書無しさん
06/12/26 17:29:13
200行オーバーかぁ。
まぁ、やるならそうするだけの割と強い理由がわかるようにして欲しい長さだな。
こんなの当たり前に存在する長さだ、それが俺の考える妥当性なんだ、の一点張りで
頑として譲らない奴と仕事するのは勘弁。

16:仕様書無しさん
06/12/26 17:39:36
どうでもいい

17:仕様書無しさん
06/12/26 17:44:09
>12
それがお前の読解力の限界かよw

>14
おk

18:仕様書無しさん
06/12/26 17:59:37
雑音先生がんばってんな

19:仕様書無しさん
06/12/26 18:08:55
なんだこの流れ
お前らもう休みかよ

20:仕様書無しさん
06/12/26 18:17:54
むしろ"休みが恋しいのに俺は…"的な哀しみの産物

21:仕様書無しさん
06/12/26 18:22:11
マ板だもの

22:仕様書無しさん
06/12/26 18:24:56
誰にでも出来るような単純処理しかコーディングできない能無しの集まりだから数千行の関数が存在することも否定したいんだろうね。
今まで数万行規模のシステムしか作ったことないんだろ?
それなら1関数200行に収まるだろうなあwwwww

23:仕様書無しさん
06/12/26 18:31:51
       _, ._   んもー
     ( ・ω・)    .  .
     ○={=}〇, ; .'´ `. ゙ ; `
      |:::::::::\,.'.;´,
wW wwし w`(.@)www ww Ww ww

24:仕様書無しさん
06/12/26 18:32:41
せんせー!
規模と細分化の話がどう関係あるんですか?

25:仕様書無しさん
06/12/26 18:34:26
Never ending function !

26:仕様書無しさん
06/12/26 18:34:31
>>24
比例すると思ってるらしいよ。

27:仕様書無しさん
06/12/26 18:47:34
>>12
921が書いたから。

しかしID出ないとマンドクセだな。
程度問題なのに読み間違えてるのが沸いていたようだし。

28:仕様書無しさん
06/12/26 18:48:22
サブルーチンがあるコード。

追っかけ辛い、やめてくれ。
ジャンプする必要があれば、goto 250とかで飛んでくれ。

29:仕様書無しさん
06/12/26 18:52:51
つーか
青年の主張がしたい香具師はせめてレス番でもいいからコテ付けろと言いたい。

30:仕様書無しさん
06/12/26 18:54:36
何一点台
闇鍋状態のほうが楽しいじゃないか

31:仕様書無しさん
06/12/26 18:56:11
>>22
存在することを否定しているんじゃなくて(むしろ「残念ながら存在する」という認識が下地)、
書くことを良しとしていない、という話だろう、どう見ても。

32:仕様書無しさん
06/12/26 18:57:49
良しとしないけど月数十万円でwww
数人月分の逃げた奴のwww
尻拭いやらされたらwww
当然の結果かとwwwww

33:仕様書無しさん
06/12/26 18:58:03
>31
それがごっちゃになってる奴ばっかりからおかしくなってたんだと思うが

34:仕様書無しさん
06/12/26 19:02:22
  ( ・ω・)  んもー
   ○={=}〇,
   |:::::::::\, ', ´
、、、、し 、、、(((.@)wwwwwwwwwwwwww

35:仕様書無しさん
06/12/26 19:02:53
GUIのコンポーネント初期化とかだと、どうしてもだらだらと続いて
200行超えちゃったりすると思う。

36:仕様書無しさん
06/12/26 19:06:03
初期価値を全てマクロ定義した上でプロパティに詰め直すとか馬鹿なことやってる割に
関数はエディタで1画面に収まるようにしましょうとかもうねwwwwwwwwwwwww

37:仕様書無しさん
06/12/26 19:13:20
    _, ._
  ( ・ω・)  ・・・
  ○={=}〇,
   |:::::::::\, ', ´
、、、、し 、、、(((.@)WWWWWWWWWWWWWWWWWWWWWWW


      _, ._
    ( ・ω・) ググッ
   ○={=}○)
   // く ))
、、、(@.)(_)、、、WWWWWWWWWWWWWWWWWWWWWWW


            ‘,  ,; :' ∴ ; ' .,  ,;   シュザザザ
           ’、 `∵ ' ’, , ', ´, '.,  ,;  
                                ―_, ._
        、\)\)\)\)\)\)\)\)\)\)\ ―_ω・)っ ,-、
、、、、、、、、、、、),,;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;; ; - ⌒lつ目ニ@)
       ゝ⌒ ``゛゛゛`゛゛```゛゛``゛゛`````゛゛````ーニ-_))   `ー'

38:仕様書無しさん
06/12/26 19:29:35
スレが変わり、煽り叩きが終息したとたんに擁護意見が出てくる不思議w
もっと早く出てこいお前らw

39:仕様書無しさん
06/12/26 20:33:24
ここ見て、VBプログラマが馬鹿ばっかりなのがよく分かった

40:仕様書無しさん
06/12/26 21:07:42
仕様不明なコードを移植しなきゃいけないとき、元コードに
// なんでこれでうまく動くのか良くわからない
なんてコメントがあった場合、皆どうしてる?

放置すると問題になりそうだし、かといって推測で直してやると
挙動が違うって怒られそうなんで、すげー困る。

41:仕様書無しさん
06/12/26 21:11:24
上司に判断をまかせる
責任は上司に押し付けるため

42:仕様書無しさん
06/12/26 22:13:44
おまえら1画面プログラムとかしたこと無いのか?


俺に言わせりゃ80文字×40行におさまんないプログラムはカス!!!!


もちろん#includeとか入れてだw

43:仕様書無しさん
06/12/26 22:24:35
40行も使うのかよ

44:仕様書無しさん
06/12/27 00:12:59
いつのまにやら、屁理屈を並べて
おかしな展開になってるなw

はっきりしているのは
数千行の関数が処理の論理的な
最小単位になる事はまずないという事と
普通のPGは行数が短い関数の方が良質のコードを書けるという事。

だから、なるべく関数を簡潔に書くという事は
異論を挟む余地はない事だ。

じゃあ、何行までなら問題ないのかという話だが
共通処理でないとしても、多少の手間で済む限り
論理的に分けれる処理は分けた方が楽だと思う。

だから、長い関数で書いた方がやりやすい人も
違う考えのPGも相当数いる事は考慮すべき。

まぁ、やれない事情もあるのかもしれないが…



45:仕様書無しさん
06/12/27 00:17:02
三行に縮めろ

46:仕様書無しさん
06/12/27 00:25:31
関数名と実際の処理内容にギャップを感じるような関数が
大量に羅列されている場合、意外としんどい。
リファクタリングする時に、これはどういう位置づけだっけと
やたら頭を使ってしまう。

そういう時は、長い関数のままにしておいてくれたほうが
かえって楽だ。俺が勝手に切り刻むから。

47:仕様書無しさん
06/12/27 00:28:29
おれも1000ステップ(空行が3割、コメントが3割、って考えれば300ちょいだが)のコードを書くよ。
基本ルールとして以下で作ってる。
・汎用共通関数   別のツールその他にも使いまわせるもの(あるディレクトリのファイルリスト取得など)
             多くて数100ステップ
・固有共通関数   そのツール内でのみ使いまわせる、あるいは独立機能としては成立している
             (そのツール固有のあるDB/ファイル情報検索関数など)
             多くて数100ステップ
・フロー部
  ・メインフロー いわずとしれたmainフロー
  ・サブフロー  mainフローから実際機能ブロックとして分けられるフローがあれば分ける
  フローについては、明確な機能分けが難しい、引き継ぐ必要のある引数の数が多すぎてあまり意味がない場合
  分割せずに数1000ステップにいたる場合もある

作るモノの性質によって機能分けや1関数のステップ数なんて変わってくると思うけど。

単純に同じような処理何十個もしなければいけないデータ移行ツールとか
(元データの項目1を新データの項目3に移動~似ているがループでは済ませられない処理×数100個)
とかだといちいちサブフロー作らずメインフローだけで済ませる。そうしたら数1000ステップいく。

まぁ、冗長だなぁ、とは認識しているが、それを無理に階層分けした方が後々の保守性が悪かったりした(体験談)。
だから未だにこのルール。



48:仕様書無しさん
06/12/27 00:36:13
>47
文章にも冗長さが滲み出てるな

49:仕様書無しさん
06/12/27 00:38:28
>>48
痛いところをつく。そのとおりだ・・・

50:仕様書無しさん
06/12/27 00:53:19
200行で収まる派は誰も無理に分割してなんかいないのに
200行を超える派はなぜ「無理に分割している」と決め付けるんだろう。

200行超えて挙動を完全に把握できるのはある意味
頭がいいんだろうけど無駄な労力だとしかいいようがない。

51:44
06/12/27 01:37:30
>>45
要するに、
お前の鼻息が臭い。


52:仕様書無しさん
06/12/27 03:20:58
なんで同じ機能の関数を10個も20個も作ってんの?

53:仕様書無しさん
06/12/27 03:39:35
>>52
ひとつの関数の中で、分岐毎に重複するコードをコピペッてる例は見たことがあるが、
同じ機能の関数を複数作っているいる例は見たこと無いな。
大体、そういう時にどんな名前をつけるんだろ?

54:仕様書無しさん
06/12/27 04:06:38
Javaでゲッターセッターで値を詰め替えるだけのメソッドつくったら200行超えてしまったときあって
(テーブル構造上、プロパティが多いので仕方なかった)、「Javaで200行なんてあり得ない!分割汁!」
と言われたことあったな。いやはっきり言ってそれムリ、意味無いよ!DB作った人に文句言ってくれ!

まあ適当に誤魔化してうやむやにしといたけど。

55:仕様書無しさん
06/12/27 04:15:11
リフレクション使ってよければ数行で書けるな

56:仕様書無しさん
06/12/27 07:14:11
>>54
コボラは横長DBがお好き
スレリンク(prog板)

57:仕様書無しさん
06/12/27 08:06:32
>>50
200行に納まる派というか、44みたいな決め付けをするアホが多いから、
それに異論を述べてるだけだとおもう
いろんなケースがあるという事も思いつかないほど想像力がない奴がいるのが原因では?
>54なんかいい例だ。単純処理で200行越える事だってあるのにね。

58:仕様書無しさん
06/12/27 09:11:00
>>50
別に分割する本人が無理にやってるわけじゃないだろうけど、無理な分割してるなぁと
他人から見て思うときはある。
もう少し大きい単位で分割したほうが論理的にまとまるのに、と。

正直、俺にとって分割する必要が無いと思えるとこで分割するほうが労力がかかる。
その辺はその人それぞれの最適なやり方でやってんだろうから、別に無駄はないよ。

59:仕様書無しさん
06/12/27 09:48:30
なんだ、まだ行数厨房残っていたのか
もう終わって普通の話題になっていると思ってきてみたら・・・

1関数200行は業界人の常識

とかいうスレでも立てて、そこでまったりやってくれや



60:仕様書無しさん
06/12/27 10:56:29
お前もまだ居たのか

61:仕様書無しさん
06/12/27 12:15:37
ちょw まだやってたのかw

62:仕様書無しさん
06/12/27 12:23:47
>>60
早合点しすぎだ。

つ >とかいうスレでも立てて(ry

63:仕様書無しさん
06/12/27 12:33:52
200行ってどこから出てきた数字なんだろう。

64:仕様書無しさん
06/12/27 12:44:45
ステップ数でバグ見積もりして、バグが少ないと文句言うような会社の規定なんだろ。

65:仕様書無しさん
06/12/27 12:54:30
>>57
具体的に、44のどの部分がアホな決めつけなの?
それ次第では、電波コードを許容してもらおうとしてる痛い人認定しちゃうけどw

66:仕様書無しさん
06/12/27 12:55:00
65=44

67:仕様書無しさん
06/12/27 13:01:23
予想通りすぎて苦笑い出た

68:仕様書無しさん
06/12/27 13:06:18
> 数千行の関数が処理の論理的な最小単位になる事はまずない
ここじゃね?
勝手に「まず」を取っ払っていきり立ってると見た。

69:仕様書無しさん
06/12/27 13:40:41
決め付けかどうかはともかく、>44の前半はちょっと因果関係が意味不明だな

70:仕様書無しさん
06/12/27 14:00:27
関数の行数そのものは問題ではなく、
1つの関数にあれやこれやと処理を詰め込んでいる場合が
問題。

54のような値の詰め替え処理であれば、200行だろうが
1000行だろうが、大して差は無いだろ?

71:仕様書無しさん
06/12/27 14:25:35
俺は処理単位毎に関数を分割する主義だが、最低限処理単位毎にコメントを入れてくれれば
1つの関数に複数の処理が入って数千行あってもいいと思っている。
コメントなしで数千行あったら、たいてい書いた本人以外は一目で理解できないので、リジェクト
してる。
修正指示は、大きく分けてコメントだけ追加してもらう場合と関数分割してもらう場合の2通りが
あるけど、ネストが深くて中が長い場合はたいてい関数分割だな。

ポイントは、流し読みして処理手順の概略が理解できるかどうか。

別に処理単位に分割することを押し付けるつもりは無いのだけど、数千行もあると本人も実は
処理フローをよく理解できていなくて、流れが汚くなっていたり、対になる処理が抜けていたり、
2つの処理が混じっていたりというのをちらほら見かけるので。

72:仕様書無しさん
06/12/27 14:33:32
>別に処理単位に分割することを押し付けるつもりは無いのだけど、数千行もあると本人も実は
>処理フローをよく理解できていなくて、流れが汚くなっていたり、対になる処理が抜けていたり、
>2つの処理が混じっていたりというのをちらほら見かけるので。

でもって、そういうコードはいつまでたってもバグが出続けるんだよなあ。

73:仕様書無しさん
06/12/27 15:02:03
メンテしやすけりゃ行数にはこだわらんよ
「長い」ってだけで拒否反応を示すのはどうかと思うね

74:仕様書無しさん
06/12/27 15:08:34
Lispプログラマはライン数ではなく括弧数で規模をカウントするというのは本当ですか?

75:仕様書無しさん
06/12/27 15:31:00
まともなプロダクトのコードで数千行の関数なんてないしな。
数千行の関数をコメントで機能単位に分けるなら素直に関数に分けましょう。


76:44
06/12/27 15:44:52

なんかまだ続いているようなので、ちょっと長いけど補足。

数千行の処理がまずないと言ったのは
構造体等のメンバ変数に代入するような単純な処理の場合でも
厳しい処理だと思うし、
(千近いメンバ変数に一個づつ代入してるコードを想像すると
かなり嫌な気持ちになる)
他の処理でもループ処理用のカウンタ変数とか
その他のローカル変数の命名等の事を考えるとやはり厳しい処理と思う。
(int i,j,k,l,m とか中括弧のネストとかも限度があると思うし)

そういった理由から、普通のPGは処理を分けるんじゃないかと思う。

関数を簡潔に分けたほうが楽とはそういう意味もある。
(細かい事を言えば他にもきりがないが)

数百行に特別なこだわりを持っている人がいるようだが
俺はそこは正直どうでもいいと思っている。

ただ、数千行の話が前スレで出てから
俺は長い関数を結構使うぜ派の中の鼻息荒い人達?
の言い分は屁理屈っぽくしか聞こえない。

もう一度言うが、関数を簡潔にしているほうが
普通のPGは読みやすいし、修正しやすいし、追加もしやすい。

要するに、書籍化されるような基本的な事だという事だ。


77:仕様書無しさん
06/12/27 16:17:21
プラモデルを、完全にバラバラのパーツにすれば、そりゃ一つ一つのパーツの
修正・加工は簡単だ。

でも、パーツが小さければ簡潔、でかければ複雑ってこともないだろ?
大きいパーツだって、簡潔な構造な場合だってある。
さらに、パーツによっては2つだけ組み合わせておいたほうが認識も修正・加工も
楽な場合だってある。

逆に、ロボットのプラモの場合、大概は指のパーツは間接ごとにバラバラになってたり
しないでしょ?そういう感じで、バラさない方がいいケースも当然あると思うんだ。


78:仕様書無しさん
06/12/27 16:39:03
>>76
>俺は長い関数を結構使うぜ派の中の鼻息荒い人達?
>の言い分は屁理屈っぽくしか聞こえない。

あんたの長い処理の否定も、随分と狭い視野でのもので
説得力はあまり無いと思うけどな

つかね、長い処理の否定派は数千行とかのを対象に、
長い処理の肯定派は数百行ってのを対象にしゃべってるから
大分すれ違ってる気がするよ

79:仕様書無しさん
06/12/27 17:03:26
関係ないけど、どうでもいいけど、三●ってコメントまでステップ数に含むから
コメントは極力10文字程度の改行にして、ステップ数を稼ぐテクニックが
社員内で当たり前のようになっていたっけな。●洋。

80:仕様書無しさん
06/12/27 17:06:10
そんな高尚なレベルで悩めるおまいらが羨ましい。


俺が今みてる、去年辞めてったバカの残したソースなんか

sprintf( cStr, "%4d", iData );
iLen = strlen(cStr);
Switch (iLen){
 case 4: strcat( "00", cStr );
 case 3: strcat( "000", cStr );
 case 2: strcat( "0000", cStr );
 case 1: strcat( "00000", cStr );
}


頃ス。

81:仕様書無しさん
06/12/27 17:20:10
>>80
ステップ数を稼ぐテクニックかと思った

82:仕様書無しさん
06/12/27 17:30:45
>>80
Switchだわ、breakねぇわ、どこかわらんところにstrcat。
何これ?

83:仕様書無しさん
06/12/27 17:38:04
ゼロフィルにprintfフォーマット自体の機能を使わず自力実装という
コードなんだろうが、breakないわstrcatの引数が謎だわ。

まぁ細かいことは言うまい。

84:仕様書無しさん
06/12/27 17:39:26
ゼロパディングが正しいようだ。
ゼロフィルはみんな大好きなmemsetのアレか。


85:仕様書無しさん
06/12/27 17:52:55
>>80
%04d・・・(つд`)

86:80
06/12/27 18:21:46
すまん、本当はVBのソースなんだorz
でも解りづらいかと思って俺がCに翻訳したんだが、抜けがあった。スマソ

やってる内容は>80のとおりです。ええ。

87:仕様書無しさん
06/12/27 18:22:25
>71
ものには限度があるしな。ある程度以上は規模がデカイということそのものが
複雑度を上げ品質を落とす。

>別に処理単位に分割することを押し付けるつもりは無いのだけど、数千行もあると本人も実は
>処理フローをよく理解できていなくて、流れが汚くなっていたり、対になる処理が抜けていたり、
>2つの処理が混じっていたりというのをちらほら見かけるので。

一つの関数が数千行なら、機械生成でもなけりゃまず例外なく品質も悪けりゃ効率も悪い、
おまけに保守性もダメダメなDQNコードだね。


88:仕様書無しさん
06/12/27 18:49:48
>>87
そういうコードをDQNに保守させると、それはそれは素敵なコードが一丁上がり。
こうして誰も保守できないアンタッチャブルなコードが増えていく…。(w

89:仕様書無しさん
06/12/27 18:54:20
>>88
コラボレーションの妙だな

90:仕様書無しさん
06/12/27 19:01:37

/*

  何回同じバグ出してんだ!
\手抜きしてんじゃねぇよカス!! /
   ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                      _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   ̄7/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /

*/

91:仕様書無しさん
06/12/27 22:44:42
>>77
パーツがちゃんとしたパーツになっていれば、
誰も文句を言わんよ。

そのパーツがひん曲がっていたり、
バリだらけだったり、
それどころかスケールさえ
違っていたりするから(ry


92:仕様書無しさん
06/12/27 22:54:23
>>71
>処理フローをよく理解できていなくて

「処理フローの理解が必要だ」と考えるのはド素人、と言ってみる。


93:仕様書無しさん
06/12/27 22:54:31
パンツがどうしたって?

94:仕様書無しさん
06/12/27 22:56:47
木枯らしが・・・

95:仕様書無しさん
06/12/27 23:38:34
いまどきのIDEやヒデマルが折りたたみ搭載してるのは
関数わけの手間を省くためじゃねーぞ。

96:仕様書無しさん
06/12/28 00:13:12
>87>91
せっかく落ち着いても、乗り遅れのバカがまたこういったアホな決め付けで煽って
また繰り返すわけだな。

97:仕様書無しさん
06/12/28 00:22:52
>>80=86が、C言語を理解していないことは、よくわかった

98:仕様書無しさん
06/12/28 01:27:40
まあ、VB屋さんなんてそんなもんだ

99:仕様書無しさん
06/12/28 07:20:09
厨、冬休みだからなぁ。

100:仕様書無しさん
06/12/28 07:35:42
>96
アホな厨房が自覚もなしに「アホな決め付け」と煽るのが
冬休みの特徴だな。


101:仕様書無しさん
06/12/28 10:06:43
>>100
決め付ける事そのものが莫迦な行為だと思わない?
思わないならいい。

102:仕様書無しさん
06/12/28 11:05:36
>101
馬鹿だという意見に同意だが、一連の流れの中で決め付けやってるのは
数千行の関数なんてまずないって意見に対して「アホな決め付け」と
決め付けてる人達だけだと思われ。
ただ、当人達に自覚があるのかどうかは知らん。


103:仕様書無しさん
06/12/28 16:04:40
char aznable;
というのがスコープ毎にほぼ必ずある…
場所によって文字だったり、ループカウンタだったりフラグだったりして訳分からん
ガノタ死ね

104:仕様書無しさん
06/12/29 00:57:32
関数の規模・複雑さを単純に行数で測るのは間違っている。
だって多重ネストしている(if/for等の)ブロックが山脈のように連なるコードと、
単純にcase文+1行処理が並んでるだけのコードを、行数をものさしにして
比べるのは変だ。
もっと適切な尺度を考えるべきじゃないのか?
例えば「インデントレベルの変動量の和」とかさ。

105:仕様書無しさん
06/12/29 01:27:21
ルールに従って複雑に分岐するような処理(マネージャとかイベントループに似た処理)
だと数千行なんてざらだな。そんな経験も無いのか否定してる連中は。

106:仕様書無しさん
06/12/29 04:20:27
んな糞な設計したこと無いなあ
まあ、俺がCOBOLの仕事したことないからかもしれんが

107:仕様書無しさん
06/12/29 06:31:32
>>105
条件が複雑だとして、何故、ひとつの関数の長さが伸びる理由になるのですか?


108:仕様書無しさん
06/12/29 08:54:01
>>105

また、数千行関数の常用者がパワーアップして
復活してきましたなw

お前もプラモデルの話でも延々としてろw



109:仕様書無しさん
06/12/29 09:27:12
論理的な話の展開が出来ない奴はPGもできないよキミ達www

110:仕様書無しさん
06/12/29 09:59:09
>>109
論理的と屁理屈は違うだろ?

プラモデルの話が論理的とかって話か?

プラモデルとか建築の話を引き合いに出す人がいるが
あくまでも例え話なのに
プログラム自体と混同するようなら
それは馬鹿の極みだから。
数千行の関数を使う話を
無理にプラモデルの話に例えるなら
プラモデルのパーツに間違えて
実物大の大きさのパーツを付けちゃったけど
付いたし問題なさそうだから別にいいよね。
ってかんじ。

建築の例え話の方がもっと強烈な話ができるけど、
きりがないのでやめておく。



111:仕様書無しさん
06/12/29 10:21:11
>104
> 関数の規模・複雑さを単純に行数で測るのは間違っている。

いくら単純な作業でも限度を超えると破綻する。
数千行ってのはそういうレベルだ。


112:仕様書無しさん
06/12/29 10:41:27
行数の方が通じやすいが、なんなら変数の個数や寿命でもいいかもな。
一度に扱う変数が10個を超えたらもう駄目。
変数の寿命が50行超えたら氏ね。
オレ様の老いた頭では把握しきれん。

113:仕様書無しさん
06/12/29 11:06:05
つ カプセル化

114:仕様書無しさん
06/12/29 11:08:10
屁理屈ってのは大抵の場合一理あったりするがな

115:仕様書無しさん
06/12/29 11:25:10
一理しか無いから屁理屈なんだろ

116:仕様書無しさん
06/12/29 11:29:25
冬休みだな、学生が沸いてて話にならん。

117:仕様書無しさん
06/12/29 13:07:52
たまに数千行の関数書く奴がいるが、その心理が垣間見えるな

118:仕様書無しさん
06/12/29 13:25:39
日本で優れたシステムが開発されない理由が良く判る展開だな
まともに自力でロジック考えたこと無いだろ?

119:仕様書無しさん
06/12/29 13:48:35
馬鹿が自力でロジック考えるから数千行に膨らむんだろw

120:仕様書無しさん
06/12/29 13:55:22
アルゴリズム参考書の丸写しで済む馬鹿なシステム開発は楽でいいですねえ。
猿真似では新しい問題は解決できませんよ。
あ、だからバグだらけなのか~。

121:仕様書無しさん
06/12/29 14:16:05
>>115
その一理がイタイとこ突いてくるから
見ないふりするんだよね

122:仕様書無しさん
06/12/29 14:23:04
何でも他人のコピペ改変で済ませようとするから仕様通りに作れないし
バグが出ても原因究明できなくて潰せないんだよな。
ちょっと長くなると自分でももう理解できないとか、そんなPGいらない。

123:仕様書無しさん
06/12/29 15:20:06
>>120
また、妄想が激しくなってきたなw
ひょっとして病気持ちの人?

お前の病気に付き合うとしてもだ。
仮に、お前が書籍に載せたくなるような新しくて難しい問題を
自慢の数千行の関数で解決したとしよう。

それでも、お前の関数は絶対に書籍には使われない。
なぜなら、お前の関数よりも
短くて、速くて、汎用的で、読みやすくて
その他にもほとんど全ての面で優れた
普通の関数をお前より優れた開発者が書いて
それが書籍には使われるから。

実際に数千行の関数が使われている本は
みた事ないし、あっても読みたくない。

もちろん、お前が改良できれば、
お前の関数が使われるかもしれない。

わかるだろ?
お前の関数は今のままでは
よそ様にみせれる様な関数ではないという事。

ちなみに、俺の周りの優秀な人で
お前の様な人はいない。



124:仕様書無しさん
06/12/29 15:41:30
120=122か?

引っ込みがつかなくなって
違う話に誘導しようとしてるのか
病気持ちの人なのかを
まず、はっきりさせろ。

支離滅裂で、論理もおかしくなってきてるぞ。

普段から指摘されてるなら素直に直せ。
考えてるよりもずっと
迷惑だからw



125:仕様書無しさん
06/12/29 15:49:24
大多数の良識的PGは、数千行のmain()はどうかと顔をしかめる。

126:仕様書無しさん
06/12/29 15:56:19
この板に変なヤシが居ついたな。

早く、冬休みおわらないかな。

127:仕様書無しさん
06/12/29 16:09:58
>125
特に良識派との認識がなくても、自分がメンテしろといわれたら、数千行の関数なんて
呪われたものを書いたDQNに対して、なにか効果的な呪詛はないかと考える。


128:仕様書無しさん
06/12/29 16:29:32
おかしな話を次スレにまで持ち越して
懸命に言い張る労力を
関数を短くする労力にまわせないもんかね…

数千行の関数を量産って…
新手の呪いですかと。



129:仕様書無しさん
06/12/29 17:10:24
関数を無駄に長くする技術と、話題を無駄に引っ張る技術に
相関関係はありますか?

130:仕様書無しさん
06/12/29 17:15:34
たしかにおれは関数も会話も長い。
思考を表現する部分に問題があるのかな?

131:仕様書無しさん
06/12/29 17:47:37
>>130
誰もお前の事なんかに興味ねーよ。
この、自意識過剰ヤロウ。


飽きたから、どっかよそのスレに寄生してくれ。

132:仕様書無しさん
06/12/29 20:15:57
数千行単位の大きさの関数といえば、昔知り合いがノートにいろいろ書いていたなー。
「何それ」って訊いたら「100桁の整数同士を掛け算する関数」って言ってきた。
文字列の中にやたらと「mov」だの「mul」だの「adc」だのが出てきた気がするが、アレは何言語だ?

133:仕様書無しさん
06/12/29 20:16:22
>>123
お前の話は無駄に長い。
難問を解決するなら話は別だが、そういう数千行の関数なら確かに御免だ罠w

134:仕様書無しさん
06/12/29 20:17:27
>>132
アセンブラじゃね?

135:仕様書無しさん
06/12/29 20:23:58

ほんとにウザイな。


136:仕様書無しさん
06/12/29 20:26:19
>>135
とりあえず安価つけれ。

137:仕様書無しさん
06/12/29 20:32:08
>>1-137

138:仕様書無しさん
06/12/29 20:33:11
>>136
いやいや、安価付けるのは関数が短いだの
長いだのいってる>>123>>120だろ。


冬休みデビューのお前は知らないだろうが、このスレには
元々おまえらみたいなヤシはいなかったんだよ。

139:仕様書無しさん
06/12/29 20:49:49
>>138捏造はするなよw
>>120は短いとも長いとも言ってないと思うが。
それとも痛いところ付かれて話題を逸らしたいクチか?

140:136
06/12/29 21:06:31
>>138
確かに僕は「2年前の」冬休みにデビューですが。<<2ch
「元々」とはいつからか、「おまえらみたいな」とはどういう意味か、場所はどこか、とから説明して欲しいですね。
説明が足りなすぎるので(プ

141:仕様書無しさん
06/12/29 21:06:48
処理ごとにクラスファイル作って呼び出せばいいんじゃね?
それがオブジェクト思考というものでは?

142:仕様書無しさん
06/12/29 21:15:26
>>141
とりあえず、フリーの某高級言語でプログラム作って、機械語単位でブーストしています。
元が悪いとスピードが3倍とかになったりするから鬱になる。

で、クラスファイルって何?

143:仕様書無しさん
06/12/29 21:25:04
>>104
識別子の種類数

144:仕様書無しさん
06/12/29 21:27:10
Javaプログラマで==とequals()の違いがわからない奴が
多くて困ってる。

==だとアドレス比較と同じだから、値比較したければ
equals()使えって言っても「アドレスって何ですか」という
顔されちまう。

Javaしか知らない奴に基礎を学ばせるにはどうしたらいい?

145:仕様書無しさん
06/12/29 21:29:11
スレ違い

146:仕様書無しさん
06/12/29 21:32:28
>>144
それはjava知ってるとは言えない奴だろが。
素人に基礎教えるっつ当たり前の話になっとる。

147:仕様書無しさん
06/12/29 21:34:07
>>139の>が全角な件

っていうか、なんでそんなに必死なのw
ネット上だから、ある意味おもしろいけどw

お前らほんと…
みっともないよw



148:仕様書無しさん
06/12/29 21:42:35
>>144
原因:アセンブリとCを配列が扱える程度までやらせて、下の文章を見せる。

--以下某書籍より引用--

COLUMN-4 p[i]って配列?

出来の良くないC言語の教科書では、p[i]はpという配列のi番目の要素であるとか、なんかそん
なことが書いてあると思います。それは間違ってはいないかもしれませんが、結局ただのごまか
しです。読者がアセンブラを理解していない場合は、そうやってごまかして説明するのが一番ラ
クなのです。

p[i]というのは*(p+i)と完全に々意味で、長く書くのがめんどうな場合や、見た目の都合の
ために使うものです。この例の場合は、「*(p+i)」と書くと6文字ですが、「p[i]」なら4文字なので
す。それだけのことなので、好きなほうを使えばいいのです。ポインタを使いつつ「配列っぽく
みせつらめ」の、省略表記でしかありません。

逆にp[0]と書く代わりに*pと書いても同じなのですから、こっちのほうが2文字減るわけです。
まあ状況に合わせて好きなほうを使えばいいだけです。

書き方を変えたら、ポインタが配列になったとか、そんなことじゃないです。変な教科書にだま
されないでください。コンパイルの結果で生成される機械語も、完全に同じになります。意味の
変化がなく、単に書き方の違いでしかないという何よりの証拠です。

--次レスに続く--

149:仕様書無しさん
06/12/29 21:43:26

余談ですが、足し算は足す順序を変えてもいいので、*(p+i)を*(i+p)と書き換えることができ
ます。だからp[i]をi[p]と書くこともできます。(うそだあ、と思うかもしれませんが、もちろん
エラーにならないし、ちゃんと動きますよ)。a[2]を2[a]と書いてもいいのです。(これももちろ
ん本当ですよ)。これが、2という配列のa番目の要素と言えるでしょうか?ぜんぜん言えません。
だから、やっぱりp[i]やi[p]はただの省略表現であって、本質的には配列とは関係ないのです。

--引用終了--

結果:知的好奇心追及の旅に出発し、プロ並に基礎が固まる。

150:仕様書無しさん
06/12/29 21:44:11
>>148
そんな怪しい本読ませるなよ。。。

151:仕様書無しさん
06/12/29 21:45:58
>>144
そいつは無理だ。
「Javaしか知らない奴が多い」という事実は
言語仕様だけ教えればプログラミングは可能だという
承服し難い前提を是とする判断が背景にあるんだよ。
簡単に言えば「彼らは悪い研修/教育を受けた」としか。
その種の人間に「JVMはいったい何を行なっているのか」を完全に理解させるには
多大な工数がかかる。
上で書いた誤った判断をするような組織がその種の教育のための工数を認めるとは思えない。
証明終わり(笑)

対症療法:理解させずにequalsを使えと強制する。理解したがる奴には理解に至る書籍を紹介する。

152:仕様書無しさん
06/12/29 21:48:07
数千行関数の常用者が必死に反論している間に
すっかり訳のわからないスレになったなw

まぁ、数千行の関数がどんな処理だったとしても
このスレの対象なのは絶対に変わらないけどなw



153:仕様書無しさん
06/12/29 21:48:42
また湧いてきたww

154:仕様書無しさん
06/12/29 21:51:09
>>150
つ「OS自作入門」p82

155:仕様書無しさん
06/12/29 21:53:53
自分の無能を晒されたくない人間が必死なんだろ、スルースルーw

156:仕様書無しさん
06/12/29 21:54:13
>>154
サンキュー。
その本には気をつける。

157:仕様書無しさん
06/12/29 21:56:55
>>149
>だからp[i]をi[p]と書くこともできます。
マジで?
知らんかった

逝ってきます

158:仕様書無しさん
06/12/29 21:57:29
>a[2]を2[a]と書いてもいいのです。

糞ワロスwww

159:仕様書無しさん
06/12/29 21:58:43
>>155
頑張って、このスレで、
「数千行のサブルーチンでもヘタじゃない」ってことにしたとしても、
世間的には、なにがどう変わるってわけじゃないのになぁ。

160:仕様書無しさん
06/12/29 21:59:05
ちなみに、ポインタと配列が
全く同じなわけではないよ。

正確には、アセンブラで同じ扱い方も
できるというだけ。

スレ違いなのでこれ以上は控えるけど。



161:仕様書無しさん
06/12/29 21:59:45
>a[2]を2[a]と書いてもいいのです。
言語仕様上許されててもそんなの書いちゃまずいと思う・・あ、スレタイどおりか!

162:仕様書無しさん
06/12/29 22:00:01
>>157
ch = "0123456789ABCDEF"[i];
とかって書き方もできる。

163:162
06/12/29 22:01:34
ぎゃくだった。
ch = i["0123456789ABCDEF"]; 
こうだな。

164:仕様書無しさん
06/12/29 22:02:01
書くだけで上から怒られそうなすさまじいコードになります。

for(i=0;i<100;i++){
a+=i[p];
}

165:仕様書無しさん
06/12/29 22:05:24
>>159
サブルーチンじゃなくて判定処理のメイン部分とかな。
構文解析とかGUI選択⇒SQL文自動生成とか作ってみろよ、無理かw

166:仕様書無しさん
06/12/29 22:10:31
おすすめ2ちゃんねるが馬鹿すぎて糞ワラタwww
頑張って全ての処理を200行に抑えてくれ。

167:152
06/12/29 22:12:28
>>153
もし俺の事を指しているなら
俺もこの展開には驚いたw

こんなにも、ものわかりの悪い開発者がいるんだなとw



168:157
06/12/29 22:12:35
>>163
>>164
うほ、なんかワクワクしてきた
すげーやってみたい

でも書いて3日後には自分でも読めなくなってる気が

169:仕様書無しさん
06/12/29 22:13:27
>>165
言語を特定しないで話をするときは処理の単位を「サブルーチン」と言っていますが。

170:仕様書無しさん
06/12/29 22:20:08
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧    <  フー 自作自演も疲れるぜ
 (゚Д゚Λ)_Λ    \____________
 ( ̄⊃・∀・))
 | | ̄| ̄
 (__)_)

171:仕様書無しさん
06/12/29 22:21:34
>>165
> 構文解析とかGUI選択⇒SQL文自動生成とか作ってみろよ、無理かw 

相手を煽るのに精一杯背伸びして、このレベル。

172:仕様書無しさん
06/12/29 22:23:43
>>171
はいはい、頑張って煽ってくださいね無能ちゃん♪

173:仕様書無しさん
06/12/29 22:31:51
>>165
別に数千行もいかないと思うけど。
プログラム書くの下手なだけだろ。

>>166
お前ら同じ会社なら、
もう会社名晒しちゃえよ。
賛同する人が多ければ
ビジネスチャンスがあるかもよw
難しい事をしてるんだろw



174:仕様書無しさん
06/12/29 22:35:46
っていうか200行って、どこから出てきた数字?
前スレまで、さかのぼっても唐突にでてきてるけど。

175:仕様書無しさん
06/12/29 22:42:04
>お前ら同じ会社なら、
>もう会社名晒しちゃえよ。

無理だな、ここの連中が応募してきたら俺が怒られるってw

176:仕様書無しさん
06/12/29 22:46:48
>>175
数千行のルーチンをメンテしたいってやつは、そうそういないから安心しろ。

177:仕様書無しさん
06/12/29 22:49:52
出来ない奴を教育しなきゃならんから困るんだろうよ。
ITドカタをいっぱしに仕上げるのは骨が折れるわい。

178:仕様書無しさん
06/12/29 22:53:44
数千行のルーチンをメンテするなんてドカタ系じゃないとやってられないだろ。

179:仕様書無しさん
06/12/29 22:56:44
>>165
> 構文解析とかGUI選択⇒SQL文自動生成とか作ってみろよ、無理かw

lex/yaccを使ってもいいカニ?

180:仕様書無しさん
06/12/29 23:07:40
>>179
ソースでも吐かせるのカニ?
アプリに組込めるならいいんじゃなイカ?

181:仕様書無しさん
06/12/29 23:10:56
>>174
っていうか、そもそも話がいつも支離滅裂じゃない?
プログラム云々よりも普段の仕事の仕方も
支離滅裂な印象を受ける。
この感じだと、会話してても屁理屈を連発しそうだしな。



182:仕様書無しさん
06/12/29 23:19:31
>>180
yaccとか知らないで「構文解析作ってみろよ」とか煽ってたのか。。。

183:仕様書無しさん
06/12/29 23:24:14
まさか、今さら
固定データを大量に関数内に記述した結果の事だw
とか、プリコンパイル後の関数の事だw
とか、吐かせたアセンブラコードの事だw
とかっていう類のギャグはなしだぞw



184:仕様書無しさん
06/12/29 23:40:15
200行ってのは、前スレで「普通にやってりゃ200行以上の関数なんて作るの無理」みたいな
書き込みがあったのが最初。

それに対してんなわけねーだろ、って突っ込んだ話が、なぜか数千行関数の話とごっちゃになって
見事にクソスレ化w

185:仕様書無しさん
06/12/30 00:03:48
>>184
いやいや、数百行の話はどこから発生したかが
微妙なところではある。

けど、数千行の関数を当たり前に常用している人達が
何度か痛い妄想や馬鹿説を展開させていたのは
まぎれもない事実だろ。



186:仕様書無しさん
06/12/30 00:08:10
冬休みって面白いなオマエラ

187:仕様書無しさん
06/12/30 00:09:52
>>182
ツールとロジックは別物だ禿げw

188:184
06/12/30 00:18:13
>186
俺は>174に答えただけだよ。
数百行の発生は微妙とか、突然何言ってんの?


189:仕様書無しさん
06/12/30 00:20:49
>>187
また支離滅裂系の人か。。。
元発言を見てみろよ。

190:185
06/12/30 00:47:57
>>184
前スレを読んで
俺は揚げ足とりに感じたから微妙と言ってんだよ。
以前から何度か話の発端を指摘されてるのは
そういう意味もあるからだろ。

ってか、お前書き込みを理解できてる?
それとも、数千行関数ユーザー本人?

まず、冷静っぽく書き込みながら
レス相手を間違えんなよw



191:仕様書無しさん
06/12/30 00:53:41
>157
> >だからp[i]をi[p]と書くこともできます。
> マジで?
> 知らんかった
>
> 逝ってきます

あんなハッタリ真に受けるなよ…。
同じになる場合もあるってだけだよ。
たとえばpが構造体だったりしたらどうなるか、ちっと考えてみれば
どうなるか判るだろ。


192:仕様書無しさん
06/12/30 01:18:28
>>191
構造体だと両方コンパイルエラーで同じジャン。
# >>148でC言語と書いてあるからな。

193:仕様書無しさん
06/12/30 01:22:39
>>190
揚げ足とり?それは何を指してるの?
いや、真面目にあんたが何に引っかかってんのかまるで理解できない。

質問は200行という数字がどこで出てきたか、だよ?
そういうレスがあったんだよ、と答えただけなんだが。

会話がまるでかみ合ってないような気がするが・・・

194:仕様書無しさん
06/12/30 01:34:54
バカは内容が無かったりまるで見当外れだったりする事をもっともらしく話すのが得意だな

195:仕様書無しさん
06/12/30 01:53:23
>>184
書き込みを抜粋している上に、
求められた事以外に話が追加されている件



196:仕様書無しさん
06/12/30 02:06:52
構造体がまったく使われてないプログラム。
意地でも多次元配列使ってるの。

197:仕様書無しさん
06/12/30 02:32:15
>>196
"The real programmer"か!


198:仕様書無しさん
06/12/30 02:40:03
u16 aaa[4][4][21]
とか書いてあって、なんもコメントがないの。
こんなのばっか。わかるかこんなもん。

199:仕様書無しさん
06/12/30 06:57:03
年末年始に向けて実に良い燃料だった。
感無量である。

200:仕様書無しさん
06/12/30 11:35:11
>>198
u16ってunsigned intの事じゃね?
コメント残さないのも悪いが。

201:仕様書無しさん
06/12/30 11:37:08
変数名がおかしいからコメントつけろってのもちょっと違うと思うが。

202:仕様書無しさん
06/12/30 11:48:00
32ビットますぃーんでは通用しねぇな

203:仕様書無しさん
06/12/30 17:45:18
>>192
> 構造体だと両方コンパイルエラーで同じジャン。

struct foo p[10];
int i;

でp[i]はありだが、i[p]はダメポ。
まさか、
struct foo p[10];
struct bar i;
でp[i]みたいなアホなこと考えてたわけじゃなかろう?


204:仕様書無しさん
06/12/30 18:33:59
i[p]はイケると思うんだが
仕様変わったのか?

205:仕様書無しさん
06/12/30 18:58:09
JIS X3010がC99以降に改定された様子は無いが。
ISOはただで見られないようだから知らん。

206:192
06/12/30 19:47:01
>>203
意味分からん。その例だとi[p]でもコンパイル通る(C89,C99,C++)。

人のにケチつける前に、せめてコンパイルくらい試してくれ。
もしくは規格書ぐらい一度くらい読むのを薦める。

207:仕様書無しさん
06/12/30 21:27:53
エラーレベルでコンパイル通るかどうかなんてコロコロ変わる
ところでCってこんな感じだっけ?
main()
{
include studio.h
aaa char [10];
input aaa;
printf (aaa,'%s');
}


208:仕様書無しさん
06/12/30 21:29:39
ツッコミどころが色々あるんだが、マジレスしたほうがいいんだろうか。

209:仕様書無しさん
06/12/30 21:35:23
printf ('マジレスたのむ');

210:仕様書無しさん
06/12/30 21:35:51
まぁキーワードはあってるから、こんなもんじゃない?

211:仕様書無しさん
06/12/30 21:41:38
>>208
多分ネタだからやめとけ。

212:仕様書無しさん
06/12/30 21:41:43
printf('さすが俺っ!10年以上前のキーワード未だに覚えてるっ!');

213:仕様書無しさん
06/12/30 21:57:50
エラーメッセージを上から1行ずつ潰していけば動くんじゃね?

214:仕様書無しさん
06/12/30 22:11:47
みなさん乙です

215:仕様書無しさん
06/12/30 23:11:53
include だけは致命的だな
他はコンパイラが苦情出したとこ対応すれば動きそうだが

216:仕様書無しさん
06/12/31 00:05:47
>>207
ネタにマジレスだと思ってやっているので正確性は問わないで欲しい

include <studio.h>
char aaa[10];
main()
{
input aaa;
printf ('%s',aaa);
}

217:仕様書無しさん
06/12/31 00:07:11
>>216
ずっと気になってたんだが、"でなく'なのは2chの仕様なのか?
'1文字'
"文字列"


218:216
06/12/31 00:07:19
途中で送信押しちまった罠。

#include <studio.h>
char aaa[10];
void main()
{
input aaa;
printf ('%s',aaa);
return;
}

219:216
06/12/31 00:08:05
まず「正確性は」あたりを読んで欲しかった。

220:仕様書無しさん
06/12/31 00:09:45
どうみてもネタにネタレスです。
本当にありがとうございました

221:仕様書無しさん
06/12/31 00:10:04
だってコードさらしてた人みんななんだもん・・・
inputって++だっけ?それにしても間違いなくC/C++構文としてちょっとおかしくまいか?

222:仕様書無しさん
06/12/31 00:21:08
ツマンネ

223:仕様書無しさん
06/12/31 01:08:07
あーもう。最っ低にツマンネマジレスでこの話題を終わらせてくれる
#include <stdio.h>
int main(void)
{
char aaa[10] = {0};
fgets(aaa, 9, stdin);
printf("%s\n",aaa);
return 0;
}


224:仕様書無しさん
06/12/31 01:18:50
よしじゃあ俺もマジレスするか。

>char aaa[10] = {0};
全要素を初期化する理由が不明。
char aaa[10];aaa[0]='\0';のように1要素の初期化で十分。

>fgets(aaa, 9, stdin); 
配列の要素数が10なのに9とする理由が不明。
10で十分(さらに言えばsizeof(aaa)で十分)

225:仕様書無しさん
06/12/31 01:51:04
そういや頭の悪いゴミが自慢げに【sizeof(~)】は【sizeof ~】って書けよ。
とか言ってたな。
あいつは本当に頭が悪い上に、使えねえゴミだった。


226:仕様書無しさん
06/12/31 02:25:24
>>224
冬だねえ...

227:仕様書無しさん
06/12/31 02:42:26
つ[スルー力]

228:仕様書無しさん
06/12/31 02:46:56
>>224
つまらんネタ書くな


229:仕様書無しさん
06/12/31 08:22:44
ポインタは型情報があって単なるアドレスじゃないっていう
のを忘れてる人がいて、「構造体ポインタとメンバー名は可換じゃ
ねーよ馬鹿」と言ってるあわてんぼうさんがいるだけ。
配列名とインデックスはいつでも可換。


230:仕様書無しさん
06/12/31 15:39:04
マジレス

犯人はヤス

231:仕様書無しさん
06/12/31 22:50:16
>>230
テラナツカシスwwwwwww

232:sage
07/01/02 14:55:40
安なら許す

233:仕様書無しさん
07/01/02 15:25:34
犯人は森三中○

234:仕様書無しさん
07/01/02 16:45:38
printf("ボス、虫眼鏡で太陽を覗いちゃダメですよ");

235:仕様書無しさん
07/01/02 17:35:39
for(int i=0; i<2; ++i) {
  なにかとれ
  ふく
}

236:仕様書無しさん
07/01/03 08:21:54
ある上司(俺の教育担当)のコード内いたるところに
//入れるとなんとか動作する。原因不明。動けばおk


237:仕様書無しさん
07/01/03 09:34:05
>>236
動いているのか?

238:仕様書無しさん
07/01/03 12:28:02
>>236は昔の俺のコードのようだ。
配列の確保がおかしかったりするとありがちなバグだな。

239:仕様書無しさん
07/01/03 15:35:43
// ※リリースモードでは異常動作する可能性がある為、デバッグモードでリリースしてください

っていうかちゃんと不具合原因追えよ・・・デバッグモード遅いし

240:仕様書無しさん
07/01/03 22:41:22
メンテだと、どう見ても動かない糞コードなのに実際には通らないからバグではないというのもあるよな。
放っておけばいいのだけど、追って確かめないと気になって寝られない損な性分…。メンテはしたくねえよ。

241:仕様書無しさん
07/01/04 00:39:17
ってか、C言語でも1関数200stpって長くね?
Tandem系のSQL組み込みのCとか、ProCとかで、カーソル扱うような場合でも
ちょっと工夫すれば100行切るし、それ以外でも1処理1関数だと、
普通で40ぐらい、長くても100はいかないぞ。

200stpをやたら声高に叫ぶ香具師は無能じゃねえのか?

242:仕様書無しさん
07/01/04 00:46:27
>>  241
また蒸し返す気か、この荒らし厨が
sageないのが荒らしの証拠たん

243:仕様書無しさん
07/01/04 01:22:02
新篠 祥子 タン?


244:仕様書無しさん
07/01/04 01:23:50
>>241
stpて…
英語出来ない奴がごまかしでよくやるんだよな、不思議な一文字だけの省略。

245:仕様書無しさん
07/01/04 01:36:12
分かった!ニダーの自作自演だ!

246:仕様書無しさん
07/01/04 01:36:31
>>244
ヒント:母音

247:仕様書無しさん
07/01/04 01:43:45
stop?

248:仕様書無しさん
07/01/04 01:52:45
stipe?

249:仕様書無しさん
07/01/04 03:18:12
suitaiopai

250:仕様書無しさん
07/01/04 04:57:20
>>246
つまり導き出される結論は…TDNスレ住人…

251:仕様書無しさん
07/01/04 11:22:53
TADANOスレ住人?

まいいか。このネタでひっぱるのも

252:仕様書無しさん
07/01/04 13:46:21
>244
> stpて…

オイルの粘度の話じゃね?
それなら200は確かに硬すぎだ。つか、あるのかな。


253:仕様書無しさん
07/01/04 13:54:48
ステッペンウルフ

254:仕様書無しさん
07/01/04 21:04:41
ゲンハ

255:仕様書無しさん
07/01/04 22:16:45
戯画マイン乙

256:仕様書無しさん
07/01/05 00:03:33
母音省略……セム語派圏の方ですか?

257:仕様書無しさん
07/01/05 02:41:46
とりあえず>241は↓のコーディング経験は有り?
有るならどの程度?

・埋め込みSQL
・GUIライブラリ/ツールキット
・正規表現やスクリプトか何かのパーサ
・デバイスドライバ

258:仕様書無しさん
07/01/05 02:45:04
スレタイ読み直せ


259:仕様書無しさん
07/01/05 09:28:47
>>148

遅レスだが、その本捨てた方がいいと思うぞ
あと、そんな本を持ち出してくるお前さんとは一緒に仕事したくない

260:仕様書無しさん
07/01/06 07:54:47
ぼうようか?

261:仕様書無しさん
07/01/06 16:22:04
>>148-149は間違いは書いてないけど、
実際に2[p]なんて書いてるのみたら書いた奴殴りに行くと思うなw

262:仕様書無しさん
07/01/06 18:57:05
>>261
このネタ飽きないなw
Cでもし書くことあったら(たぶんもうない)2[p]とかやってみようw

263:仕様書無しさん
07/01/06 19:29:51
>>262
C++でも出来るからC++の機会のときにやればOK。
# C++だと完全な可換じゃないけどな。

264:仕様書無しさん
07/01/07 01:04:17
>>148
最近勉強はじめたC初心者だが
なんか納得した・・・

265:仕様書無しさん
07/01/07 02:01:15
a(21)(31)(9999)
この静的3次元配列を二つ
定義してあった

チネ

266:仕様書無しさん
07/01/07 02:16:27
>>265
stackに積まれるよりはましじゃね?

267:仕様書無しさん
07/01/07 07:56:28
そういえば昔、

void func(int val) {
   int i;
   for(i = 0; i < val; i++);
   :
}

と、見直ししていた自分のソースに書いてあった。
正直、会社辞めようかと思った。さようなら。

268:仕様書無しさん
07/01/07 09:37:01
若い頃は空回りするものさ

269:仕様書無しさん
07/01/07 12:06:02 BE:149769465-2BP(294)
>>261
間違ってるだろ

270:仕様書無しさん
07/01/07 13:24:36
>>269
具体的に。


271:仕様書無しさん
07/01/14 11:56:01
age

272:仕様書無しさん
07/01/14 13:57:38
C言語で system() 関数呼びまくりのコードを引き継いでしまった。

一部分を紹介。

ディレクトリを再帰的に処理していきたいのは分かるんだが

1. 「dir /s ... path > output.txt」 と記述したバッチファイル makelist.bat を事前に準備。
2. それを system("makelist.bat") で呼び出し。
3. その出力結果 output.txt を fgets() & str 系でチマチマと処理。

str系の使い方も粗悪。
ファイル名が表示される位置を狙い撃ちでコーディング。
1バイト目が '1' か '2'、 かつ "DIR" が含まれていればxバイト目からはファイル名という具合。
ファイル名のバッファも100バイトしかとってないし。

これがドキュメントになっていて、PMやその上司の承認のハンコまで付いている。
「これ作った人って前の方が最初ですか?」と聞くと
「そうだよ。いまは別PJのチーフPGやってる人だよ」と教えてくれた。
上司の評価は高いようだ。他に能力があるのかも。


273:仕様書無しさん
07/01/14 14:21:17
>>272
遅くても問題ないならそれでもいいんじゃない。
工数かけずに作れて効果が同じならその方がいい。
内容がヘボであっても。

きちんと作れないのは問題外だが、かける工数と
その効果がわかってる人は評価が高い。
必要に応じて選べるからね、手段を。

「全て最高のレベルで美しく、無駄なく」なんて言ってると評価下がるよ。

大学じゃあないんだから、ね。

274:仕様書無しさん
07/01/14 14:26:27
>>267
待ちの処理だなw

275:272
07/01/14 14:53:25
>>273

>遅くても問題ないならそれでもいいんじゃない。
>工数かけずに作れて効果が同じならその方がいい。
>内容がヘボであっても。
>
>きちんと作れないのは問題外だが、かける工数と
>その効果がわかってる人は評価が高い。
>必要に応じて選べるからね、手段を。
>
>「全て最高のレベルで美しく、無駄なく」なんて言ってると評価下がるよ。
>
>大学じゃあないんだから、ね。

まあそうだけどね。
後のメンテナンスのことを考えるとどうなんでしょうね。
出所不明の実行ファイルをsystem()で呼んでその結果を加工して使ってたり。
メンテナンスできないわな。


276:仕様書無しさん
07/01/14 14:56:16
>>272
それは次の担当者の仕事だから問題ない。
そうやって責任を押しつけていかないと出世できないんだろ。
押しつけられた奴が負け。

277:仕様書無しさん
07/01/14 15:14:22
>>276
本人乙。

多少なりとも良心のあるマならそんな糞コード書かない。


278:仕様書無しさん
07/01/14 15:18:15
だれが本人だよ。
俺のコードはelegantだっつの。
大体、良心あるようでは、とてもとても。

279:仕様書無しさん
07/01/14 15:28:41
>>272
(゚д゚) .....

9年前にC言語の勉強ということで、入社2ヶ月目に作った
ツールの仕様と死ぬほど似ているのは気のせいかな・・・・





・・・今は俺、確かにリーダーとかサブPMやってるけど。。

280:279
07/01/14 15:30:51
つか、あれは一時しのぎのツールということで、
先輩が2週間ぐらい後にきちんとしたのを作るから、
動けばいいってことでC言語を勉強しながら作ったんだけどな(´・ω・`)

まさか、まだ使われている・・・??



>>275
引用符つけておきながら全文引用って、2ちゃんねる初心者みたいなことするなよww

281:仕様書無しさん
07/01/14 15:33:58
>>280 アンカーのこと引用符と呼ぶお前もどうかと

282:HELPきーが差し押さえられました
07/01/14 15:37:40
>>281
アンカーじゃなくて、「>」一個のことじゃないかな。


283:仕様書無しさん
07/01/14 15:42:25
>>272
サブディレクトリまで掘っていくことを考えると、楽な方法とは思えないな。


284:ソースはソニー
07/01/14 15:42:44
( ´∀`)<ぬるぽ

285:仕様書無しさん
07/01/14 15:44:42
>>280
>2ちゃんねる初心者みたいなことするなよww 

お前こそ、まだ「フューザ」入れてねーんだろ?
すぐ分かるよwww


286:仕様書無しさん
07/01/14 15:46:55
せめて dir /b /s ... だったらな。
駄目な奴は手抜きでもセンスがないという見本。

287:仕様書無しさん
07/01/14 16:17:37
>272
もう一回出てきて一部のコードをそのまま書いてくれwww
そうすれば、>279-280が自分の事だって確信持てるだろうからwww

288:仕様書無しさん
07/01/14 16:36:09
さすがに何年も書いたソースを詳細には覚えてないんじゃないか?
やるなら会社名を晒すくらいしてくれないと

289:仕様書無しさん
07/01/14 16:47:47
PHASERの読みって、フェイザーじゃないの?

290:272
07/01/14 17:14:43
>>280
全文引用すまん。ゆるせ。

>>287
ソースをそのまま書くのはマズイだろ~
第一、詳細まで覚えてないし。

>>287さんがH社の仕事をしている(いた)のなら確率高そうだ。

これ以上は勘弁してくれ。


291:仕様書無しさん
07/01/14 17:26:37
>>272
system()呼び出しまくってる時点でセンスがないと思われ

292:仕様書無しさん
07/01/14 17:29:52
>>291
だな。
全くC言語の勉強になってないもんな

293:仕様書無しさん
07/01/14 17:40:57
>>290
H系やった時変な規約があったりコードのルールとかすごくうるさかったんだが
仕様部分はそんなんで通るのか・・・さすがH

294:仕様書無しさん
07/01/14 17:56:29
普通にbat処理でいいでねーの?わざわざC使ってまでsysytem()呼び出すぐらいなら

295:272
07/01/14 18:18:57
>>293
うるさいのは、官公庁系じゃないのか?うちは、コーディングルールがないぞ。
つうか、かき集められた主任技師、技師、主任たちのもとで汗水たらしてジメジメと。
はじめのうちは、承認をもらっていたが、すぐに意味をなさなくなってきたのでダラダラ。
馬鹿になりそうだ。

296:仕様書無しさん
07/01/14 18:32:19
ところで>>22って何?
ちょっとカワイソな人に見えるんだけど。

297:仕様書無しさん
07/01/14 18:38:30
なんで掘り返すの?
あなたも頭がピンチなひとですか?

298:仕様書無しさん
07/01/14 18:45:21
あらら、荒んでますね。

299:仕様書無しさん
07/01/14 18:59:23
頭ピンチなひとはスルーで。

300:仕様書無しさん
07/01/14 19:03:32
掘り返したらなんかまずいらしい

301:仕様書無しさん
07/01/14 19:10:57
必死ですね^^;

302:仕様書無しさん
07/01/14 19:12:46
>>297
本人乙

303:仕様書無しさん
07/01/14 19:15:00
>>296>>300 おまえ空気読めないって陰で言われてるから直した方がいいよ

304:仕様書無しさん
07/01/14 20:13:06
はいはい荒らし荒らし
他のスレ逝け

305:仕様書無しさん
07/01/14 20:40:51
図星か…
本人カワイソス(´・ω・`)

306:仕様書無しさん
07/01/14 21:02:29
ねぇ
荒らしたいの?
何がしたいの?

307:仕様書無しさん
07/01/14 21:23:10
キミのソコに挿れたい...

308:仕様書無しさん
07/01/14 21:51:17
ハッハッハ、おれは1500Stepの関数を作った男だ。

※ メインルーチン、かつデータ移行ツールです。
  スペース:コード 3:1
  コメント:コード  1:1

  なので実際は600Stepぐらい?

別システムの参考にしようとした人には「すいません、理解できませんでした」と言われた(こちらこそすいません)。

でも、後悔はしてない。一応現場は「現場市場まれにみる有用なツールである」と言わしめたから。

309:308
07/01/14 21:52:47
すま、計算しなおしたら200Step程度じゃん。

ってことは迫害をうけるいわれはない、わけ?
(まぁコード:コメント 1:1だけでも指摘ありそうだけどね)

310:仕様書無しさん
07/01/14 22:07:51
ほとんどコメントナシ派の俺が颯爽と登場!!!

311:仕様書無しさん
07/01/14 22:42:44
ステップってなに?
行数と違うの?

312:308
07/01/14 22:53:23
>>311
おいらがいったのはステップ=行数ね。

313:仕様書無しさん
07/01/14 22:55:10
>>306
>>22はどう見ても煽りだろ

314:仕様書無しさん
07/01/14 23:02:44
>>310
専門学校へお帰りください

315:仕様書無しさん
07/01/14 23:07:33
どう見てもマンガ道場出演者だろ

316:仕様書無しさん
07/01/14 23:18:28
グローバル変数が「i」


317:仕様書無しさん
07/01/14 23:27:02
>>316
「おれはねセイバー、1文字変数なんてなかったらよかったと思うんだ」


i,j,k,lとかやる香具師が許せない。
おれはnLoop、nL2、nL3~でやってる(まぁこれもちょっとアレだが)

318:仕様書無しさん
07/01/14 23:32:34
俺は、変数名や関数名に連番を打つ奴が許せない

いったい何のためにプログラミングの世界に
"シンボル" という概念が導入されたのか
解っていないんじゃないの?

そんなに決め打ちが好きなのなら、マシン語の世界に逝け。


319:仕様書無しさん
07/01/14 23:37:36
i,j,k,l,m,nあたりについては、
ループ用の変数として固定してる人がほとんどだから
そういうものとして扱っておけばいいと思う

320:仕様書無しさん
07/01/14 23:52:04
>>319
k 辺りでアルゴリズム見直せと思うけどな.
何の疑問も無く l,m,n まで使うヤツはセンスがないと思う.

321:仕様書無しさん
07/01/14 23:58:28
>>320
そればっかりはケースバイケースでしょ。

322:仕様書無しさん
07/01/15 00:06:47
単純な3重ループくらいまでならごく稀に使うことあるけど
さすがにl,m,nまで行ったら何を基準で回ってるか分からなくなってくるな。

シンボルの話だがローカルなループカウンタで
iやjを読みづらいと思ったことはあまりない。
メンバ変数とかでやった日には人格疑うが。。。


323:仕様書無しさん
07/01/15 01:52:52
ローカル変数とメンバ変数は別者だろう。

324:仕様書無しさん
07/01/15 12:14:05
昨今のプログラミング言語では狭いスコープが使えて、本当にうれしい。
ただ、こんなことを言うと、自分はもうおっさんなんだと感じる。
会社辞めたい。

325:仕様書無しさん
07/01/15 12:55:18
いや どうしても3重以上のループを必要とする場合もあるんだが
l だけは使うのやめてくれ
画面でも紙でも見づらいんだよ

あと ループカウンタにも一文字変数使うなっていう香具師は
一度 プログラミング作法 読んでおけ

326:仕様書無しさん
07/01/15 17:01:20
>>325
同意

oと0,lとi等、ぱっと見でわかり辛いものは使わないほうがいいって言うしね。

327:仕様書無しさん
07/01/15 20:31:42
iとjならいいのか?

328:仕様書無しさん
07/01/15 22:26:54
>>325-326
お前の使っているフォントが悪い。

それだけ。


329:仕様書無しさん
07/01/16 00:38:35
謎コード
public function getInt(num as string) as integer
 getint = cint(num)
end function


330:仕様書無しさん
07/01/16 01:24:50
>>329
つ CInt()

331:仕様書無しさん
07/01/16 08:53:32
>>329
オレは、if文で変換可能かどうか判定しろと習った。
あらゆるコードをresume nextした上エラー処理をしない奴らが、
後から、if文を撤去したのでは?

332:仕様書無しさん
07/01/19 13:58:52
>327
まぁ、I J 辺りは FORTRAN から続いてるだろうからなぁ
今更見慣れ過ぎてループカウンタ以外に見えない

…逆にループ以外で i 使われると焦るw

333:仕様書無しさん
07/01/19 21:03:39
>>332
いやいや 上の方で「区別がつきづらいのはやめろ」と書いているが
伝統的なiとjも区別がつきづらいだろ!ということだろう

334:仕様書無しさん
07/01/19 23:04:26
> 伝統的なiとjも区別がつきづらいだろ!ということだろう

これ、、、特定されたら困るけど、、、やっぱりアフォだと思う。
そして、辞めますた。

335:仕様書無しさん
07/01/19 23:10:17
iとjはあまり見間違えないと思うがな...

336:仕様書無しさん
07/01/19 23:12:27
>>334
意味不明

337:仕様書無しさん
07/01/20 00:27:46
>>326
俺時々ADOをADDと見間違うお

338:仕様書無しさん
07/01/20 01:06:31
俺はADOとDAOを(ry

339:仕様書無しさん
07/01/20 01:35:45
失せろ。ブイバー。

340:仕様書無しさん
07/01/20 01:44:39
>337
AD/HD乙

341:仕様書無しさん
07/01/20 02:43:11
>>335
[i][j]
フォントによっては結構わかりづらい

342:仕様書無しさん
07/01/20 02:50:24
わかりやすいように適宜スペース入れとけ
わかりやすいフォント使え

343:仕様書無しさん
07/01/20 03:12:22
>>342
じゃー l だって別にいいじゃん

344:仕様書無しさん
07/01/20 03:21:48
うん、いいよ。

345:仕様書無しさん
07/01/20 23:40:28
全部読んだ。

>>22みたいな事をいう奴と仕事をすることになるときつそうだな…



346:仕様書無しさん
07/01/20 23:58:46
いちいち終わった話を蒸し返そうとする奴と同じくらいきつそうだな。

347:仕様書無しさん
07/01/21 00:35:39
大変ですね(^Д^)

348:仕様書無しさん
07/01/21 14:03:18
俺的にはきれいにかけてれば
1関数1000行でも許すよ

349:仕様書無しさん
07/01/21 14:57:21
>>348
蒸し返すなってーの。

空気嫁ないって陰で言われてるから、気をつけろ。

350:仕様書無しさん
07/01/21 15:04:05
定期的に蒸し返し厨が現れるな・・・

351:348
07/01/21 15:12:31
すみませんでした(藁)

352:仕様書無しさん
07/01/21 15:41:18
ん?俺には恥かしい事を書いてしまった本人と、
全部読んだという人の構図にしか見えないんだが。
話題もないし、べつにいいんじゃね?

353:仕様書無しさん
07/01/21 16:03:07
話題がないから蒸し返す~♪
不毛な議論を蒸し返す~♪

354:仕様書無しさん
07/01/21 16:08:31
>>351
>(藁) 
ああ、そういうことか(藁) 

355:仕様書無しさん
07/01/21 16:21:16
VBAでいちいち下記のようにやってるんだけど、
なんで1行にまとめないんだと言いたい

bFlag=someFunc()
if Not(bFlag) then goto errHdr

bFlag=someFunc2()
if Not(bFlag) then goto errHdr

・・・

356:仕様書無しさん
07/01/21 16:23:51
C++で
return (0);
とか
return (-1);
とかやってるソース見たんだけど、()いるの?

357:仕様書無しさん
07/01/21 16:26:47
>>355
>>356
冗長ではあるが、その程度で辞めようとは思わないけどな

358:仕様書無しさん
07/01/21 16:28:42
>>355
デバッグのときに、何が戻ってきているか分かりやすいから。
速度や、メモリの消費が気になるようなことなら、VBAでやらないでしょ?

359:仕様書無しさん
07/01/21 16:29:27
辞めようとまでは思わないよ。ソースコードごときで
辞めようと思うのはやっぱ体制とかスケジュールとかそのあたり。。

360:仕様書無しさん
07/01/21 16:32:52
>>358
え、それってVBの常套テクニックなの?
確かにフラグの値変わったときにブレークできるかもしれんけど、
普通にステップ実行で良いような気が・・・

361:仕様書無しさん
07/01/21 16:34:24
>>39

362:仕様書無しさん
07/01/21 16:35:59
>>361
納得!

363:仕様書無しさん
07/01/21 16:37:46
小粒だなぁ。できれば>>22みたいな良質な燃料が欲しいぞ?

364:仕様書無しさん
07/01/21 16:41:18
>>363
俺的には、
一目見てきれいであれば1000行オーダーは許す
SQL文とかでどうしても長くなる場合があるし。
でも、10000行はどう考えてもやりすぎだと思う。
まあ、どっちかっていうと、長さってよりは読みやすさって気はするが

365:仕様書無しさん
07/01/21 16:44:32
VBコード読まされてる時点でおわっとる

366:仕様書無しさん
07/01/21 16:50:50
>>364
きれい、がまた難しいけど概ねそうだね。

どっちかというと単に長いコードを書いて自慢したがるような輩と
一緒に仕事すると、会社辞めたく…いや、会社辞めさせたくなるよ。

367:仕様書無しさん
07/01/21 16:53:37
>>365
悪かったなwwww
しかもエクセルのVBAでつよwww

368:仕様書無しさん
07/01/21 16:56:09
エクセルって何気にすごいからな
あの技術は実はMSの中でも最高峰だろうw

369:仕様書無しさん
07/01/21 16:57:54
>>364
「行数」と「ステップ数」は違うぜ。

370:仕様書無しさん
07/01/21 17:02:44
>>369
うーん、まぁ、それでも同じかな。言いたいことは。

でも、{ }で囲まれた部分が1000ステップとかだと嫌

371:仕様書無しさん
07/01/21 18:01:32
>>365
すまん、この前javaでそんなコード書いたのだが
どうやっったら一行になるの?
日曜プログラマだから許して

372:仕様書無しさん
07/01/21 18:06:05
こうしろってことじゃねーの
if Not( someFunc() ) then goto errHdr

373:仕様書無しさん
07/01/21 18:54:58
>>371
boolean flag = isHoge();
if(flag){ /* 処理 */ }

じゃなくて

if(isHoge()){ /* 処理 */}

って書けばいいと思う。

374:仕様書無しさん
07/01/21 19:03:31
if( !someFunc() || !someFunc2() ){ /* エラーに飛ぶ処理 */}

375:仕様書無しさん
07/01/21 19:08:51
>>374
if(someFunc() && someFunc2()){ /* 正常系 */}else{/* エラーに飛ぶ処理 */}

両方notの条件をorで繋げるのは嫌い。

376:仕様書無しさん
07/01/21 19:33:33
>>355
おれもそうやるよ。コーディング時の効率、行数削減よりも
デバッグ時ちゃんとエラー値がハンドルできてることを見れるコードの方が
単体でバグ取りちゃんとできてあとで問題になりにくいと思ってる。

>>355的な1つにまとめてってのはどう書くの?
if(func1() <> x ) or (func2() <> y)
とか
bFlag1 = func1();
bFlag2 = func2();
if(bFlag1 <> x) or (bFlag2 <> y)

?後ろのやつはfunc1()がエラーのときもfunc2()を通っちゃうから実装自体に問題ありだけど

377:仕様書無しさん
07/01/21 20:12:41
>>375
>>355だけ見たら>>374が一番近いな
>>375のは厳密には意味が変わってくるからな

378:355
07/01/21 21:40:16
そんな深いこと書いたつもり無かったんだけどw
おいらが思ったのは>>372

>>374は微妙な感じ。。。
>>375はsomeFunc, someFunc2両方とも実行されるから意味が異なる



379:355
07/01/21 21:42:10
うそでした
>>375もsomeFuncがfalseとなった時点でthen以下が実行されるな
すまそ

380:仕様書無しさん
07/01/21 21:46:04
>>374, 375とも微妙なのは
たとえば、
func1をconnectDB()
func2をexecSQL
とすると分かりやすい。
って、んなこと書いてねーじゃん。すまん

381:仕様書無しさん
07/01/21 21:56:35
VBだとORは~ってのを思い出すなぁ

382:仕様書無しさん
07/01/21 22:50:49
>>380
微妙じゃないじゃん。

383:仕様書無しさん
07/01/22 00:19:24
>>382
javaならそうね。
VBだと、両方評価されるんだ。

384:仕様書無しさん
07/01/22 01:09:32
なにその糞言語。

385:仕様書無しさん
07/01/22 01:15:00
マジだから。

386:仕様書無しさん
07/01/22 01:22:09
マジだね。
ショートサーキット利かない言語って意外とあるよ。
それで何度ブチ切れたことか。

# 言語仕様を把握せずに書いてる俺が悪いんだが。

387:仕様書無しさん
07/01/22 02:15:01
URLリンク(support.microsoft.com)
URLリンク(msdn.microsoft.com)

これをみると、VB6はショートサーキット評価は効かない
2005もしくは.NETの場合でも明示的にAndAlsoかOrElseを使わないと効かない

ということだ。355のおかげで勉強になりました。ありがトン


388:仕様書無しさん
07/01/22 12:59:37
言語仕様がうんぬんに左右されず,読みやすいってことで
>>373の書き方が一番じゃないのかなぁ

389:仕様書無しさん
07/01/22 16:22:04
そんな程度のことにこだわっても良いこと無さげ。

390:仕様書無しさん
07/01/22 19:42:24
そもそも、VB6以前は、C言語の&&や||に相当する演算子が無かった希ガス。
(And は & の意味だし、Or は | の意味だったと思う)

391:仕様書無しさん
07/01/22 21:28:57
ねーよ
速度を考えると多段IFとかになる
だからもうね

392:仕様書無しさん
07/01/22 21:56:07
なんでVBって
dim i as integer = 0
とかって書けないの?いちいち2行使うのうざいんですけど
あと、! も使えなくてNot 3文字も打つ羽目になる

393:仕様書無しさん
07/01/22 22:01:38
そうそう
for dim i=0 to 5
と書けないのがうざい

394:仕様書無しさん
07/01/22 22:09:03
>392
上は .NET で解消したはず
オレもVBやってるときにイラついた仕様だ

395:仕様書無しさん
07/01/22 22:49:16
dim って dimension じゃなかったっけ?
配列以外の変数を宣言するのにも dim を使うのってなんか違和感ある。


396:仕様書無しさん
07/01/22 22:51:17
そーっすか

397:仕様書無しさん
07/01/22 23:03:59
>>395
BASIC時代に配列をDIMで宣言していた名残ですな
いまさら変更するわけにもいかんって感じじゃない?

398:仕様書無しさん
07/01/23 00:24:30
VBで一番イラつくのは ; がないこと。 といってみる。

399:仕様書無しさん
07/01/23 00:36:05
. があるCOBOLならOKですか?

400:仕様書無しさん
07/01/23 00:39:34
>>398
Pythonでその辺が不満

401:仕様書無しさん
07/01/23 02:18:56
>>400
Pythonは、別にセミコロン書いても問題ないし。
不満に思う理由が分からん。

402:仕様書無しさん
07/01/23 02:49:41
VB実は : が使えるのではないだろうか

403:仕様書無しさん
07/01/23 02:56:50
つけることで特殊な意味を持つ命令もあるから気を付けろ

404:仕様書無しさん
07/01/23 09:35:57
セミコンマを使えばいいのに

405:仕様書無しさん
07/01/23 09:52:34
>>393
それも .NET では
  For i As Integer = 0 to 5
と書ける。とても便利。

406:仕様書無しさん
07/01/23 21:28:00
セミコンマ の検索結果 3 件中 1 - 3 件目

407:仕様書無しさん
07/01/23 21:38:34
.NETマンセーーーーーーーーーーーーー!!!!
でもマネージドコードとかいうやつに胡散臭さを感じる

408:仕様書無しさん
07/01/23 21:39:59
セミコンマと
アホトンマは似ている

409:仕様書無しさん
07/01/23 22:01:16
アホトンマに該当するページが見つかりませんでした。

410:仕様書無しさん
07/01/23 22:47:21
アホトンマ の検索結果 3 件中 日本語 のページ 1 - 3 件目 (0.23 秒)


411:仕様書無しさん
07/01/23 23:02:09
マホカンタ の検索結果のうち 日本語のページ 約 43,500 件中 1 - 10 件目 (0.12 秒)

412:仕様書無しさん
07/01/23 23:02:44
セミコンマとマホカンタは似ている



413:仕様書無しさん
07/01/23 23:08:07
>>For i As Integer = 0 to 5
Asじゃまだなぁ

414:仕様書無しさん
07/01/23 23:14:43
ちなみにその i のスコープってどこになるの?

415:仕様書無しさん
07/01/23 23:15:01
話がずれるけど、Cの、
void func(int a, int b, int c);
もめんどうだな。

なんで、
void func(int a, b, c);
じゃだめなんだろ。


416:仕様書無しさん
07/01/23 23:54:38
>>415
パースするのが面倒だから。

417:仕様書無しさん
07/01/24 00:34:07
>>416
ちょっとワロタ

418:仕様書無しさん
07/01/24 00:50:17
typedef int b;
って書いてあったら2つ目どーすんだよ。

419:仕様書無しさん
07/01/24 00:55:42
>>418
意味わかんね

420:仕様書無しさん
07/01/24 00:59:31
>>418
コンパイルエラーだろ

421:仕様書無しさん
07/01/24 01:04:01
>415
関数定義なら
void func(a, b, c)
int a, b, c;
{
/* etc.etc. */
}
ってのはできるけどなぁ。まぁ、新たに書き起こすコードの関数定義を
K&Rスタイルで書く奴が職場にいたらちょっと辞めたくなるw

422:仕様書無しさん
07/01/24 01:09:54
My name is 茶イロがっPaガイコツM.





423:仕様書無しさん
07/01/24 01:20:48
つうか、スレ違いのお前らがうざい

424:仕様書無しさん
07/01/24 19:47:52
>415
Delphiって確かそんな感じに書けるんだっけ?

425:仕様書無しさん
07/01/24 19:58:38
書けるよ。
A, B, C: Integer とか。
変数の宣言も引数もおk

426:仕様書無しさん
07/01/24 21:34:01
VB.netも使える記法だろ?

427:仕様書無しさん
07/01/25 22:58:29
VBって
Dim A, B, C As Integer
ってやると A, B はバリアントになるんじゃないっけ?
それってDelphiの A, B, C: Integer とは意味が違うだろ

428:仕様書無しさん
07/01/26 01:33:28
だから .net って書いてあるだろハゲ

429:仕様書無しさん
07/01/28 05:58:47
ところで聞いてくれ。
最初は2つくらいのcaseがあるswitch文だったんだ…。

面倒だったから、そのままcaseを追加したんだ…。

またしばらくして、ちょっとcaseを追加したんだ…。

そのまたしばらく後…。


430:仕様書無しさん
07/01/28 09:26:11
>>429
あーあ。

431:仕様書無しさん
07/01/28 13:31:13
>>429
elseifが山ほど並んでいるよりずっといいじゃないか

432:仕様書無しさん
07/01/28 13:38:26
それはテライヤス

433:仕様書無しさん
07/01/28 14:09:29
>>432
でも、switch文を嫌ってif文でないと受け付けない奴が実在する。
そいつが書いたコードで1万行近いif文の塊があって、読みにくいどころか
バグってたのだけど、殺しても無罪だよね?

434:仕様書無しさん
07/01/28 16:50:03
自分のやったことが激しく犯罪であると認めさせた後にな

435:仕様書無しさん
07/01/28 19:15:06
殺したら情状酌量はされるが有罪だと思う。
しかし、実力行使ではなく訴えたら勝てる気がする。


436:仕様書無しさん
07/01/28 19:40:06
どのような違法行為であると?
いや、人として許せないのは同意なんだが

437:仕様書無しさん
07/01/28 21:36:50
>>436
業務執行妨害
不法バグ混入罪
猥褻物陳列罪

438:仕様書無しさん
07/01/28 23:14:35
>433
陪審制なら無罪だな。

439:仕様書無しさん
07/01/29 01:02:48
>429,431
ifやforが山脈のように連なってるよりずっといいじゃないか

440:仕様書無しさん
07/01/29 04:10:54
>ifやforが山脈のように連なってるよりずっといいじゃないか
うまいたとえだ

441:仕様書無しさん
07/01/29 08:39:53
無能なのを雇っているのが悪いと言うこともあるから業務執行妨害はちと無理が
あるが、猥褻物陳列罪については釈明の余地は無いな。


442:仕様書無しさん
07/01/29 17:40:58
>>433
1万行ww

443:仕様書無しさん
07/01/29 19:58:13
>>441
猥褻物陳列罪は成立するんだwww

変なコード書くと猥褻物陳列罪でしょっ引かれるのか。

444:仕様書無しさん
07/01/29 20:35:40
ま、1万行もあれば芸術性で争うことも無理があるっしょ?


445:仕様書無しさん
07/01/29 21:46:54
>>444
遠目で見るとAAができてんじゃね?

446:仕様書無しさん
07/01/30 00:01:22
見るのに相当な努力を要するものでも猥褻物陳列罪に問われるのか?

447:仕様書無しさん
07/01/30 14:02:18
注:このスレはフィクションです。
猥褻物を公共の場に晒すことは犯罪ですので絶対に行わないでください。

448:仕様書無しさん
07/01/30 19:24:36
VB6 抜粋

Dim strTemp As String
strTemp = "abcd"
If Right(strTemp, 1) = "ABCD" Then
  ......
End If


(;´д`) ・・・?

449:仕様書無しさん
07/01/30 20:21:10
strutsの開発で全画面で一つのActionFormを使い回してるやつで
validateメソッドの中で条件分岐しまくりなのを見たとき。
ActionFormだけで6000行くらいあった。

450:仕様書無しさん
07/01/30 20:42:56
作りが古いな、1.0か?

451:仕様書無しさん
07/01/30 22:52:55
>>448
これ何したいのか本気で分からないんだが…
何をやろうとしたらこうなるの?

452:仕様書無しさん
07/01/30 23:27:55
>>445
ICCCか?

453:仕様書無しさん
07/01/30 23:52:39
>>452
IOCCCじゃね?
O=Obfuscated


454:仕様書無しさん
07/01/31 14:22:41
>>448
予想1
大文字と小文字の文字コードが違う事を知らず、どこかで大文字と小文字の違いを認識OS

455:仕様書無しさん
07/01/31 14:26:26
大文字うとうとshift押しながら入力してEnterキー二度押ししてしまったOTZ
>>448
予想1
大文字と小文字の文字コードが違う事を知らず、どこかでOSによっては
パスワードで大文字と小文字の違いを認識しないと聞いたのを曲解した。
予想2
メモリ確保のエラーのキャッチをするつもりだった。

456:仕様書無しさん
07/01/31 16:16:08
>>454-455
right(hoge,1)はhogeの右端の一文字をとる。
左辺が1文字、右辺が4文字。
長さの違う文字列の比較は常にfalse。
大文字とか、小文字とか関係ない。

メモリが不足なら、IF文まで進まない。

457:仕様書無しさん
07/01/31 17:28:02
strTemp を "abcABCD" にしたかったとか。

458:仕様書無しさん
07/01/31 18:44:20
あまり使えない小人さんが作っただけだとオモ。

459:仕様書無しさん
07/01/31 19:15:38
short BitCheck( short a_sArg )
{
  short sDat;

  if( a_sArg&0x1000 ) {
   sDat = 0x1000;
  } else if( a_sArg&0x0800 ) {
   sDat = 0x0800;
  }else if( a_sArg&0x00400 ) {
   sDat = 0x0400;
 
   (以下略)
  } else if( a_sArg&0x0004 ) {
   sDat = 0x0004;
  } else {
   sDat &= 0x000f;
  }

  return sDat;
}

もう帰りたい。

460:仕様書無しさん
07/01/31 19:22:28
>>459
ひたすらelseifが続いてるって事?

んー、もっと短く書けそうな気がしないでもない。

461:仕様書無しさん
07/01/31 20:13:17
>>460最後のelseの罠を言ってるんじゃね?
>>459のを普通にわかりやすく書くと、明らかにelseが間違ってるのわかると思う。
short BitCheck(short x){
    x &= 0x1FFF;
    if(x & ~3){
        int i;
        for(i=1;i<16;i+=i)x |= x>>i;
        x ^= x>>1;
    }else{
        short uninitialize;
        uninitialize &= 0x000F;
        x = uninitialize;
    }
    return x;
}

462:仕様書無しさん
07/01/31 20:36:03
sDat初期化してないけどelseではいきなり&=してるのな。

463:仕様書無しさん
07/01/31 23:06:30
448

>456
それが正解です
何がしたいのかよくわからんコードでした
タブンRightの第二変数で指定する長さを間違えてるんだと思う

464:仕様書無しさん
07/02/01 01:03:24
スレリンク(prog板:864番)

俺がこの会社なら絶対に辞める。

465:仕様書無しさん
07/02/01 10:16:50
これどういう意味?

switch (hrRetValue) {
case REGDB_E_CLASSNOTREG:
hrRetValue = REGDB_E_CLASSNOTREG;
break;

case CLASS_E_NOAGGREGATION:
hrRetValue = CLASS_E_NOAGGREGATION;
break;

case CO_S_NOTALLINTERFACES:
hrRetValue = CO_S_NOTALLINTERFACES;
break;
}

466:仕様書無しさん
07/02/01 10:55:34
>>465 応答への処理を汎用化させるため、一部の結果を書き換えて代用する準備、
もしくはどの応答に現在対応済みなのか的な個人的メモ

467:仕様書無しさん
07/02/01 11:05:03
とりあえず仮の処置として何もしないでおくということを示すなら
コメントで /* leave unchanged */ とか /* do nothing */
とか書いておくけどなー。


468:仕様書無しさん
07/02/01 11:09:38
>>467
そんなコメント入れたら、オマエ以外の誰も本仕様を実装できないぞ。
普通に読めば「そのままにしとけ」「何もするな」だからな。

469:仕様書無しさん
07/02/01 11:17:29
誤解されないのは、
// PLACEHOLDER
とか
// TODO: 後で書く
とかかね。


470:465
07/02/01 15:04:39
問答無用で消させていただきました

471:仕様書無しさん
07/02/01 18:57:32
/* これ消したら爆発します */

472:仕様書無しさん
07/02/02 09:47:10
URLリンク(d.hatena.ne.jp)

すっげー馬鹿
こんな人と仕事してたら大変だろうなぁ…

473:仕様書無しさん
07/02/02 13:07:12
>>463
しかしこの場合正しい第2引数は4しかないぞ?
それはつまり
if "abcd" = "ABCD" then
にしかならんぞ?

474:仕様書無しさん
07/02/02 13:42:11
>472
そのページを読んだだけだが。
書かれている内容が、(自称)ベテランプログラマによるものなら問題。
しかし初心者であれば、一つ一つ丁寧に確認しながら覚えていく姿勢に好感さえ持てる。

475:仕様書無しさん
07/02/02 13:57:18
>>472
これってJavaのenumを無理やり
Cのenmuで実現させようとしてんのか?


476:仕様書無しさん
07/02/02 14:02:15
enumerate の意味を理解してないだけだろ。

477:葉猫 ◆Jz.SaKuRaM
07/02/02 14:05:42
フェイトのイラストが貼ってあった時点でヤバイとオモタ

478:仕様書無しさん
07/02/02 14:09:17
フェイトじゃなくてヴィータじゃないかい?


ゲル・ギル・ガン・ゴー・グフォー…… ヴィーーーーータァーーーーーー!!!

479:仕様書無しさん
07/02/02 14:35:01
>>474
あれがベテランなら俺は神だな。

480:仕様書無しさん
07/02/02 15:19:58
>>477
アニメのタイトルを間違えたのか、
それとも登場人物間違えたのか・・・。

481:仕様書無しさん
07/02/02 15:22:20
>>474
残念ながら部下を持つ、業務系もやってる人間のようだ。

そもそもエラーコードとしての戻り値でfloat返すなんてアフォすぎ。
参照渡しで戻り値用エリアを貰う仕様にするべきだ。

482:仕様書無しさん
07/02/02 15:50:44
>481
そういう問題か?
参照渡しにすればエラーコードに誤差が出てきていいのんか? とか…。



483:仕様書無しさん
07/02/02 15:59:21
>>481
そういう問題じゃないと思う。
こいつはそもそもの発想が間違ってるな。

484:仕様書無しさん
07/02/02 16:13:17
ああ、あれが何をしたいのかわからんのは俺だけか。

485:仕様書無しさん
07/02/02 16:27:49
何がしたいかワカランでもどこが間違ってるか判ればいいんじゃないか

486:仕様書無しさん
07/02/02 16:41:30
>>482
戻り値を計算で使おうとしてるんだとおも。
なので解決法としてはエラーコードと参照渡しでの戻り値の2口用意汁、と。

487:仕様書無しさん
07/02/02 16:44:57
それは既にエラーコードとは言わないと思われ。


488:仕様書無しさん
07/02/02 17:10:20
>>486も同レベルだね
本人様ですか?

489:仕様書無しさん
07/02/02 17:27:26
#defineじゃなくてconst **で宣言すれば済むって話じゃなくて?
やべー俺だけわかってないかも。

490:仕様書無しさん
07/02/02 18:44:57
いろいろと試してみてるだけでfloatでどうこうしようと考えてるわけじゃないんじゃないか?

491:仕様書無しさん
07/02/02 19:13:14
馬鹿だらけワロス
ここの連中って、自分が馬鹿なだけなのに、まともなコードを見て
「こんなアホなコードを書くやつがいる会社にはいられないお」
とか言ってそう

492:仕様書無しさん
07/02/02 19:14:15
あ、本人が来た

493:仕様書無しさん
07/02/02 19:27:20
あのブログの人VBやってる人だろ。Cがわからなくてもいいんじゃないかな。

494:仕様書無しさん
07/02/02 19:58:58
業務ではVCが多いらしいよ

495:仕様書無しさん
07/02/02 20:04:45
VBにもenumあるがな

496:仕様書無しさん
07/02/02 20:42:45
>>472
URLリンク(f.hatena.ne.jp)

実験してる暇があるなら、本でも読めよって。
自慢のコレクションにはいってる「やさしいC」には、enumの解説はないのかよ。。。

497:仕様書無しさん
07/02/02 22:00:17
>473
当然ながら超抜粋なので
strTemp は可変長の文字列と思ってくれぃ
そのうちの終わり 4 文字を比較したいんだとオモ
例が悪かったかなゴメソ

498:仕様書無しさん
07/02/02 22:14:40
URLリンク(d.hatena.ne.jp) のexit do はどう言う意味?
FreeFileって言いたかっただけ?

499:仕様書無しさん
07/02/02 22:32:28
vb厨だけど認めたくない君なのか...

URLリンク(d.hatena.ne.jp)
最近ゲームプログラミングに重点置いてるので業務プログラムはホントに Visual Basic しかやっていません。

URLリンク(d.hatena.ne.jp)
最近書く例が VB ばっかでアレですが、業務では VC の方が多いです。



500:仕様書無しさん
07/02/02 22:45:06
お前ら暇人だな

501:仕様書無しさん
07/02/02 22:54:40
粘着もういいよ。私怨でもあるのか?スレと関係ないぞ?

502:仕様書無しさん
07/02/02 22:57:13
>>501
ダメなソースコードを挙げるスレだから、
スレ違いってことは無いんじゃないの?

こいつもどっかの会社に勤めてるらしいぞ。信じ難いけれど。
こいつの書いたソースが回ってきたら、辞めたくなるんじゃない?

503:仕様書無しさん
07/02/02 23:08:49
おまへはこのソース見たくらいで辞めたいと思うのかwww

504:仕様書無しさん
07/02/02 23:10:46
>>503
こいつが「オレ、プロですよ」ってな顔でやってる会社なら、辞めたい。

505:仕様書無しさん
07/02/02 23:12:37
>>1
この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
をつらつらと綴っていって頂戴。

だからいいんじゃね?

506:仕様書無しさん
07/02/02 23:14:13
>>499
部下もいる職業プログラマって設定なのかー。

507:仕様書無しさん
07/02/02 23:18:47
本スレはNEETの私怨スレに変わりますた。

508:仕様書無しさん
07/02/02 23:41:56
>>506
そうかすべて妄想なのか
新しいな

509:仕様書無しさん
07/02/02 23:46:34
やね氏、おもろいおもちゃ見つけたって感じやな

510:仕様書無しさん
07/02/02 23:50:07
URLリンク(d.hatena.ne.jp)

>直リンだと長ったらしいので今はここにリンクあったりするんですけど、欲しければ持っていけいー。
>これだけ凝った作りの ASP.net の汎用ライブラリ作って配布した人間なんぞ俺しか居ないと思いマス。
>貴重品ヨ。多分…。
・・・
>因みにボク、こういうライブラリに対してクドクド文句言ってるヤツは嫌なら使うな。自分で作れ派デス。ソフトは別だがね

だれもつかわんだろ。。。
ダウソして、1分でバグが目に入った。



511:仕様書無しさん
07/02/02 23:54:56
mixi.jp/show_friend.pl?id=1847890

足跡つくから気をつけて
自己紹介テラワロス

512:仕様書無しさん
07/02/03 00:07:13
>>510 つづき

しかも、せっかくVB.NETなのに、めっちゃVB6ライクな書き方。。


513:仕様書無しさん
07/02/03 00:19:27
まあ、こういうアホのおかげで新人は自信を付けられる
そういう意味では役に立っているんじゃないか


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch