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

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

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

1 :仕様書無しさん:2006/12/26(火) 16:18:46
この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
をつらつらと綴っていって頂戴。

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

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

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

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

4 :仕様書無しさん:2006/12/26(火) 16:59:16
だが断る

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

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

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

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

9 :仕様書無しさん:2006/12/26(火) 17:09:56
>>1

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

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

11 :仕様書無しさん:2006/12/26(火) 17:11:54
了解

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

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

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


これでいいか?

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

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

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

>14
おk

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

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

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

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

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

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

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

25 :仕様書無しさん:2006/12/26(火) 18:34:26
Never ending function !

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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



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

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

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

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

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

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

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



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

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

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

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

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


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

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

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

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

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

56 :仕様書無しさん:2006/12/27(水) 07:14:11
>>54
コボラは横長DBがお好き
http://pc8.2ch.net/test/read.cgi/prog/1160745584/

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

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

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

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

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

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



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

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

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

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

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

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

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

66 :仕様書無しさん:2006/12/27(水) 12:55:00
65=44

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

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

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

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

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

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

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

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

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

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

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

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

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


76 :44:2006/12/27(水) 15:44:52

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

80 :仕様書無しさん:2006/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 :仕様書無しさん:2006/12/27(水) 17:20:10
>>80
ステップ数を稼ぐテクニックかと思った

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

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

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

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


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

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

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

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

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

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


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

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

90 :仕様書無しさん:2006/12/27(水) 19:01:37

/*

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

*/

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

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


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

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


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

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

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

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

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

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

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

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


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

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


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

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

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

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

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


108 :仕様書無しさん:2006/12/29(金) 08:54:01
>>105

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

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



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

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

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

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

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



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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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



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

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

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

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


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

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



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

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

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


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

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

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

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

135 :仕様書無しさん:2006/12/29(金) 20:23:58

ほんとにウザイな。


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

137 :仕様書無しさん:2006/12/29(金) 20:32:08
>>1-137

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


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

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

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

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

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

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

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

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

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

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

145 :仕様書無しさん:2006/12/29(金) 21:29:11
スレ違い

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

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

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

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



148 :仕様書無しさん:2006/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 :仕様書無しさん:2006/12/29(金) 21:43:26

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

--引用終了--

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

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

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

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

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

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



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

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

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

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

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

逝ってきます

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

糞ワロスwww

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

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

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

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



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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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



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

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

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

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



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

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

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


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

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

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

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



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

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


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

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

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

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

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

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



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

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


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

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

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)