1 :
仕様書無しさん:
プログラマとして幻滅するプログラマ。
こっちに流れ持ってきたら殺すぞ>該当者s
だが断る
そんなお前が大好きだ
じゃあ関数によっては200行超えることも普通にありえるって事を
きっちり認めてくれw
もうその話題はいいよ……
質問には返答したからな。
それに対するコメントはもらってないが、別に終わりならそれでもいいよw
遊んでないで仕事に戻れよ
了解
どうして誰も、数千行の話をしてるのに、
唐突に200行以内とか言い出してイチャモン付けだした
って部分に触れないんだろう。
イチャモンでもなんでもないからじゃね?
>>6 普通にはないが、有り得る。
これでいいか?
200行オーバーかぁ。
まぁ、やるならそうするだけの割と強い理由がわかるようにして欲しい長さだな。
こんなの当たり前に存在する長さだ、それが俺の考える妥当性なんだ、の一点張りで
頑として譲らない奴と仕事するのは勘弁。
どうでもいい
>12
それがお前の読解力の限界かよw
>14
おk
18 :
仕様書無しさん:2006/12/26(火) 17:59:37
雑音先生がんばってんな
なんだこの流れ
お前らもう休みかよ
むしろ"休みが恋しいのに俺は…"的な哀しみの産物
マ板だもの
22 :
仕様書無しさん:2006/12/26(火) 18:24:56
誰にでも出来るような単純処理しかコーディングできない能無しの集まりだから数千行の関数が存在することも否定したいんだろうね。
今まで数万行規模のシステムしか作ったことないんだろ?
それなら1関数200行に収まるだろうなあwwwww
_, ._ んもー
( ・ω・) . .
○={=}〇, ; .'´ `. ゙ ; `
|:::::::::\,.'.;´,
wW wwし w`(.@)www ww Ww ww
せんせー!
規模と細分化の話がどう関係あるんですか?
Never ending function !
>>12 921が書いたから。
しかしID出ないとマンドクセだな。
程度問題なのに読み間違えてるのが沸いていたようだし。
サブルーチンがあるコード。
追っかけ辛い、やめてくれ。
ジャンプする必要があれば、goto 250とかで飛んでくれ。
つーか
青年の主張がしたい香具師はせめてレス番でもいいからコテ付けろと言いたい。
何一点台
闇鍋状態のほうが楽しいじゃないか
>>22 存在することを否定しているんじゃなくて(むしろ「残念ながら存在する」という認識が下地)、
書くことを良しとしていない、という話だろう、どう見ても。
32 :
仕様書無しさん:2006/12/26(火) 18:57:49
良しとしないけど月数十万円でwww
数人月分の逃げた奴のwww
尻拭いやらされたらwww
当然の結果かとwwwww
>31
それがごっちゃになってる奴ばっかりからおかしくなってたんだと思うが
( ・ω・) んもー
○={=}〇,
|:::::::::\, ', ´
、、、、し 、、、(((.@)wwwwwwwwwwwwww
GUIのコンポーネント初期化とかだと、どうしてもだらだらと続いて
200行超えちゃったりすると思う。
36 :
仕様書無しさん:2006/12/26(火) 19:06:03
初期価値を全てマクロ定義した上でプロパティに詰め直すとか馬鹿なことやってる割に
関数はエディタで1画面に収まるようにしましょうとかもうねwwwwwwwwwwwww
_, ._
( ・ω・) ・・・
○={=}〇,
|:::::::::\, ', ´
、、、、し 、、、(((.@)WWWWWWWWWWWWWWWWWWWWWWW
_, ._
( ・ω・) ググッ
○={=}○)
// く ))
、、、(@.)(_)、、、WWWWWWWWWWWWWWWWWWWWWWW
‘, ,; :' ∴ ; ' ., ,; シュザザザ
’、 `∵ ' ’, , ', ´, '., ,;
―_, ._
、\)\)\)\)\)\)\)\)\)\)\ ―_ω・)っ ,-、
、、、、、、、、、、、),,;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;; ; - ⌒lつ目ニ@)
ゝ⌒ ``゛゛゛`゛゛```゛゛``゛゛`````゛゛````ーニ-_)) `ー'
スレが変わり、煽り叩きが終息したとたんに擁護意見が出てくる不思議w
もっと早く出てこいお前らw
ここ見て、VBプログラマが馬鹿ばっかりなのがよく分かった
仕様不明なコードを移植しなきゃいけないとき、元コードに
// なんでこれでうまく動くのか良くわからない
なんてコメントがあった場合、皆どうしてる?
放置すると問題になりそうだし、かといって推測で直してやると
挙動が違うって怒られそうなんで、すげー困る。
上司に判断をまかせる
責任は上司に押し付けるため
おまえら1画面プログラムとかしたこと無いのか?
俺に言わせりゃ80文字×40行におさまんないプログラムはカス!!!!
もちろん#includeとか入れてだw
40行も使うのかよ
いつのまにやら、屁理屈を並べて
おかしな展開になってるなw
はっきりしているのは
数千行の関数が処理の論理的な
最小単位になる事はまずないという事と
普通のPGは行数が短い関数の方が良質のコードを書けるという事。
だから、なるべく関数を簡潔に書くという事は
異論を挟む余地はない事だ。
じゃあ、何行までなら問題ないのかという話だが
共通処理でないとしても、多少の手間で済む限り
論理的に分けれる処理は分けた方が楽だと思う。
だから、長い関数で書いた方がやりやすい人も
違う考えのPGも相当数いる事は考慮すべき。
まぁ、やれない事情もあるのかもしれないが…
三行に縮めろ
関数名と実際の処理内容にギャップを感じるような関数が
大量に羅列されている場合、意外としんどい。
リファクタリングする時に、これはどういう位置づけだっけと
やたら頭を使ってしまう。
そういう時は、長い関数のままにしておいてくれたほうが
かえって楽だ。俺が勝手に切り刻むから。
おれも1000ステップ(空行が3割、コメントが3割、って考えれば300ちょいだが)のコードを書くよ。
基本ルールとして以下で作ってる。
・汎用共通関数 別のツールその他にも使いまわせるもの(あるディレクトリのファイルリスト取得など)
多くて数100ステップ
・固有共通関数 そのツール内でのみ使いまわせる、あるいは独立機能としては成立している
(そのツール固有のあるDB/ファイル情報検索関数など)
多くて数100ステップ
・フロー部
・メインフロー いわずとしれたmainフロー
・サブフロー mainフローから実際機能ブロックとして分けられるフローがあれば分ける
フローについては、明確な機能分けが難しい、引き継ぐ必要のある引数の数が多すぎてあまり意味がない場合
分割せずに数1000ステップにいたる場合もある
作るモノの性質によって機能分けや1関数のステップ数なんて変わってくると思うけど。
単純に同じような処理何十個もしなければいけないデータ移行ツールとか
(元データの項目1を新データの項目3に移動〜似ているがループでは済ませられない処理×数100個)
とかだといちいちサブフロー作らずメインフローだけで済ませる。そうしたら数1000ステップいく。
まぁ、冗長だなぁ、とは認識しているが、それを無理に階層分けした方が後々の保守性が悪かったりした(体験談)。
だから未だにこのルール。
>47
文章にも冗長さが滲み出てるな
200行で収まる派は誰も無理に分割してなんかいないのに
200行を超える派はなぜ「無理に分割している」と決め付けるんだろう。
200行超えて挙動を完全に把握できるのはある意味
頭がいいんだろうけど無駄な労力だとしかいいようがない。
51 :
44:2006/12/27(水) 01:37:30
なんで同じ機能の関数を10個も20個も作ってんの?
>>52 ひとつの関数の中で、分岐毎に重複するコードをコピペッてる例は見たことがあるが、
同じ機能の関数を複数作っているいる例は見たこと無いな。
大体、そういう時にどんな名前をつけるんだろ?
Javaでゲッターセッターで値を詰め替えるだけのメソッドつくったら200行超えてしまったときあって
(テーブル構造上、プロパティが多いので仕方なかった)、「Javaで200行なんてあり得ない!分割汁!」
と言われたことあったな。いやはっきり言ってそれムリ、意味無いよ!DB作った人に文句言ってくれ!
まあ適当に誤魔化してうやむやにしといたけど。
リフレクション使ってよければ数行で書けるな
>>50 200行に納まる派というか、44みたいな決め付けをするアホが多いから、
それに異論を述べてるだけだとおもう
いろんなケースがあるという事も思いつかないほど想像力がない奴がいるのが原因では?
>54なんかいい例だ。単純処理で200行越える事だってあるのにね。
>>50 別に分割する本人が無理にやってるわけじゃないだろうけど、無理な分割してるなぁと
他人から見て思うときはある。
もう少し大きい単位で分割したほうが論理的にまとまるのに、と。
正直、俺にとって分割する必要が無いと思えるとこで分割するほうが労力がかかる。
その辺はその人それぞれの最適なやり方でやってんだろうから、別に無駄はないよ。
なんだ、まだ行数厨房残っていたのか
もう終わって普通の話題になっていると思ってきてみたら・・・
1関数200行は業界人の常識
とかいうスレでも立てて、そこでまったりやってくれや
60 :
仕様書無しさん:2006/12/27(水) 10:56:29
お前もまだ居たのか
ちょw まだやってたのかw
>>60 早合点しすぎだ。
つ >とかいうスレでも立てて(ry
200行ってどこから出てきた数字なんだろう。
ステップ数でバグ見積もりして、バグが少ないと文句言うような会社の規定なんだろ。
>>57 具体的に、44のどの部分がアホな決めつけなの?
それ次第では、電波コードを許容してもらおうとしてる痛い人認定しちゃうけどw
65=44
予想通りすぎて苦笑い出た
> 数千行の関数が処理の論理的な最小単位になる事はまずない
ここじゃね?
勝手に「まず」を取っ払っていきり立ってると見た。
決め付けかどうかはともかく、>44の前半はちょっと因果関係が意味不明だな
関数の行数そのものは問題ではなく、
1つの関数にあれやこれやと処理を詰め込んでいる場合が
問題。
54のような値の詰め替え処理であれば、200行だろうが
1000行だろうが、大して差は無いだろ?
俺は処理単位毎に関数を分割する主義だが、最低限処理単位毎にコメントを入れてくれれば
1つの関数に複数の処理が入って数千行あってもいいと思っている。
コメントなしで数千行あったら、たいてい書いた本人以外は一目で理解できないので、リジェクト
してる。
修正指示は、大きく分けてコメントだけ追加してもらう場合と関数分割してもらう場合の2通りが
あるけど、ネストが深くて中が長い場合はたいてい関数分割だな。
ポイントは、流し読みして処理手順の概略が理解できるかどうか。
別に処理単位に分割することを押し付けるつもりは無いのだけど、数千行もあると本人も実は
処理フローをよく理解できていなくて、流れが汚くなっていたり、対になる処理が抜けていたり、
2つの処理が混じっていたりというのをちらほら見かけるので。
>別に処理単位に分割することを押し付けるつもりは無いのだけど、数千行もあると本人も実は
>処理フローをよく理解できていなくて、流れが汚くなっていたり、対になる処理が抜けていたり、
>2つの処理が混じっていたりというのをちらほら見かけるので。
でもって、そういうコードはいつまでたってもバグが出続けるんだよなあ。
メンテしやすけりゃ行数にはこだわらんよ
「長い」ってだけで拒否反応を示すのはどうかと思うね
Lispプログラマはライン数ではなく括弧数で規模をカウントするというのは本当ですか?
まともなプロダクトのコードで数千行の関数なんてないしな。
数千行の関数をコメントで機能単位に分けるなら素直に関数に分けましょう。
76 :
44:2006/12/27(水) 15:44:52
なんかまだ続いているようなので、ちょっと長いけど補足。
数千行の処理がまずないと言ったのは
構造体等のメンバ変数に代入するような単純な処理の場合でも
厳しい処理だと思うし、
(千近いメンバ変数に一個づつ代入してるコードを想像すると
かなり嫌な気持ちになる)
他の処理でもループ処理用のカウンタ変数とか
その他のローカル変数の命名等の事を考えるとやはり厳しい処理と思う。
(int i,j,k,l,m とか中括弧のネストとかも限度があると思うし)
そういった理由から、普通のPGは処理を分けるんじゃないかと思う。
関数を簡潔に分けたほうが楽とはそういう意味もある。
(細かい事を言えば他にもきりがないが)
数百行に特別なこだわりを持っている人がいるようだが
俺はそこは正直どうでもいいと思っている。
ただ、数千行の話が前スレで出てから
俺は長い関数を結構使うぜ派の中の鼻息荒い人達?
の言い分は屁理屈っぽくしか聞こえない。
もう一度言うが、関数を簡潔にしているほうが
普通のPGは読みやすいし、修正しやすいし、追加もしやすい。
要するに、書籍化されるような基本的な事だという事だ。
プラモデルを、完全にバラバラのパーツにすれば、そりゃ一つ一つのパーツの
修正・加工は簡単だ。
でも、パーツが小さければ簡潔、でかければ複雑ってこともないだろ?
大きいパーツだって、簡潔な構造な場合だってある。
さらに、パーツによっては2つだけ組み合わせておいたほうが認識も修正・加工も
楽な場合だってある。
逆に、ロボットのプラモの場合、大概は指のパーツは間接ごとにバラバラになってたり
しないでしょ?そういう感じで、バラさない方がいいケースも当然あると思うんだ。
>>76 >俺は長い関数を結構使うぜ派の中の鼻息荒い人達?
>の言い分は屁理屈っぽくしか聞こえない。
あんたの長い処理の否定も、随分と狭い視野でのもので
説得力はあまり無いと思うけどな
つかね、長い処理の否定派は数千行とかのを対象に、
長い処理の肯定派は数百行ってのを対象にしゃべってるから
大分すれ違ってる気がするよ
関係ないけど、どうでもいいけど、三●ってコメントまでステップ数に含むから
コメントは極力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 );
}
頃ス。
>>80 Switchだわ、breakねぇわ、どこかわらんところにstrcat。
何これ?
ゼロフィルにprintfフォーマット自体の機能を使わず自力実装という
コードなんだろうが、breakないわstrcatの引数が謎だわ。
まぁ細かいことは言うまい。
ゼロパディングが正しいようだ。
ゼロフィルはみんな大好きなmemsetのアレか。
86 :
80:2006/12/27(水) 18:21:46
すまん、本当はVBのソースなんだorz
でも解りづらいかと思って俺がCに翻訳したんだが、抜けがあった。スマソ
やってる内容は>80のとおりです。ええ。
>71
ものには限度があるしな。ある程度以上は規模がデカイということそのものが
複雑度を上げ品質を落とす。
>別に処理単位に分割することを押し付けるつもりは無いのだけど、数千行もあると本人も実は
>処理フローをよく理解できていなくて、流れが汚くなっていたり、対になる処理が抜けていたり、
>2つの処理が混じっていたりというのをちらほら見かけるので。
一つの関数が数千行なら、機械生成でもなけりゃまず例外なく品質も悪けりゃ効率も悪い、
おまけに保守性もダメダメなDQNコードだね。
>>87 そういうコードをDQNに保守させると、それはそれは素敵なコードが一丁上がり。
こうして誰も保守できないアンタッチャブルなコードが増えていく…。(w
90 :
仕様書無しさん:2006/12/27(水) 19:01:37
/*
何回同じバグ出してんだ!
\手抜きしてんじゃねぇよカス!! /
 ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
_ /- イ、_
__ /: : : : : : : : : : : (
〈〈〈〈 ヽ /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
〈⊃ } {:: : : :ノ --‐' 、_\: : ::}
∩___∩ | | {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
| ノ ヽ ! ! 、 l: :ノ /二―-、 |: ::ノ
/ ● ● | / ,,・_ | //  ̄7/ /::ノ
| ( _●_) ミ/ , ’,∴ ・ ¨ 〉(_二─-┘{/
彡、 |∪| / 、・∵ ’ /、//|  ̄ ̄ヽ
/ __ ヽノ / / // |//\ 〉
(___) / / // /\ /
/ / /
*/
>>77 パーツがちゃんとしたパーツになっていれば、
誰も文句を言わんよ。
そのパーツがひん曲がっていたり、
バリだらけだったり、
それどころかスケールさえ
違っていたりするから(ry
>>71 >処理フローをよく理解できていなくて
「処理フローの理解が必要だ」と考えるのはド素人、と言ってみる。
パンツがどうしたって?
木枯らしが・・・
いまどきのIDEやヒデマルが折りたたみ搭載してるのは
関数わけの手間を省くためじゃねーぞ。
>87>91
せっかく落ち着いても、乗り遅れのバカがまたこういったアホな決め付けで煽って
また繰り返すわけだな。
>>80=86が、C言語を理解していないことは、よくわかった
まあ、VB屋さんなんてそんなもんだ
厨、冬休みだからなぁ。
>96
アホな厨房が自覚もなしに「アホな決め付け」と煽るのが
冬休みの特徴だな。
>>100 決め付ける事そのものが莫迦な行為だと思わない?
思わないならいい。
>101
馬鹿だという意見に同意だが、一連の流れの中で決め付けやってるのは
数千行の関数なんてまずないって意見に対して「アホな決め付け」と
決め付けてる人達だけだと思われ。
ただ、当人達に自覚があるのかどうかは知らん。
char aznable;
というのがスコープ毎にほぼ必ずある…
場所によって文字だったり、ループカウンタだったりフラグだったりして訳分からん
ガノタ死ね
関数の規模・複雑さを単純に行数で測るのは間違っている。
だって多重ネストしている(if/for等の)ブロックが山脈のように連なるコードと、
単純にcase文+1行処理が並んでるだけのコードを、行数をものさしにして
比べるのは変だ。
もっと適切な尺度を考えるべきじゃないのか?
例えば「インデントレベルの変動量の和」とかさ。
ルールに従って複雑に分岐するような処理(マネージャとかイベントループに似た処理)
だと数千行なんてざらだな。そんな経験も無いのか否定してる連中は。
んな糞な設計したこと無いなあ
まあ、俺がCOBOLの仕事したことないからかもしれんが
>>105 条件が複雑だとして、何故、ひとつの関数の長さが伸びる理由になるのですか?
>>105 また、数千行関数の常用者がパワーアップして
復活してきましたなw
お前もプラモデルの話でも延々としてろw
論理的な話の展開が出来ない奴はPGもできないよキミ達www
>>109 論理的と屁理屈は違うだろ?
プラモデルの話が論理的とかって話か?
プラモデルとか建築の話を引き合いに出す人がいるが
あくまでも例え話なのに
プログラム自体と混同するようなら
それは馬鹿の極みだから。
数千行の関数を使う話を
無理にプラモデルの話に例えるなら
プラモデルのパーツに間違えて
実物大の大きさのパーツを付けちゃったけど
付いたし問題なさそうだから別にいいよね。
ってかんじ。
建築の例え話の方がもっと強烈な話ができるけど、
きりがないのでやめておく。
>104
> 関数の規模・複雑さを単純に行数で測るのは間違っている。
いくら単純な作業でも限度を超えると破綻する。
数千行ってのはそういうレベルだ。
行数の方が通じやすいが、なんなら変数の個数や寿命でもいいかもな。
一度に扱う変数が10個を超えたらもう駄目。
変数の寿命が50行超えたら氏ね。
オレ様の老いた頭では把握しきれん。
つ カプセル化
屁理屈ってのは大抵の場合一理あったりするがな
一理しか無いから屁理屈なんだろ
116 :
仕様書無しさん:2006/12/29(金) 11:29:25
冬休みだな、学生が沸いてて話にならん。
たまに数千行の関数書く奴がいるが、その心理が垣間見えるな
日本で優れたシステムが開発されない理由が良く判る展開だな
まともに自力でロジック考えたこと無いだろ?
馬鹿が自力でロジック考えるから数千行に膨らむんだろw
アルゴリズム参考書の丸写しで済む馬鹿なシステム開発は楽でいいですねえ。
猿真似では新しい問題は解決できませんよ。
あ、だからバグだらけなのか〜。
>>115 その一理がイタイとこ突いてくるから
見ないふりするんだよね
何でも他人のコピペ改変で済ませようとするから仕様通りに作れないし
バグが出ても原因究明できなくて潰せないんだよな。
ちょっと長くなると自分でももう理解できないとか、そんなPGいらない。
>>120 また、妄想が激しくなってきたなw
ひょっとして病気持ちの人?
お前の病気に付き合うとしてもだ。
仮に、お前が書籍に載せたくなるような新しくて難しい問題を
自慢の数千行の関数で解決したとしよう。
それでも、お前の関数は絶対に書籍には使われない。
なぜなら、お前の関数よりも
短くて、速くて、汎用的で、読みやすくて
その他にもほとんど全ての面で優れた
普通の関数をお前より優れた開発者が書いて
それが書籍には使われるから。
実際に数千行の関数が使われている本は
みた事ないし、あっても読みたくない。
もちろん、お前が改良できれば、
お前の関数が使われるかもしれない。
わかるだろ?
お前の関数は今のままでは
よそ様にみせれる様な関数ではないという事。
ちなみに、俺の周りの優秀な人で
お前の様な人はいない。
120=122か?
引っ込みがつかなくなって
違う話に誘導しようとしてるのか
病気持ちの人なのかを
まず、はっきりさせろ。
支離滅裂で、論理もおかしくなってきてるぞ。
普段から指摘されてるなら素直に直せ。
考えてるよりもずっと
迷惑だからw
大多数の良識的PGは、数千行のmain()はどうかと顔をしかめる。
この板に変なヤシが居ついたな。
早く、冬休みおわらないかな。
>125
特に良識派との認識がなくても、自分がメンテしろといわれたら、数千行の関数なんて
呪われたものを書いたDQNに対して、なにか効果的な呪詛はないかと考える。
おかしな話を次スレにまで持ち越して
懸命に言い張る労力を
関数を短くする労力にまわせないもんかね…
数千行の関数を量産って…
新手の呪いですかと。
関数を無駄に長くする技術と、話題を無駄に引っ張る技術に
相関関係はありますか?
たしかにおれは関数も会話も長い。
思考を表現する部分に問題があるのかな?
>>130 誰もお前の事なんかに興味ねーよ。
この、自意識過剰ヤロウ。
飽きたから、どっかよそのスレに寄生してくれ。
数千行単位の大きさの関数といえば、昔知り合いがノートにいろいろ書いていたなー。
「何それ」って訊いたら「100桁の整数同士を掛け算する関数」って言ってきた。
文字列の中にやたらと「mov」だの「mul」だの「adc」だのが出てきた気がするが、アレは何言語だ?
133 :
仕様書無しさん:2006/12/29(金) 20:16:22
>>123 お前の話は無駄に長い。
難問を解決するなら話は別だが、そういう数千行の関数なら確かに御免だ罠w
ほんとにウザイな。
>>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
処理ごとにクラスファイル作って呼び出せばいいんじゃね?
それがオブジェクト思考というものでは?
>>141 とりあえず、フリーの某高級言語でプログラム作って、機械語単位でブーストしています。
元が悪いとスピードが3倍とかになったりするから鬱になる。
で、クラスファイルって何?
Javaプログラマで==とequals()の違いがわからない奴が
多くて困ってる。
==だとアドレス比較と同じだから、値比較したければ
equals()使えって言っても「アドレスって何ですか」という
顔されちまう。
Javaしか知らない奴に基礎を学ばせるにはどうしたらいい?
スレ違い
>>144 それはjava知ってるとは言えない奴だろが。
素人に基礎教えるっつ当たり前の話になっとる。
>>139の>が全角な件
っていうか、なんでそんなに必死なのw
ネット上だから、ある意味おもしろいけどw
お前らほんと…
みっともないよw
>>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文字減るわけです。
まあ状況に合わせて好きなほうを使えばいいだけです。
書き方を変えたら、ポインタが配列になったとか、そんなことじゃないです。変な教科書にだま
されないでください。コンパイルの結果で生成される機械語も、完全に同じになります。意味の
変化がなく、単に書き方の違いでしかないという何よりの証拠です。
--次レスに続く--
余談ですが、足し算は足す順序を変えてもいいので、*(p+i)を*(i+p)と書き換えることができ
ます。だからp[i]をi[p]と書くこともできます。(うそだあ、と思うかもしれませんが、もちろん
エラーにならないし、ちゃんと動きますよ)。a[2]を2[a]と書いてもいいのです。(これももちろ
ん本当ですよ)。これが、2という配列のa番目の要素と言えるでしょうか?ぜんぜん言えません。
だから、やっぱりp[i]やi[p]はただの省略表現であって、本質的には配列とは関係ないのです。
--引用終了--
結果:知的好奇心追及の旅に出発し、プロ並に基礎が固まる。
>>144 そいつは無理だ。
「Javaしか知らない奴が多い」という事実は
言語仕様だけ教えればプログラミングは可能だという
承服し難い前提を是とする判断が背景にあるんだよ。
簡単に言えば「彼らは悪い研修/教育を受けた」としか。
その種の人間に「JVMはいったい何を行なっているのか」を完全に理解させるには
多大な工数がかかる。
上で書いた誤った判断をするような組織がその種の教育のための工数を認めるとは思えない。
証明終わり(笑)
対症療法:理解させずにequalsを使えと強制する。理解したがる奴には理解に至る書籍を紹介する。
数千行関数の常用者が必死に反論している間に
すっかり訳のわからないスレになったなw
まぁ、数千行の関数がどんな処理だったとしても
このスレの対象なのは絶対に変わらないけどなw
また湧いてきたww
自分の無能を晒されたくない人間が必死なんだろ、スルースルーw
>>149 >だからp[i]をi[p]と書くこともできます。
マジで?
知らんかった
逝ってきます
>a[2]を2[a]と書いてもいいのです。
糞ワロスwww
>>155 頑張って、このスレで、
「数千行のサブルーチンでもヘタじゃない」ってことにしたとしても、
世間的には、なにがどう変わるってわけじゃないのになぁ。
ちなみに、ポインタと配列が
全く同じなわけではないよ。
正確には、アセンブラで同じ扱い方も
できるというだけ。
スレ違いなのでこれ以上は控えるけど。
>a[2]を2[a]と書いてもいいのです。
言語仕様上許されててもそんなの書いちゃまずいと思う・・あ、スレタイどおりか!
>>157 ch = "0123456789ABCDEF"[i];
とかって書き方もできる。
163 :
162:2006/12/29(金) 22:01:34
ぎゃくだった。
ch = i["0123456789ABCDEF"];
こうだな。
書くだけで上から怒られそうなすさまじいコードになります。
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日後には自分でも読めなくなってる気が
>>165 言語を特定しないで話をするときは処理の単位を「サブルーチン」と言っていますが。
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ < フー 自作自演も疲れるぜ
(゚Д゚Λ)_Λ \____________
( ̄⊃・∀・))
| | ̄| ̄
(__)_)
>>165 > 構文解析とかGUI選択⇒SQL文自動生成とか作ってみろよ、無理かw
相手を煽るのに精一杯背伸びして、このレベル。
172 :
仕様書無しさん:2006/12/29(金) 22:23:43
>>171 はいはい、頑張って煽ってくださいね無能ちゃん♪
>>165 別に数千行もいかないと思うけど。
プログラム書くの下手なだけだろ。
>>166 お前ら同じ会社なら、
もう会社名晒しちゃえよ。
賛同する人が多ければ
ビジネスチャンスがあるかもよw
難しい事をしてるんだろw
っていうか200行って、どこから出てきた数字?
前スレまで、さかのぼっても唐突にでてきてるけど。
>お前ら同じ会社なら、
>もう会社名晒しちゃえよ。
無理だな、ここの連中が応募してきたら俺が怒られるってw
>>175 数千行のルーチンをメンテしたいってやつは、そうそういないから安心しろ。
出来ない奴を教育しなきゃならんから困るんだろうよ。
ITドカタをいっぱしに仕上げるのは骨が折れるわい。
数千行のルーチンをメンテするなんてドカタ系じゃないとやってられないだろ。
>>165 > 構文解析とかGUI選択⇒SQL文自動生成とか作ってみろよ、無理かw
lex/yaccを使ってもいいカニ?
>>179 ソースでも吐かせるのカニ?
アプリに組込めるならいいんじゃなイカ?
>>174 っていうか、そもそも話がいつも支離滅裂じゃない?
プログラム云々よりも普段の仕事の仕方も
支離滅裂な印象を受ける。
この感じだと、会話してても屁理屈を連発しそうだしな。
>>180 yaccとか知らないで「構文解析作ってみろよ」とか煽ってたのか。。。
まさか、今さら
固定データを大量に関数内に記述した結果の事だw
とか、プリコンパイル後の関数の事だw
とか、吐かせたアセンブラコードの事だw
とかっていう類のギャグはなしだぞw
200行ってのは、前スレで「普通にやってりゃ200行以上の関数なんて作るの無理」みたいな
書き込みがあったのが最初。
それに対してんなわけねーだろ、って突っ込んだ話が、なぜか数千行関数の話とごっちゃになって
見事にクソスレ化w
>>184 いやいや、数百行の話はどこから発生したかが
微妙なところではある。
けど、数千行の関数を当たり前に常用している人達が
何度か痛い妄想や馬鹿説を展開させていたのは
まぎれもない事実だろ。
冬休みって面白いなオマエラ
188 :
184:2006/12/30(土) 00:18:13
>186
俺は>174に答えただけだよ。
数百行の発生は微妙とか、突然何言ってんの?
>>187 また支離滅裂系の人か。。。
元発言を見てみろよ。
190 :
185:2006/12/30(土) 00:47:57
>>184 前スレを読んで
俺は揚げ足とりに感じたから微妙と言ってんだよ。
以前から何度か話の発端を指摘されてるのは
そういう意味もあるからだろ。
ってか、お前書き込みを理解できてる?
それとも、数千行関数ユーザー本人?
まず、冷静っぽく書き込みながら
レス相手を間違えんなよw
>157
> >だからp[i]をi[p]と書くこともできます。
> マジで?
> 知らんかった
>
> 逝ってきます
あんなハッタリ真に受けるなよ…。
同じになる場合もあるってだけだよ。
たとえばpが構造体だったりしたらどうなるか、ちっと考えてみれば
どうなるか判るだろ。
>>191 構造体だと両方コンパイルエラーで同じジャン。
#
>>148でC言語と書いてあるからな。
>>190 揚げ足とり?それは何を指してるの?
いや、真面目にあんたが何に引っかかってんのかまるで理解できない。
質問は200行という数字がどこで出てきたか、だよ?
そういうレスがあったんだよ、と答えただけなんだが。
会話がまるでかみ合ってないような気がするが・・・
バカは内容が無かったりまるで見当外れだったりする事をもっともらしく話すのが得意だな
>>184 書き込みを抜粋している上に、
求められた事以外に話が追加されている件
構造体がまったく使われてないプログラム。
意地でも多次元配列使ってるの。
197 :
仕様書無しさん:2006/12/30(土) 02:32:15
>>196 "The real programmer"か!
u16 aaa[4][4][21]
とか書いてあって、なんもコメントがないの。
こんなのばっか。わかるかこんなもん。
年末年始に向けて実に良い燃料だった。
感無量である。
>>198 u16ってunsigned intの事じゃね?
コメント残さないのも悪いが。
変数名がおかしいからコメントつけろってのもちょっと違うと思うが。
32ビットますぃーんでは通用しねぇな
>>192 > 構造体だと両方コンパイルエラーで同じジャン。
struct foo p[10];
int i;
でp[i]はありだが、i[p]はダメポ。
まさか、
struct foo p[10];
struct bar i;
でp[i]みたいなアホなこと考えてたわけじゃなかろう?
i[p]はイケると思うんだが
仕様変わったのか?
JIS X3010がC99以降に改定された様子は無いが。
ISOはただで見られないようだから知らん。
206 :
192:2006/12/30(土) 19:47:01
>>203 意味分からん。その例だとi[p]でもコンパイル通る(C89,C99,C++)。
人のにケチつける前に、せめてコンパイルくらい試してくれ。
もしくは規格書ぐらい一度くらい読むのを薦める。
207 :
仕様書無しさん:2006/12/30(土) 21:27:53
エラーレベルでコンパイル通るかどうかなんてコロコロ変わる
ところでCってこんな感じだっけ?
main()
{
include studio.h
aaa char [10];
input aaa;
printf (aaa,'%s');
}
ツッコミどころが色々あるんだが、マジレスしたほうがいいんだろうか。
209 :
仕様書無しさん:2006/12/30(土) 21:35:23
printf ('マジレスたのむ');
まぁキーワードはあってるから、こんなもんじゃない?
212 :
仕様書無しさん:2006/12/30(土) 21:41:43
printf('さすが俺っ!10年以上前のキーワード未だに覚えてるっ!');
エラーメッセージを上から1行ずつ潰していけば動くんじゃね?
みなさん乙です
include だけは致命的だな
他はコンパイラが苦情出したとこ対応すれば動きそうだが
>>207 ネタにマジレスだと思ってやっているので正確性は問わないで欲しい
include <studio.h>
char aaa[10];
main()
{
input aaa;
printf ('%s',aaa);
}
>>216 ずっと気になってたんだが、"でなく'なのは2chの仕様なのか?
'1文字'
"文字列"
218 :
216:2006/12/31(日) 00:07:19
途中で送信押しちまった罠。
#include <studio.h>
char aaa[10];
void main()
{
input aaa;
printf ('%s',aaa);
return;
}
219 :
216:2006/12/31(日) 00:08:05
まず「正確性は」あたりを読んで欲しかった。
どうみてもネタにネタレスです。
本当にありがとうございました
だってコードさらしてた人みんななんだもん・・・
inputって++だっけ?それにしても間違いなくC/C++構文としてちょっとおかしくまいか?
ツマンネ
あーもう。最っ低にツマンネマジレスでこの話題を終わらせてくれる
#include <stdio.h>
int main(void)
{
char aaa[10] = {0};
fgets(aaa, 9, stdin);
printf("%s\n",aaa);
return 0;
}
よしじゃあ俺もマジレスするか。
>char aaa[10] = {0};
全要素を初期化する理由が不明。
char aaa[10];aaa[0]='\0';のように1要素の初期化で十分。
>fgets(aaa, 9, stdin);
配列の要素数が10なのに9とする理由が不明。
10で十分(さらに言えばsizeof(aaa)で十分)
そういや頭の悪いゴミが自慢げに【sizeof(〜)】は【sizeof 〜】って書けよ。
とか言ってたな。
あいつは本当に頭が悪い上に、使えねえゴミだった。
226 :
仕様書無しさん:2006/12/31(日) 02:25:24
つ[スルー力]
ポインタは型情報があって単なるアドレスじゃないっていう
のを忘れてる人がいて、「構造体ポインタとメンバー名は可換じゃ
ねーよ馬鹿」と言ってるあわてんぼうさんがいるだけ。
配列名とインデックスはいつでも可換。
マジレス
犯人はヤス
232 :
sage:2007/01/02(火) 14:55:40
安なら許す
犯人は森三中○
printf("ボス、虫眼鏡で太陽を覗いちゃダメですよ");
for(int i=0; i<2; ++i) {
なにかとれ
ふく
}
ある上司(俺の教育担当)のコード内いたるところに
//入れるとなんとか動作する。原因不明。動けばおk
>>236は昔の俺のコードのようだ。
配列の確保がおかしかったりするとありがちなバグだな。
// ※リリースモードでは異常動作する可能性がある為、デバッグモードでリリースしてください
っていうかちゃんと不具合原因追えよ・・・デバッグモード遅いし
メンテだと、どう見ても動かない糞コードなのに実際には通らないからバグではないというのもあるよな。
放っておけばいいのだけど、追って確かめないと気になって寝られない損な性分…。メンテはしたくねえよ。
241 :
仕様書無しさん:2007/01/04(木) 00:39:17
ってか、C言語でも1関数200stpって長くね?
Tandem系のSQL組み込みのCとか、ProCとかで、カーソル扱うような場合でも
ちょっと工夫すれば100行切るし、それ以外でも1処理1関数だと、
普通で40ぐらい、長くても100はいかないぞ。
200stpをやたら声高に叫ぶ香具師は無能じゃねえのか?
>> 241
また蒸し返す気か、この荒らし厨が
sageないのが荒らしの証拠たん
新篠 祥子 タン?
>>241 stpて…
英語出来ない奴がごまかしでよくやるんだよな、不思議な一文字だけの省略。
分かった!ニダーの自作自演だ!
stop?
stipe?
suitaiopai
250 :
仕様書無しさん:2007/01/04(木) 04:57:20
>>246 つまり導き出される結論は…TDNスレ住人…
TADANOスレ住人?
まいいか。このネタでひっぱるのも
>244
> stpて…
オイルの粘度の話じゃね?
それなら200は確かに硬すぎだ。つか、あるのかな。
ステッペンウルフ
ゲンハ
戯画マイン乙
母音省略……セム語派圏の方ですか?
とりあえず>241は↓のコーディング経験は有り?
有るならどの程度?
・埋め込みSQL
・GUIライブラリ/ツールキット
・正規表現やスクリプトか何かのパーサ
・デバイスドライバ
スレタイ読み直せ
>>148 遅レスだが、その本捨てた方がいいと思うぞ
あと、そんな本を持ち出してくるお前さんとは一緒に仕事したくない
260 :
仕様書無しさん:2007/01/06(土) 07:54:47
ぼうようか?
>>148-149は間違いは書いてないけど、
実際に2[p]なんて書いてるのみたら書いた奴殴りに行くと思うなw
>>261 このネタ飽きないなw
Cでもし書くことあったら(たぶんもうない)2[p]とかやってみようw
>>262 C++でも出来るからC++の機会のときにやればOK。
# C++だと完全な可換じゃないけどな。
264 :
仕様書無しさん:2007/01/07(日) 01:04:17
>>148 最近勉強はじめたC初心者だが
なんか納得した・・・
a(21)(31)(9999)
この静的3次元配列を二つ
定義してあった
チネ
>>265 stackに積まれるよりはましじゃね?
そういえば昔、
void func(int val) {
int i;
for(i = 0; i < val; i++);
:
}
と、見直ししていた自分のソースに書いてあった。
正直、会社辞めようかと思った。さようなら。
若い頃は空回りするものさ
269 :
仕様書無しさん:2007/01/07(日) 12:06:02 BE:149769465-2BP(294)
age
272 :
仕様書無しさん:2007/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 :
仕様書無しさん:2007/01/14(日) 14:21:17
>>272 遅くても問題ないならそれでもいいんじゃない。
工数かけずに作れて効果が同じならその方がいい。
内容がヘボであっても。
きちんと作れないのは問題外だが、かける工数と
その効果がわかってる人は評価が高い。
必要に応じて選べるからね、手段を。
「全て最高のレベルで美しく、無駄なく」なんて言ってると評価下がるよ。
大学じゃあないんだから、ね。
274 :
仕様書無しさん:2007/01/14(日) 14:26:27
275 :
272:2007/01/14(日) 14:53:25
>>273 >遅くても問題ないならそれでもいいんじゃない。
>工数かけずに作れて効果が同じならその方がいい。
>内容がヘボであっても。
>
>きちんと作れないのは問題外だが、かける工数と
>その効果がわかってる人は評価が高い。
>必要に応じて選べるからね、手段を。
>
>「全て最高のレベルで美しく、無駄なく」なんて言ってると評価下がるよ。
>
>大学じゃあないんだから、ね。
まあそうだけどね。
後のメンテナンスのことを考えるとどうなんでしょうね。
出所不明の実行ファイルをsystem()で呼んでその結果を加工して使ってたり。
メンテナンスできないわな。
276 :
仕様書無しさん:2007/01/14(日) 14:56:16
>>272 それは次の担当者の仕事だから問題ない。
そうやって責任を押しつけていかないと出世できないんだろ。
押しつけられた奴が負け。
>>276 本人乙。
多少なりとも良心のあるマならそんな糞コード書かない。
278 :
仕様書無しさん:2007/01/14(日) 15:18:15
だれが本人だよ。
俺のコードはelegantだっつの。
大体、良心あるようでは、とてもとても。
279 :
仕様書無しさん:2007/01/14(日) 15:28:41
>>272 (゚д゚) .....
9年前にC言語の勉強ということで、入社2ヶ月目に作った
ツールの仕様と死ぬほど似ているのは気のせいかな・・・・
・・・今は俺、確かにリーダーとかサブPMやってるけど。。
280 :
279:2007/01/14(日) 15:30:51
つか、あれは一時しのぎのツールということで、
先輩が2週間ぐらい後にきちんとしたのを作るから、
動けばいいってことでC言語を勉強しながら作ったんだけどな(´・ω・`)
まさか、まだ使われている・・・??
>>275 引用符つけておきながら全文引用って、2ちゃんねる初心者みたいなことするなよww
>>280 アンカーのこと引用符と呼ぶお前もどうかと
>>281 アンカーじゃなくて、「>」一個のことじゃないかな。
>>272 サブディレクトリまで掘っていくことを考えると、楽な方法とは思えないな。
( ´∀`)<ぬるぽ
>>280 >2ちゃんねる初心者みたいなことするなよww
お前こそ、まだ「フューザ」入れてねーんだろ?
すぐ分かるよwww
せめて dir /b /s ... だったらな。
駄目な奴は手抜きでもセンスがないという見本。
>272
もう一回出てきて一部のコードをそのまま書いてくれwww
そうすれば、>279-280が自分の事だって確信持てるだろうからwww
さすがに何年も書いたソースを詳細には覚えてないんじゃないか?
やるなら会社名を晒すくらいしてくれないと
PHASERの読みって、フェイザーじゃないの?
290 :
272:2007/01/14(日) 17:14:43
>>280 全文引用すまん。ゆるせ。
>>287 ソースをそのまま書くのはマズイだろ〜
第一、詳細まで覚えてないし。
>>287さんがH社の仕事をしている(いた)のなら確率高そうだ。
これ以上は勘弁してくれ。
>>272 system()呼び出しまくってる時点でセンスがないと思われ
>>291 だな。
全くC言語の勉強になってないもんな
>>290 H系やった時変な規約があったりコードのルールとかすごくうるさかったんだが
仕様部分はそんなんで通るのか・・・さすがH
普通にbat処理でいいでねーの?わざわざC使ってまでsysytem()呼び出すぐらいなら
295 :
272:2007/01/14(日) 18:18:57
>>293 うるさいのは、官公庁系じゃないのか?うちは、コーディングルールがないぞ。
つうか、かき集められた主任技師、技師、主任たちのもとで汗水たらしてジメジメと。
はじめのうちは、承認をもらっていたが、すぐに意味をなさなくなってきたのでダラダラ。
馬鹿になりそうだ。
296 :
仕様書無しさん:2007/01/14(日) 18:32:19
ところで
>>22って何?
ちょっとカワイソな人に見えるんだけど。
なんで掘り返すの?
あなたも頭がピンチなひとですか?
あらら、荒んでますね。
頭ピンチなひとはスルーで。
300 :
仕様書無しさん:2007/01/14(日) 19:03:32
掘り返したらなんかまずいらしい
必死ですね^^;
はいはい荒らし荒らし
他のスレ逝け
図星か…
本人カワイソス(´・ω・`)
ねぇ
荒らしたいの?
何がしたいの?
キミのソコに挿れたい...
ハッハッハ、おれは1500Stepの関数を作った男だ。
※ メインルーチン、かつデータ移行ツールです。
スペース:コード 3:1
コメント:コード 1:1
なので実際は600Stepぐらい?
別システムの参考にしようとした人には「すいません、理解できませんでした」と言われた(こちらこそすいません)。
でも、後悔はしてない。一応現場は「現場市場まれにみる有用なツールである」と言わしめたから。
309 :
308:2007/01/14(日) 21:52:47
すま、計算しなおしたら200Step程度じゃん。
ってことは迫害をうけるいわれはない、わけ?
(まぁコード:コメント 1:1だけでも指摘ありそうだけどね)
ほとんどコメントナシ派の俺が颯爽と登場!!!
311 :
仕様書無しさん:2007/01/14(日) 22:42:44
ステップってなに?
行数と違うの?
312 :
308:2007/01/14(日) 22:53:23
どう見てもマンガ道場出演者だろ
グローバル変数が「i」
>>316 「おれはねセイバー、1文字変数なんてなかったらよかったと思うんだ」
i,j,k,lとかやる香具師が許せない。
おれはnLoop、nL2、nL3〜でやってる(まぁこれもちょっとアレだが)
俺は、変数名や関数名に連番を打つ奴が許せない
いったい何のためにプログラミングの世界に
"シンボル" という概念が導入されたのか
解っていないんじゃないの?
そんなに決め打ちが好きなのなら、マシン語の世界に逝け。
i,j,k,l,m,nあたりについては、
ループ用の変数として固定してる人がほとんどだから
そういうものとして扱っておけばいいと思う
>>319 k 辺りでアルゴリズム見直せと思うけどな.
何の疑問も無く l,m,n まで使うヤツはセンスがないと思う.
>>320 そればっかりはケースバイケースでしょ。
単純な3重ループくらいまでならごく稀に使うことあるけど
さすがにl,m,nまで行ったら何を基準で回ってるか分からなくなってくるな。
シンボルの話だがローカルなループカウンタで
iやjを読みづらいと思ったことはあまりない。
メンバ変数とかでやった日には人格疑うが。。。
ローカル変数とメンバ変数は別者だろう。
昨今のプログラミング言語では狭いスコープが使えて、本当にうれしい。
ただ、こんなことを言うと、自分はもうおっさんなんだと感じる。
会社辞めたい。
いや どうしても3重以上のループを必要とする場合もあるんだが
l だけは使うのやめてくれ
画面でも紙でも見づらいんだよ
あと ループカウンタにも一文字変数使うなっていう香具師は
一度 プログラミング作法 読んでおけ
>>325 同意
oと0,lとi等、ぱっと見でわかり辛いものは使わないほうがいいって言うしね。
iとjならいいのか?
謎コード
public function getInt(num as string) as integer
getint = cint(num)
end function
>>329 オレは、if文で変換可能かどうか判定しろと習った。
あらゆるコードをresume nextした上エラー処理をしない奴らが、
後から、if文を撤去したのでは?
>327
まぁ、I J 辺りは FORTRAN から続いてるだろうからなぁ
今更見慣れ過ぎてループカウンタ以外に見えない
…逆にループ以外で i 使われると焦るw
>>332 いやいや 上の方で「区別がつきづらいのはやめろ」と書いているが
伝統的なiとjも区別がつきづらいだろ!ということだろう
> 伝統的なiとjも区別がつきづらいだろ!ということだろう
これ、、、特定されたら困るけど、、、やっぱりアフォだと思う。
そして、辞めますた。
iとjはあまり見間違えないと思うがな...
俺はADOとDAOを(ry
失せろ。ブイバー。
>337
AD/HD乙
>>335 [i][j]
フォントによっては結構わかりづらい
わかりやすいように適宜スペース入れとけ
わかりやすいフォント使え
うん、いいよ。
全部読んだ。
>>22みたいな事をいう奴と仕事をすることになるときつそうだな…
いちいち終わった話を蒸し返そうとする奴と同じくらいきつそうだな。
347 :
仕様書無しさん:2007/01/21(日) 00:35:39
大変ですね(^Д^)
俺的にはきれいにかけてれば
1関数1000行でも許すよ
>>348 蒸し返すなってーの。
空気嫁ないって陰で言われてるから、気をつけろ。
定期的に蒸し返し厨が現れるな・・・
351 :
348:2007/01/21(日) 15:12:31
すみませんでした(藁)
ん?俺には恥かしい事を書いてしまった本人と、
全部読んだという人の構図にしか見えないんだが。
話題もないし、べつにいいんじゃね?
話題がないから蒸し返す〜♪
不毛な議論を蒸し返す〜♪
354 :
仕様書無しさん:2007/01/21(日) 16:08:31
VBAでいちいち下記のようにやってるんだけど、
なんで1行にまとめないんだと言いたい
bFlag=someFunc()
if Not(bFlag) then goto errHdr
bFlag=someFunc2()
if Not(bFlag) then goto errHdr
・・・
C++で
return (0);
とか
return (-1);
とかやってるソース見たんだけど、()いるの?
>>355 デバッグのときに、何が戻ってきているか分かりやすいから。
速度や、メモリの消費が気になるようなことなら、VBAでやらないでしょ?
辞めようとまでは思わないよ。ソースコードごときで
辞めようと思うのはやっぱ体制とかスケジュールとかそのあたり。。
>>358 え、それってVBの常套テクニックなの?
確かにフラグの値変わったときにブレークできるかもしれんけど、
普通にステップ実行で良いような気が・・・
小粒だなぁ。できれば
>>22みたいな良質な燃料が欲しいぞ?
>>363 俺的には、
一目見てきれいであれば1000行オーダーは許す
SQL文とかでどうしても長くなる場合があるし。
でも、10000行はどう考えてもやりすぎだと思う。
まあ、どっちかっていうと、長さってよりは読みやすさって気はするが
365 :
仕様書無しさん:2007/01/21(日) 16:44:32
VBコード読まされてる時点でおわっとる
>>364 きれい、がまた難しいけど概ねそうだね。
どっちかというと単に長いコードを書いて自慢したがるような輩と
一緒に仕事すると、会社辞めたく…いや、会社辞めさせたくなるよ。
>>365 悪かったなwwww
しかもエクセルのVBAでつよwww
エクセルって何気にすごいからな
あの技術は実はMSの中でも最高峰だろうw
>>369 うーん、まぁ、それでも同じかな。言いたいことは。
でも、{ }で囲まれた部分が1000ステップとかだと嫌
>>365 すまん、この前javaでそんなコード書いたのだが
どうやっったら一行になるの?
日曜プログラマだから許して
こうしろってことじゃねーの
if Not( someFunc() ) then goto errHdr
>>371 boolean flag = isHoge();
if(flag){ /* 処理 */ }
じゃなくて
if(isHoge()){ /* 処理 */}
って書けばいいと思う。
if( !someFunc() || !someFunc2() ){ /* エラーに飛ぶ処理 */}
>>374 if(someFunc() && someFunc2()){ /* 正常系 */}else{/* エラーに飛ぶ処理 */}
両方notの条件をorで繋げるのは嫌い。
>>355 おれもそうやるよ。コーディング時の効率、行数削減よりも
デバッグ時ちゃんとエラー値がハンドルできてることを見れるコードの方が
単体でバグ取りちゃんとできてあとで問題になりにくいと思ってる。
>>355的な1つにまとめてってのはどう書くの?
if(func1() <> x ) or (func2() <> y)
とか
bFlag1 = func1();
bFlag2 = func2();
if(bFlag1 <> x) or (bFlag2 <> y)
?後ろのやつはfunc1()がエラーのときもfunc2()を通っちゃうから実装自体に問題ありだけど
378 :
355:2007/01/21(日) 21:40:16
そんな深いこと書いたつもり無かったんだけどw
おいらが思ったのは
>>372 >>374は微妙な感じ。。。
>>375はsomeFunc, someFunc2両方とも実行されるから意味が異なる
379 :
355:2007/01/21(日) 21:42:10
うそでした
>>375もsomeFuncがfalseとなった時点でthen以下が実行されるな
すまそ
>>374, 375とも微妙なのは
たとえば、
func1をconnectDB()
func2をexecSQL
とすると分かりやすい。
って、んなこと書いてねーじゃん。すまん
VBだとORは〜ってのを思い出すなぁ
>>382 javaならそうね。
VBだと、両方評価されるんだ。
なにその糞言語。
マジだから。
マジだね。
ショートサーキット利かない言語って意外とあるよ。
それで何度ブチ切れたことか。
# 言語仕様を把握せずに書いてる俺が悪いんだが。
言語仕様がうんぬんに左右されず,読みやすいってことで
>>373の書き方が一番じゃないのかなぁ
そんな程度のことにこだわっても良いこと無さげ。
そもそも、VB6以前は、C言語の&&や||に相当する演算子が無かった希ガス。
(And は & の意味だし、Or は | の意味だったと思う)
ねーよ
速度を考えると多段IFとかになる
だからもうね
なんでVBって
dim i as integer = 0
とかって書けないの?いちいち2行使うのうざいんですけど
あと、! も使えなくてNot 3文字も打つ羽目になる
そうそう
for dim i=0 to 5
と書けないのがうざい
>392
上は .NET で解消したはず
オレもVBやってるときにイラついた仕様だ
dim って dimension じゃなかったっけ?
配列以外の変数を宣言するのにも dim を使うのってなんか違和感ある。
そーっすか
>>395 BASIC時代に配列をDIMで宣言していた名残ですな
いまさら変更するわけにもいかんって感じじゃない?
VBで一番イラつくのは ; がないこと。 といってみる。
. があるCOBOLならOKですか?
>>400 Pythonは、別にセミコロン書いても問題ないし。
不満に思う理由が分からん。
VB実は : が使えるのではないだろうか
つけることで特殊な意味を持つ命令もあるから気を付けろ
セミコンマを使えばいいのに
>>393 それも .NET では
For i As Integer = 0 to 5
と書ける。とても便利。
セミコンマ の検索結果 3 件中 1 - 3 件目
.NETマンセーーーーーーーーーーーーー!!!!
でもマネージドコードとかいうやつに胡散臭さを感じる
セミコンマと
アホトンマは似ている
アホトンマに該当するページが見つかりませんでした。
アホトンマ の検索結果 3 件中 日本語 のページ 1 - 3 件目 (0.23 秒)
411 :
仕様書無しさん:2007/01/23(火) 23:02:09
マホカンタ の検索結果のうち 日本語のページ 約 43,500 件中 1 - 10 件目 (0.12 秒)
セミコンマとマホカンタは似ている
>>For i As Integer = 0 to 5
Asじゃまだなぁ
ちなみにその i のスコープってどこになるの?
話がずれるけど、Cの、
void func(int a, int b, int c);
もめんどうだな。
なんで、
void func(int a, b, c);
じゃだめなんだろ。
typedef int b;
って書いてあったら2つ目どーすんだよ。
>415
関数定義なら
void func(a, b, c)
int a, b, c;
{
/* etc.etc. */
}
ってのはできるけどなぁ。まぁ、新たに書き起こすコードの関数定義を
K&Rスタイルで書く奴が職場にいたらちょっと辞めたくなるw
My name is 茶イロがっPaガイコツM.
つうか、スレ違いのお前らがうざい
>415
Delphiって確かそんな感じに書けるんだっけ?
書けるよ。
A, B, C: Integer とか。
変数の宣言も引数もおk
VB.netも使える記法だろ?
VBって
Dim A, B, C As Integer
ってやると A, B はバリアントになるんじゃないっけ?
それってDelphiの A, B, C: Integer とは意味が違うだろ
だから .net って書いてあるだろハゲ
ところで聞いてくれ。
最初は2つくらいのcaseがあるswitch文だったんだ…。
面倒だったから、そのままcaseを追加したんだ…。
またしばらくして、ちょっとcaseを追加したんだ…。
そのまたしばらく後…。
>>429 elseifが山ほど並んでいるよりずっといいじゃないか
それはテライヤス
>>432 でも、switch文を嫌ってif文でないと受け付けない奴が実在する。
そいつが書いたコードで1万行近いif文の塊があって、読みにくいどころか
バグってたのだけど、殺しても無罪だよね?
自分のやったことが激しく犯罪であると認めさせた後にな
殺したら情状酌量はされるが有罪だと思う。
しかし、実力行使ではなく訴えたら勝てる気がする。
どのような違法行為であると?
いや、人として許せないのは同意なんだが
>>436 業務執行妨害
不法バグ混入罪
猥褻物陳列罪
438 :
仕様書無しさん:2007/01/28(日) 23:14:35
>433
陪審制なら無罪だな。
>429,431
ifやforが山脈のように連なってるよりずっといいじゃないか
>ifやforが山脈のように連なってるよりずっといいじゃないか
うまいたとえだ
無能なのを雇っているのが悪いと言うこともあるから業務執行妨害はちと無理が
あるが、猥褻物陳列罪については釈明の余地は無いな。
>>441 猥褻物陳列罪は成立するんだwww
変なコード書くと猥褻物陳列罪でしょっ引かれるのか。
ま、1万行もあれば芸術性で争うことも無理があるっしょ?
見るのに相当な努力を要するものでも猥褻物陳列罪に問われるのか?
注:このスレはフィクションです。
猥褻物を公共の場に晒すことは犯罪ですので絶対に行わないでください。
VB6 抜粋
Dim strTemp As String
strTemp = "abcd"
If Right(strTemp, 1) = "ABCD" Then
......
End If
(;´д`) ・・・?
strutsの開発で全画面で一つのActionFormを使い回してるやつで
validateメソッドの中で条件分岐しまくりなのを見たとき。
ActionFormだけで6000行くらいあった。
作りが古いな、1.0か?
>>448 これ何したいのか本気で分からないんだが…
何をやろうとしたらこうなるの?
>>452 IOCCCじゃね?
O=Obfuscated
>>448 予想1
大文字と小文字の文字コードが違う事を知らず、どこかで大文字と小文字の違いを認識OS
大文字うとうとshift押しながら入力してEnterキー二度押ししてしまったOTZ
>>448 予想1
大文字と小文字の文字コードが違う事を知らず、どこかでOSによっては
パスワードで大文字と小文字の違いを認識しないと聞いたのを曲解した。
予想2
メモリ確保のエラーのキャッチをするつもりだった。
>>454-455 right(hoge,1)はhogeの右端の一文字をとる。
左辺が1文字、右辺が4文字。
長さの違う文字列の比較は常にfalse。
大文字とか、小文字とか関係ない。
メモリが不足なら、IF文まで進まない。
strTemp を "abcABCD" にしたかったとか。
あまり使えない小人さんが作っただけだとオモ。
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;
}
もう帰りたい。
>>459 ひたすらelseifが続いてるって事?
んー、もっと短く書けそうな気がしないでもない。
>>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;
}
sDat初期化してないけどelseではいきなり&=してるのな。
448
>456
それが正解です
何がしたいのかよくわからんコードでした
タブンRightの第二変数で指定する長さを間違えてるんだと思う
465 :
仕様書無しさん:2007/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;
}
>>465 応答への処理を汎用化させるため、一部の結果を書き換えて代用する準備、
もしくはどの応答に現在対応済みなのか的な個人的メモ
とりあえず仮の処置として何もしないでおくということを示すなら
コメントで /* leave unchanged */ とか /* do nothing */
とか書いておくけどなー。
>>467 そんなコメント入れたら、オマエ以外の誰も本仕様を実装できないぞ。
普通に読めば「そのままにしとけ」「何もするな」だからな。
誤解されないのは、
// PLACEHOLDER
とか
// TODO: 後で書く
とかかね。
470 :
465:2007/02/01(木) 15:04:39
問答無用で消させていただきました
/* これ消したら爆発します */
>>463 しかしこの場合正しい第2引数は4しかないぞ?
それはつまり
if "abcd" = "ABCD" then
にしかならんぞ?
>472
そのページを読んだだけだが。
書かれている内容が、(自称)ベテランプログラマによるものなら問題。
しかし初心者であれば、一つ一つ丁寧に確認しながら覚えていく姿勢に好感さえ持てる。
>>472 これってJavaのenumを無理やり
Cのenmuで実現させようとしてんのか?
enumerate の意味を理解してないだけだろ。
フェイトのイラストが貼ってあった時点でヤバイとオモタ
フェイトじゃなくてヴィータじゃないかい?
ゲル・ギル・ガン・ゴー・グフォー…… ヴィーーーーータァーーーーーー!!!
>>477 アニメのタイトルを間違えたのか、
それとも登場人物間違えたのか・・・。
>>474 残念ながら部下を持つ、業務系もやってる人間のようだ。
そもそもエラーコードとしての戻り値でfloat返すなんてアフォすぎ。
参照渡しで戻り値用エリアを貰う仕様にするべきだ。
>481
そういう問題か?
参照渡しにすればエラーコードに誤差が出てきていいのんか? とか…。
>>481 そういう問題じゃないと思う。
こいつはそもそもの発想が間違ってるな。
ああ、あれが何をしたいのかわからんのは俺だけか。
何がしたいかワカランでもどこが間違ってるか判ればいいんじゃないか
>>482 戻り値を計算で使おうとしてるんだとおも。
なので解決法としてはエラーコードと参照渡しでの戻り値の2口用意汁、と。
それは既にエラーコードとは言わないと思われ。
#defineじゃなくてconst **で宣言すれば済むって話じゃなくて?
やべー俺だけわかってないかも。
いろいろと試してみてるだけでfloatでどうこうしようと考えてるわけじゃないんじゃないか?
馬鹿だらけワロス
ここの連中って、自分が馬鹿なだけなのに、まともなコードを見て
「こんなアホなコードを書くやつがいる会社にはいられないお」
とか言ってそう
あ、本人が来た
あのブログの人VBやってる人だろ。Cがわからなくてもいいんじゃないかな。
業務ではVCが多いらしいよ
VBにもenumあるがな
>473
当然ながら超抜粋なので
strTemp は可変長の文字列と思ってくれぃ
そのうちの終わり 4 文字を比較したいんだとオモ
例が悪かったかなゴメソ
お前ら暇人だな
粘着もういいよ。私怨でもあるのか?スレと関係ないぞ?
>>501 ダメなソースコードを挙げるスレだから、
スレ違いってことは無いんじゃないの?
こいつもどっかの会社に勤めてるらしいぞ。信じ難いけれど。
こいつの書いたソースが回ってきたら、辞めたくなるんじゃない?
おまへはこのソース見たくらいで辞めたいと思うのかwww
>>503 こいつが「オレ、プロですよ」ってな顔でやってる会社なら、辞めたい。
>>1 この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
をつらつらと綴っていって頂戴。
だからいいんじゃね?
>>499 部下もいる職業プログラマって設定なのかー。
本スレはNEETの私怨スレに変わりますた。
やね氏、おもろいおもちゃ見つけたって感じやな
http://d.hatena.ne.jp/y_aoi/20070118 >直リンだと長ったらしいので今はここにリンクあったりするんですけど、欲しければ持っていけいー。
>これだけ凝った作りの ASP.net の汎用ライブラリ作って配布した人間なんぞ俺しか居ないと思いマス。
>貴重品ヨ。多分…。
・・・
>因みにボク、こういうライブラリに対してクドクド文句言ってるヤツは嫌なら使うな。自分で作れ派デス。ソフトは別だがね
だれもつかわんだろ。。。
ダウソして、1分でバグが目に入った。
mixi.jp/show_friend.pl?id=1847890
足跡つくから気をつけて
自己紹介テラワロス
>>510 つづき
しかも、せっかくVB.NETなのに、めっちゃVB6ライクな書き方。。
まあ、こういうアホのおかげで新人は自信を付けられる
そういう意味では役に立っているんじゃないか
スーパーコーディネイターw
こいつ、年いくつなんだろうな
IQが140あるそうです
>>515 現在の行動からは、不自然な数値ですね。
子供の頃に測った値なのでは?
1.40じゃないの
>>516 現在6歳くらいだとしたら相当な天才なんじゃないか?
労働基準法違反だが
>>518 子供のIQ測定はブレ易いから、真に受けてはダメだ。
521 :
仕様書無しさん:2007/02/03(土) 01:18:21
>>520 即座に削除。
やっぱり、本人が観てるんだね...
リアルタイムは結構だがヲチ板じゃねーぞここは
524 :
仕様書無しさん:2007/02/03(土) 01:23:42
>>497 あんだすたん。
終わり4文字を比較するのにRight(hoge,1)はなくねーか?
直リンしてるからばれたんじゃないの?
527 :
葵:2007/02/03(土) 01:40:15
降臨しよーかどーしよーか迷ったがきてみた。
ネタになりそうなネタは別にやましーから消したわけじゃないヨ
ネタになって長引くのが面倒だから消したのデス。
さっきの C のソースコードネタにしてもそう。パクったのではなくソレを元に別の場所に書いたの。
やねサンが既に書いたってヤツも俺はその時期忙しくて mixi に居なかった。
んじゃ風呂入って寝る
>>521 ほんとうに削除されてる(^^
>>472が2007/02/02(金) 09:47:10 だから、まだ一日なのに、本人に伝わるの早いな。
>>527 「別の場所に書いた」って意味わからんけど、出典ぐらい書いとけよ。
>>527 やねさんとASAMIさんが君をからかってるのは見て取れたw
531 :
仕様書無しさん:2007/02/03(土) 01:47:43
>>527 「まったく書き写したけどパクリじゃない。」
お前はチョンかと!
>>524 お前はスーパーコーディネイターレベルのバカか。
良く嫁
>>532 スーパーコーディネイターはお前ちゃうかと
>>531 ほとんど100%コピペなのに、スペースの空け方とかコーディングスタイルを微妙に調整してるところに、
プロのこだわりをみた!(うそ
どんなソースだったのか気になる・・・
536 :
仕様書無しさん:2007/02/03(土) 01:55:23
さっきは41日分の日記が有ったのに、37日分に減っている!
>>535 ---
■[program]画像処理 10:50
たまには C でなんか書いてみようかと思って書いてみた。頭腐りそうなので…
#define MAXTEXT 1024
extern int Width;
extern int Height;
void WriteHiddenText( unsigned char* ptr )
{
unsigned char Bit2;
unsigned long Color;
int x, y, cnt, index = 0;
Cnt = strlen( ptr ) + 1;
for( y = 0; y < Height; y++ ) {
for( x = 0; x < Width; x++ ) {
Color = GetPixel( x, y );
Color &= 0xfffffc;
Bit2 = *ptr;
Bit2 >>= ( 6 -index * 2 ); /* 文字データ( 8 bit )をシフト */
Bit2 &= 0x3;
Color |= Bit2;
---
つつく
>>533 「6歳で偏差値140はすごい」じゃなくて
「6歳であのブログの内容を書いているのなら凄い」って意味だべ
盛り上がってまいりました
>>537 つづき
----
SetPixel( x, y, Color );
index++;
if( index > 3 ) {
ptr++;
index = 0;
}
Cnt--;
if( Cnt <= 0 ) break;
}
if( Cnt <= 0 ) break;
}
}
続く。
画像データに文字列を埋め込む関数デス。WriteHiddenText() では、文字の先頭から 2bit ずつ取り出し、画素値の下位 2bit に埋め込み。1 文字は 8bit なので、1 文字につきこの操作は四回行う。
542 :
仕様書無しさん:2007/02/03(土) 01:58:09
>>527 普通、プロファイルからエロゲのキャラを外す方が先じゃないの?
「〜デス」ってとこで既にすべってるよ
>>536 パクリネタは4日分か。
意外と少なかったんだな。
>>537 dd!!
こ、これは・・・w
IQ140ってどこに書いてあるの?
教えて君でスマソ・・・orz
思うんだが、世の中にはJavaScriptをコピペして作ったHPや、
落としてきたperlをcgiに設置して、自作!!とか言ってる人もいるし
この人も同じ類の人なんでわ?
そーいう奴でも自慢げにソースを晒すことはしまい
素人丸出しの管理外日記も書かんだろう
>>546 俺が見た例だと、フリーソフトの解説のドキュメントを書いて、そのソフトのアーカイブに加えただけなのに、
開発スタッフとして自分の名前も記載して、自分で配布してるってのを見たことある。
(そのドキュメントが労作ならまだしも、もとのreadme.txtをhtmlになおしただけっていう)
なんだ、このスレ速度は。ここは本当にマ板か。
スーパーコーディネーター降臨によりスレが急速に伸びている模様。
間違ってても自作コードさらそうとする勇気がある人かと思ったら
兵器で他者コードぱくりして「全く同じじゃないから自作」
と言いはるIQ140(IT偏差値は40台だろう・・・)
別にまねっこは立派なITスキルだと思うけど、それをさも・・・
551 :
仕様書無しさん:2007/02/03(土) 02:25:42
私の戦闘力は530000デス←台無し
554 :
仕様書無しさん:2007/02/03(土) 02:41:22
>>551 権利表示もあるページだが、
各ページのタイトルが
"The Prince Of Darkness"(ジョン・カーペンター監督の映画のタイトル)になっているのが気になる。
>525
うん
だからスレタイ通りのコードだと思ったんで晒した
どう足掻いてもあのコードだとIFの中に入らんからな
今も反省はしていない
>>555 痛い自己紹介とか書いてあったんだっけ?
>>558 それがRSSリーダーが反応しただけなんで元の文章がわからんのよ…。
560 :
仕様書無しさん:2007/02/03(土) 02:58:26
眠ったままブログを更新するとは、流石、スーパーコディネーター!
ちゅーかヲチ板逝くか別スレ立ててやってくれんか
563 :
仕様書無しさん:2007/02/03(土) 03:23:58
564 :
仕様書無しさん:2007/02/03(土) 03:30:02
>当然のようにファイル一個だけの open/close の HP は良く見かけるが
>二つ以上となると余り書かれていません。ていうか 0 です。
書くまでもないからじゃないの?
> C が 0.0000… になるが、これは main(){printf("%c %d %f", A, B, 2);} この場合と同じ事。型の優先度が enum よりも高い。
ワロタ
567 :
仕様書無しさん:2007/02/03(土) 04:21:40
>>558 ああ、そうか、
「教授のスキルが10とすれば、学校を出た時点でオレは5か6」
とか言うのが、その日の分、丸ごとなくなっているんだな。
568 :
仕様書無しさん:2007/02/03(土) 04:36:48
;:゙;`(;゚;ж;゚; )ブフォ
>>568 それがHigh Performance Programmingクオリティって
やつだから勘弁してやってくれ。
>今日 C しか打てないプログラマの為のキャストだと知りました(意外に本当かも)
じゃなくてCも使えないプログラマなんだからそっとしといてあげてくださいデス。
>>511 「このユーザーのページにはアクセスできません」って言われちゃったよ。
今起きたらhatenaがメンテ・・・
コーディネーターが現れるとスピードが違うな (`・ω・´) シャキーン
いっそもの凄い勢いでOSを書き換えてみてくれw
いい加減死ねよ糞コテ
粘着しすぎ
577 :
仕様書無しさん:2007/02/03(土) 13:58:31
>>576 だって、面白過ぎ、と言うか、
オモコワ!
でもさすがにネタ切れ感は否めないね
579 :
仕様書無しさん:2007/02/03(土) 14:19:47
要はオタってこと?
オタは別にいいや・・・。俺もそうだしww
581 :
仕様書無しさん:2007/02/03(土) 14:43:10
こいつのはオタだから面白いってわけじゃないだろ。
スーパーハカーとかそういうジャンルの面白さだよねw
結城 葵
スレ汚しすま(自分と同じトラブルにあってサポートに「そんな事例はありません」といわれ
泣き寝入りしている人の為に以下の情報を残します。)
J-COMが提供しているマイシールドがバージョンアップされたがそれを適用した所、
・マシン終了時、ハングアップして終了しない
・次のマシン起動以降、3〜5分でsvchost.exeが死にマシンがまともに動かなくなる。
(マウスカーソル以外動かない状態になる。)
またIEなどでインターネットを見ていたとして、見えなくなってしまう。
なんとかマイシールドをアンインストールしたが、それでも挙動はおかしいまま変わらない。
WindowsXPHomeを再インストールしまともに動いている所に、またマイシールドをインストールしたら
また同じ挙動になった。
※ マイシールドが入っている状態で、無効化すると5分以上過ぎてもまともに動いていた。
こんな現象に出会った方、J-COMにちゃんとクレームしましょう。
(クレームが入っていない、と言い張っているが、少なくとも私はクレームしました。)
固定小数点の四捨五入
a = ((b & 0xFFC0) + (((b & 0x3F) / 0x20) * 0x40));
後半がw
ほげ
なんか新しいネタないの?
>25
ゲーム業界じゃ当たり前。
下の方が多少いいんだろうけど、コメントない時点でうんこだわ。
五十歩百歩。
だけど綺麗なコードを提示しろと言われると
面倒で面倒で
下っぽく書こうとして気づいたら上になってる 1
コメントはここでは問題ないんじゃ
そういう融通のきかない人がいる会社もどうなんですかね
>>601 一行目:
正論
二行目:
人が融通がきかないのではなく、
属している組織自体の考え方が融通がきかない
のではないかと思われる
個人的には、上は有り得ない。
leadersGamesなどに代入した値を、再びgamesWonからみる理由が分からない。
>>603 決定表をIF文の羅列に落とすことはあるが、
上の例は、上手く出来ていない。
わざと上手く出来ていないので、仕方ない。
if( ( game[0] == 7 ) ||
( game[0] == 6 && game[1] < 5 ) ) {
return "Player1 wins the set " + games[0] + " - " games[1];
}
if( ( game[1] == 7 ) ||
( game[1] == 6 && game[0] < 5 ) ) {
return "Player2 wins the set " + games[1] + " - " games[0];
}
if( games[0] > games[1] ) {
return "Player1 leads " + games[0] + " - " + games[1];
}
if( games[0] < games[1] ) {
return "Player2 leads " + games[1] + " - " + games[0];
}
return "Set is tied at " + games[0] + "games";
上の方式でif列挙にするとしたらこうだよな。
あとは数値の定数化。
ついでにgamesWon関数で数値の範囲例外処理行わないとNG。
引数のPlayerが4とか来た場合とか、
呼ばれすぎて勝利数が両方8とかになったらどうするつもりかと小一時間(ry
>>602 598も今の会社をやめればまともになる
=
悪いのは全て会社の体質というのがこのスレの主旨
ということですかね?
608 :
仕様書無しさん:2007/02/06(火) 12:28:44
>>601のほうが記事の意図に合わせようとして
逆に融通が利いてない気がするが
両方とも×という答えのほうがいいと思う
俺も正直上も下もどっちもどっちだと思う。
game[0]とか意味がわからん
>>608のおかげで、会社をやめたくなるようなコードが生成される理由を
垣間見れた気がする
>>609 「意味がわからん」って、業務知識の無さを誇られても困るよね・・・
テニスではセット内での得点のことをゲームといいます、とか
コメントに書けってか?
609ではないが、テニスがわからないとメンテできないプログラムというのはどうか。
業務で使うソースにはもっとコメントを書いて欲しいところだね。
609や613は、例えば携帯電話のモックアップを見せられて、
「モックAとモックBのどちらのデザインがいいですか?」
と聞かれて
「どちらのモックアップも通話機能が搭載されてないからゴミです」
とか答えるんですか?
615 :
仕様書無しさん:2007/02/06(火) 16:04:02
デザインと通話機能は全く関係ないんだから
そんなこと答えるわけないだろw
俺的には下だと思うんだが、同僚にいわせると上らしい。納得いかない。
気分悪いからもう帰る。
>>613 作る人、メンテする人が業務知識を持ってることは前提じゃないか?
テニスに関係したものならテニスに関係した知識を持っておくのが当然でしょ。
普段できない子扱いされてない?大丈夫?イ`
なんかズレまくってるようだけど、
595のやつって要は論理演算ちゃんとわかってますか?
ってことでしょ
サンプルコードが悪いけど、
少ない分岐に場合わけできるのにそれをしないでダラダラIF文書いても
冗長になって汚くなるよってことがいいたいんじゃないの?
619 :
仕様書無しさん:2007/02/06(火) 17:41:41
上のほうが、直感的にわかりやすいんじゃね
下は若干頭をひねる必要があるが
どっちがクリーンかっていってもなー
下がせめて3行くらいにまとまってれば下がいいと思うかも知れんが。
まあこれ作った人も、最初はもっときれいになると思ってたんだと思うが
オレならこんな感じかな
テニスの事は良く知らんから、間違ってるかも
if ( gamesWon[0] == gamesWon[1] ) {
return "Set is tied at " + gamesWon[0] + "games";
}
String leader = null;
int[] point = null;
if ( gamesWon[0] > gamesWon[1] ) {
leader = "Player1"; point[0] = gamesWon[0]; point[1] = gamesWon[1];
} else {
leader = "Player2"; point[0] = gamesWon[1]; point[1] = gamesWon[0];
}
if ( point[0] == 7 ) {
return leader + " wins the set 7 - " + point[1];
}
return leader + " leads " + point[0] + " - " + point[1];
621 :
620:2007/02/06(火) 17:48:00
×int[] point = null;
○int[] point = new int[2];
ネタにしても酷いな。
623 :
620:2007/02/06(火) 18:07:04
うわあ変数名間違ってる
gamesWon じゃなくて全部 games ね
あと、
if ( point[0] == 7 ) { ? }
は
if ( point[0] == 7 || (point[0] == 6 && point[1] < 5) ) {
return leader + " wins the set " + point[0] + " - " + point[1];
}
て事で
見直すと
>>606 と大差無いな
ヤレヤレ
お前らほんっっとバカ!!!
盛り上がってんなー
無意味に
626 :
仕様書無しさん:2007/02/06(火) 20:31:36
誰か任天堂でテニス作ったやつはいないのか???
俺的にはpoint[0]だのpoint[1]で終わってると思う
配列使ってる時点で、point[2]とかの存在も想像できるから
pointの意味がまったく意味不明となってしまう
すなわち元記事のやつらにえらそうなこと言われる筋合いは無いということだ
>>610 テニスが業務知識かよ
って、業務と全然関係ないんですけど
的外れもいいところ
>>628 対象のメタテクストは要求されて然るべき。
例文のプログラムの対象はテニス。
現状で、お前の業務がテニスで無いだけ。
String setScoreMessage = null;
エエー
あはは
結論。
どっちもどっち。
>>628 >テニスが業務知識かよ
>って、業務と全然関係ないんですけど
えー。要件も読めないんですかー。
コーディングスタイル以前の話だな・・・
元の記事より引用
> ここで、同じ処理を行う2つの短いコードを見てみたい。これは、テニスのセットカウントを数えるコードだ[注3]。
趣味:お琴とテニス
おとことペニス
>>630 String setScoreMessage = "";
が良いと言うこと?
テニスごときで一生懸命になるなよアホか
ステップ数論争のときも思ったけど、
おかしな人がいるね。
638 :
仕様書無しさん:2007/02/06(火) 21:13:19
long a,b;
・・・
a = (long)b;
ここの連中みてたら、昨日までこの会社やめたいって思ってたコードが
ましにみえてきた
やめたいって思ってたコードを詳しく
上の方がいい点は引数に意味ある名前ついてるとこだな。
というわけでどっちもウンコ。
まあ英語が普通に読めるなら下は問題ないのかもしれんが。
VBAの変数が日本語なのと大差ない感じだと思うがね。
642 :
595:2007/02/07(水) 01:48:27
おー、仕事にゆとりある人けっこう多いのね。
「どちらとも言えない」って、力みすぎな気がする。
>>595でも言ったけど、いちおうコード書いてご飯食べてる人対象ってことで。
どっちのコードもまずgameWon()メソッドがおかしいし
引数がそのまま配列のインデックスとして扱われるなんて・・・
>>643 playerだからさほど気にならなかった。
言われてみれば、入力値チェックくらい欲しいかも。
>>643 なんでおかしいの?テニスではプレイヤー(ダブルスではチーム)は絶対に2つしかないから
スコアをintの配列で扱ってもなんら問題は無いと思うけども。。。。
で、どっちがいいかって言うとコメントなしで考えるなら上のソースのほうが読んで
仕様が理解しやすい。
んでも拡張性で考えると、どっちもどっちな気がする。
たとえば、
>>595のソースは7ゲーム先取したほうが勝ちっていう仕様だけど
実際のテニスみたいにタイブレークが永遠に続くようにって仕様変更される
ことを考えるとどっちも修正は容易じゃないきがするね。
勝利判定のメソッドをもうひとつ挟み込めば結構すっきりするし拡張性も
あがるんじゃないかとなんとなく思った。
>>644 チェックしてどうすんの?w
1か2以外がきたら明らかなバグだからException投げてもらわないと困るだろw
チェックしても結局Exception投げるしかないんだからチェックの意味なす
647 :
606:2007/02/07(水) 10:22:11
>>623 いんや、根本が違う。
漏れのは上方式。
おまいさんのは下方式。
>>645 そのへんの指摘は606で書いてる。
勝利条件を6以上かつ差が2以上あいたとき、
にしておけばタイブレークは問題ないと思われ。
648 :
606:2007/02/07(水) 10:24:12
補足すると606でああいう勝利条件判定にしたのは
オリジナルの勝利条件判定との差異を入れたくなかったから。
バカ要求仕様(コメント無し勝利条件おかしいエラーチェック無し)どおりに作ったうえで
ソースコードの見易さを比較するのが今回の話のキモだからな。
> 実際のテニスみたいにタイブレークが永遠に続くようにって仕様変更される
タイブレークがどんだけ続いても、最終的には7-6か6-7のはずだが…
おぉ。こんな単純であるはずの問題にも
仕様の解釈誤りの問題が。
C#2.0にて
List<ArrayList>
引き継いだVCプログラムで、グリッドに列を追加して欲しいって
要望があったので修正しようとコード見たら列番号が
全部マジックナンバーで指定してある・・・
しかたなしに'4'とか'5'で検索してみたら
m_flg = 4;とかm_flg = 5;らしきコードがコメントも無く・・・
見なきゃ良かったorz
>>650 たとえ問題が単純でも、ついでに頭まで単純だとこういうことになる。
ここの連中、馬鹿ばっかりだもんな
馬鹿なほうが生きていくのが楽だとか聞いた事がある。
>>654はどうなの?
馬鹿ばっかりで困ってます
左のパーツと右のパーツの動きが同じ仕様のある製品。
プロジェクトの途中から加わりソースを眺めていると
ほぼ同じような構成の、左右2つ分のファイルの組が沢山あった
うちの会社のバカのコードをここに無造作に張ると、たいてい30は罵倒のレスが付く。
場合によっては荒れる。
よし貼れ
ワクワクテカテカ
ごめん、いまちょっと俺にひらめきがない。
(・∀・)カエレ!
不発ワロスw
この流れで思い出したのは
学生 「あれあれ?怒らせていいんですか?使いますよ。イオナズン。」
面接官「いいですよ。使って下さい。イオナズンとやらを。それで満足したら帰って下さい。」
学生 「運がよかったな。今日はMPが足りないみたいだ。」
面接官「帰れよ。」
これは嫌だ。
182 名前:仕様書無しさん[sage] 投稿日:2007/02/23(金) 17:08:35
何を考えたか、クラスごとに(VSの)プロジェクトを分割したプロジェクト。
クラスといっても全ては画面。互いに参照設定して開発をするらしい。
なんか、バカが頭を使うとろくなことにならんなとしみじみ思った。
>>666 VBで開発してた頃は、跳び先ごとにactivex.exeにしたりしてたけど?
オーメン!
iCount As Long 'Integer
>669
この程度見飽きたわ!! (TT)
中身はIntegerの範囲しかはいらないけど、ループ変数だから処理速度の関係で
あえてLongにしてるんじゃないの?
lCount As Long 'Integer
って書けっつーこと?
>>673 そういう話だとしたら、、、
くっだらねえな。
なんだ、「私はカウントする者」という自己主張なのかと思った。
1."iCount As Long 'Integer"って書いた人は、ハンガリアン記法が間違ってる
2.
>>669がVBの最適化を知らなかった
3.両方
3ってこと?
>>676 始めはこれ
iCount As Integer
↓
後で桁数が足りないことに気づいたが、
変数名を置換するのが面倒で型のみを変更した。
iCount As Long 'Integer
答えは4.手抜き
君はこの地獄に生きる我々にその程度のネタを開陳してどうしたかったのだ?
開チン?
半刈り案なんか強要される莫迦な職場は辞めたくなるな。
ラベルに限って日本語変数名はいがいと便利だと思うようになってきたり…
ラベルにコメントをつけるんだ。
1度坂道を転がり落ちたら下まですぐだぞ!
CP/M使ってたころならともかく
もう識別子に日本語使えるようになってもいいんぢゃね?
書きにくい
>678
ぶっちゃけその程度は
このスレ的には「ふーん。よくあるね。で?」ってなレベル
>>684 最近のJavaでは、使えるらしいが、
幸い使った事も使われてるのをみた事も無いな。
昔Lispで試したことがあるが
関数とグローバル変数が日本語だと物凄く読み易くなることが分かった
入力が面倒なのが難点(ローマ字で打っておいてまとめて置換w)
俺のコメントが669のものだと勘違いしている奴多すぎw
まぁ、君はそれほどつまらんオチをつけたということだよ。
誇っていい。
>687
まさにそれが横溢しているプロジェクトにいた
で、日本語クラス名変数名メソッド名使ってないと思ったら、一転、謎識別子のオンパレード……
(GYMKYK0500132A.javaとか。汎用機のCOBOLバリバリなシステムをリプレースしたもんだからって……なぁ)
どうにか半年強で抜けてきた……
ソースコードじゃないが、ダイアログで
△更新が完了しました
OK →キャンセル
一体何がキャンセルされるのかと…。
何も起こらないけど。
ループってIntegerよりLong使ったほうが速くなるもんなの?
32bit環境ならlongのが早い
今、調べて知ったんだがVB6の整数型って16bit環境みたいな名前なんだな
今までもこれからも使うことない知識だろうが
旧資産の超拡張でしかないからな
VBって最適化とかないの?
VBを選択しないことが最適化
奇才現る
やっぱ、拳と拳の語り合いですか
おまえもマならコードで語るんだな。
VB以外のコードで語ってもVB厨には読めません。
逆に考えるんだ。VB厨はマじゃないんだ。そう考えるんだ。
アクセス使えます!さらにVBでカスタマイズも出来るんですっ!!
ODBC経由のDBならなんでも操作できますぅっっっっv!!!1
データリンク貼るだけぇえええええええええええええええええええええ
辞めようと思ったほどじゃないけど
for( i=0; i<5; i++ ){
Switch(i) {
case 0: str = "なんとか1"; break;
case 1: str = "なんとか2"; break;
case 2: str = "なんとか3"; break;
case 3: str = "なんとか4"; break;
case 4: str = "なんとか5"; break;
default:break;
}
}
こういうのをそこら中で見ると、イライラするw
ループにする必然性ないだろwww
>>707 こんな風に書きたかった動機はなんだろう。これ。
さっぱり真意が読めない。
>>707 これは変数strを上書きしてるぞw
ループ以前の問題だな。
真意はコードの水増しが考えられるけど。
str(i)になっていてもちょっとひく。
711 :
仕様書無しさん:2007/03/06(火) 00:08:47
>>707 このコードってしょっちゅう俺が使うコードだよ。
ステップ数も少なくて済むし、なによりも解りやすいのが利点だと思うが。
ループにする必然性が無いとか言う奴笑える。
己の理解できないものを否定する奴こそしんの馬鹿なり。
Ctrl+Shift+Escだろ
>>711 ループや分岐やマジックナンバーといった人間が理解しにくい
構造をわざわざ使わなくても、
std::cout
<< "なんとか1" << std::endl
<< "なんとか2" << std::endl
<< "なんとか3" << std::endl;
とか、
outputNantoka("なんとか1");
outputNantoka("なんとか2");
outputNantoka("なんとか3");
ストレートに書けばいいんじゃ・・・?
ぶっちゃけマジックナンバーは人間にわかりやすい
str = "なんとか5";
1行で書けた
俺ってすげえ
奇才現る
と思ったら = がオーバーロードされてて例外投げるんだぜ
同じところかもしれんが
for( i=0; i<200; i++ ){
switch(i) {
case 0: str[i] = "なんとか1"; break;
case 1: str[i] = "なんとか2"; break;
case 2: str[i] = "なんとか3"; break;
(中略)
case 199: str[i] = "なんとか200"; break;
default: str[i] = "なんとかかんとか"; break;
}
}
3個くらいdefaultに飛んでた・・・
731 :
仕様書無しさん:2007/03/06(火) 16:17:53
>>730 defaultに飛ぶ処理が3つもあるなら、意味はあるのかも。
でも、書き方は変えたほうが良い。
なんで動的に代入するんだ
テーブルにしとけよ
書き忘れが3つくらいあったって話?
そんな馬鹿コードは問答無用で書き換えてしまえばスッキリ
しかしなぜかバグ発生
実は組み込み系なんじゃね?
str = "なんとか1";
str = "なんとか2";
str = "なんとか3";
str = "なんとか4";
str = "なんとか5";
5行で書けた
俺ってすげえ
str = "なんとか1", str = "なんとか2", str = "なんとか3", str = "なんとか4", str = "なんとか5";
1行で書けた
俺ってすげえ
ここでカンマ演算子オーバーロードの登場です。
次はプリプロセッサによる置換が来ると予想
/*
str = "なんとか1";
str = "なんとか2";
str = "なんとか3";
str = "なんとか4";
str = "なんとか5";
*/
str = "なんとか5";
挑発してやった。俺Tueeeee!
コメントアウトするなら理由と名前を入れろ!
といわれます...
そしてソースコード上のケンカへと発展していくわけですね。
>>743 客との喧嘩議事録をソースで作った同僚がイタw
議事の流れに沿って制御文が書かれていたら嫌だ。
while(1) {
customer.loudMouthed("なんで出来ないんだ!簡単だろ!");
programer.loudMouthed("じゃぁ自分でやってみろ!");
}
>>747 それは顧客クラスとプログラマクラスの
メッセージパッシングの無限連鎖で書いたほうが面白いかと
言い出しっぺの法則を適用
すかしっぺで回避
そうはいかんざき
C++だと何が起きるかわからんからむやみに変更しないほうがいいという
教訓が。
>>752 普通にプログラムが保守を無視してコーディングしてるのがほとんどだから変更できないだけ。
JAVAやC#と同じオブジェクト指向言語としてコーディングされているなら多少は保守可能かな。
どっちにしろ、ポインタ使われると保守性が無視されてしまう可能性があるからね。
ポインタ使われると保守性が無視されてしまう
ボインちゃんを使われると理性が無視されてしまう
保守不能であるとは
運用終了までの(おそらく複数回の)保守実施コストが
再構築のコストを上回る場合であることを意味する
>>756 1年で作ったシステムを4年も使えば、
再構築より保守の方が金が掛かるが?
「保守」が違うのか...?
if( s == 1 ) {
if( ss > 3 ) {
tt = 12;
} else {
tt = 12;
}
} elseif( s == 2 ) {
if( ss < 2 ){
tt = 12;
} else {
tt = 12;
}
} else{
if( ss > 3 ){
tt = 12;
} else {
tt = 12;
}
}
十九万八千歩譲って、条件が後でいろいろ変更になったとしても、
せめて見直してリファクタリングぐらいしろとorz
(変数名はフェイクいれてあえて適当にしてます
if( s == 1 ) {
if( ss > 3 ) { // ?
tt = 12;
} else {
tt = 12;
}
} elseif( s == 2 ) {
if( ss < 2 ) { // ?
tt = 12;
} else {
tt = 12;
}
} else {
if( ss > 3 ){
tt = 12;
} else {
tt = 12; // ?
}
}
tt = 12;
だけで充分のような
NOPのつもりなのでは?
ステップ数かせぎ?
>>766 waitみたいなものとか、前後のロジックを同時にプリフェッチやパイプラインに入れたくないとか、いろいろ
>>760 これってコンパイラが最適化してくれるのかな?
>>768 こんなのは最適化もワーニングも出さないでエラーにして欲しいな。
771 :
760:2007/03/09(金) 20:11:47
最初は、sとssの値に応じてttもそれぞれ違う値が代入されてたらしいです・・・・
度重なる修正や改造によって>760の状態になってしまったのなら、せめてコメント入れて欲しかったですよorz
敢えてこのままにしてあるのか単なる手抜きなのかわからーん!ヽ(`Д´)ノ
中国製のソース全般。
さすがコピー大国、ソースもコピペだらけだぜ!
……orz
>>772 コピペは日本でも当たり前にあるから気にならならない。
コメントがw
中華と言えば変数名で、stlLighteHandleh,stlLefteHandlehって何のことかと思ったよ。
要所要所で微妙に間違えやがってw
h→rに関しては余裕で補完できるレベル。
コメントならそういうのの宝庫だよね、中国製。
セマファだのセマフォアだのセマフォンだのw
日本語でも、handol とかやる香具師いるしな。w
つ[uwarite]
出たw
中国人がpinyinで変数つけてたときは直させたよ。
よめねぇし意味もわからん過ぎる。
と思ったら、今度はローマ字の母音抜きされた
例)一覧->Itiran->Itrn
そっちもそっちでわからんかった。
>>780 >ローマ字の母音抜きされた
日本語のローマ字表記の母音抜きをかましてくるウチの職場より大分マシ。
wktk
783 :
仕様書無しさん:2007/03/11(日) 16:12:44
∧_∧ +
(0゜・∀・) ワクワクテカテカ
(0゜∪ ∪ +
と__)__) +
つーかVIP語(?)使うな。
○racleの30字制限のためそんなのはザラ。
あの制限さっさと外せやとはいつも思ってる。
あと、無理に英単語使って意味が間違ってるヤツとか。
例えば、最新○○番号->New○○No(既に存在するもののうち最新のモノを指す)
そこはNewじゃなくてLastでしょって、言ってもへらへら笑って誤魔化しやがる。
>>785 ちなみにそれだとどういう意味になるんだ?
誤解が生まれるレベルじゃない場合は目くじら立てる必要無いと思うが。
787 :
仕様書無しさん:2007/03/12(月) 00:49:44
NoはNo.が正しい。じゃなきゃNumとかが妥当。
Newで始まってるとなにかのファクトリ(オブジェクト生成関数)
かと思ってしまうな。ところが実は既存のものから最新のを返す
んだと言われると当惑する。
普通の英語では785の意味の最新はlatestだろう。
lastでも通じると思うがnewでは明らかに通じない。
だな
New の新しさはこれまで無かった新しさ
Newestならまだ分かるけど、ふつーそれより先にlatestが出てくるな。
// QAC対処
// exit -1;
って、それじゃ、終了できねえよ。QACがすべてじゃねぇ。
794 :
仕様書無しさん:2007/03/12(月) 07:31:29
○ クラスを全部 Globalってマクロ作って定義してる。
○ キー入力ができたりできなかったりする。
○ 基本的にスパゲティ。どこにとんでいるかで動作が決まってる。
まぁマイコンだけどさぁ・・・。
ひどす。
>>794 無理矢理高級言語を使う意味あるのか?
普通は言語を使い分けてリンクするよな。
>キー入力ができたりできなかったりする。
昔、俺の後ろでそれやって修羅場ってるの見たことあるな。
Javaでそれをやるのは、普通なら難しいのに。w
796 :
仕様書無しさん:2007/03/14(水) 23:37:45
// 値が10以上の場合
if (val > 10) {
あるあ…ねーよw
クライアントアプリにJava使って何のメリットがある?
Javaは通信は強いけどクライアントアプリとして使うにはあまりにも・・・
799 :
仕様書無しさん:2007/03/14(水) 23:42:36
//------------------↓ここから僕のちとちぃ〜〜〜〜〜〜〜〜〜
//----------------あーずるいぞのびた!
// なら俺はここから俺の土地ぃーーーーーーーーーーーーーーーーーーーーーーー
>798
J2EEサーバと通信しやすく、セキュリティポリシーをスカスカにすればローカルマシンも弄り放題。
ってことで、MVCのVはほとんど素のHTML、Mは90%J2EEサーバのEJBに置いて
CをアプレットとJavaScriptの眩暈がするほど華麗な連携でこなすシステムに携わったことがある。
(ちなみにアプレットは基本的にUI持ってない)
ソースも大概だったがこの構造だけで1週間で辞めたくなったorz
# まぁ、各地の事務所が9600BPSのモデムで繋がってて、HTMLファイルの転送すら
# 勿体ないって事情はあったらしいが。
# (だから、VとなるHTMLは各クライアントマシンのローカルに置きっぱ)
>>802 金の掛け方が根本的に間違ってるな。w
そんな特殊ななアーキテクチャにする金でVPN引いたほうがいいのにな。
>>802 Vに素のHTMLは悪いと思えなかったり。
ダイナミックしてないんだから、ビューを果たしてるんでないかい?
日付がNVARCHAR2(8)ってどうなのよ。
>>805 4+2+2に切り分けるわけ?
・・・遺体
808 :
仕様書無しさん:2007/03/15(木) 21:32:59
>>805 俺のいるところも日付の扱いがかなり適当だよ。
DATE、CHAR(6)、VARCHAR2(8)が混在してる
>>808 うちはvarchar2(6) だな。
2100年以降のことなんか考えてない。
さらにnumber(8,0)
ウチはUnixエポックを文字列で…
>804
や、VがHTMLってのははまぁいいとして、Cの泥沼加減がもうすばらしくデンジャラスでさ('A`)
あんな複雑怪奇なアプレットはもう二度とお目に掛かりたくないorz
>805
以前ある奴がそういう設計を持ってきてレビューしろっつーから何考えとんじゃ、と言ってやったら
「どうせ表示するときは文字列化するじゃないの。比較演算だって問題ないしー」
だとさ。
>809
自分が死んだ後のことなんか知るかよ
そういう奴がいるから…
2000年問題みたいなことが起きる?
どうせ10年も使わないから大丈夫
そういう奴がいるから…
データは永続的に使われると思わないといけない
アプリはOS変わることに破棄するけど
>>818 データにもよるんじゃない?
例えばTV録画機器の録画予約の日時データについて話してる時に
「データは永続的に使われると思わないといけない」と盲信的に主張されると、
まわりの人は当惑するだろう。
>805
漏れの場合、少なくともDATEは使わないな。とりあえず8桁とっておく。
型の採用ポリシーの一貫性と根拠が明確なら別に何でもいいけど。
DATTEやってらんないじゃん
誰が上手いこと言えと
824 :
仕様書無しさん:2007/03/16(金) 23:03:36
>>821 業務アプリとかだと、時刻のデータがいらないケースも結構あるので
時刻まで入るDATE使って変なバグを出したくないという理由なのかな。
それでもDATEの方がいいとは思うけど。演算とか楽だし。
変なバグを出したくない(笑)
826 :
仕様書無しさん:2007/03/16(金) 23:38:40
派遣のプログラマー使ってる立場としてはその気持ちはよくわかるw
827 :
仕様書無しさん:2007/03/16(金) 23:41:26
むしろ使わない方が....
DATEの読み方は伊達じゃないっ!!
ナ ゝ ナ ゝ / 十_" ー;=‐ |! |!
cト cト /^、_ノ | 、.__ つ (.__  ̄ ̄ ̄ ̄ ・ ・
ミミ:::;,! u `゙"~´ ヾ彡::l/VvVw、 ,yvヾNヽ ゞヾ ,. ,. ,. 、、ヾゝヽr=ヾ
ミ::::;/  ゙̄`ー-.、 u ;,,; j ヾk'! ' l / 'レ ^ヽヘ\ ,r゙ゞ゙-"、ノ / l! !ヽ 、、 |
ミ/ J ゙`ー、 " ;, ;;; ,;; ゙ u ヾi ,,./ , ,、ヾヾ | '-- 、..,,ヽ j ! | Nヾ|
'" _,,.. -─ゝ.、 ;, " ;; _,,..._ゞイ__//〃 i.! ilヾゞヽ | 、 .r. ヾ-、;;ノ,.:-一'"i
j / ,.- 、 ヾヽ、 ;; ;; _,-< //_,,\' "' !| :l ゙i !_,,ヽ.l `ー─-- エィ' (. 7 /
: ' ・丿  ̄≠Ξイ´,-、 ヽ /イ´ r. `ー-'メ ,.-´、 i u ヾ``ー' イ
\_ _,,......:: ´゙i、 `¨ / i ヽ.__,,... ' u ゙l´.i・j.冫,イ゙l / ``-、..- ノ :u l
u  ̄ ̄ 彡" 、ヾ ̄``ミ::.l u j i、`ー' .i / /、._ `'y /
u `ヽ ゙:l ,.::- 、,, ,. ノ ゙ u ! /_  ̄ ー/ u /
_,,..,,_ ,.ィ、 / | /__ ``- 、_ l l ``ーt、_ / /
゙ u ,./´ " ``- 、_J r'´ u 丿 .l,... `ー一''/ ノ ト 、,,_____ ゙/ /
./__ ー7 /、 l '゙ ヽ/ ,. '" \`ー--- ",.::く、
/;;;''"  ̄ ̄ ───/ ゙ ,::' \ヾニ==='"/ `- 、 ゙ー┬ '´ / \..,,__
、 .i:⌒`─-、_,.... l / `ー┬一' ヽ :l / , ' `ソヽ
ヾヽ l ` `ヽ、 l ./ ヽ l ) ,; / ,' '^i
パンチでDATE
哀愁DATE
3.5インチFDDのシャッターを「持つ所」と、のたまった御仁が居たな。
お願いです先輩、コメントアウトは行単位でしてください。
1つのステートメントの中で数文字コメントアウトとか
訳わかんない事しないでくださいorz
変数を全部ドキュメントに書かなければならないからって、
1つの変数を全然違う用途で使いまわすの止めてくださいorz
NVARCHAR2(8)とDATEってどっちが節約できるの?
835 :
仕様書無しさん :2007/03/17(土) 09:37:50
>>834 OracleだとDATE型だな。7バイトだし。
そんなことは普通、考えません
データベースの良し悪しって結局は容量だろ?
838 :
仕様書無しさん:2007/03/17(土) 15:09:49
排他を全く考えてないマルチスレッドは勘弁してくれ。
もう総合テストに入って、原因不明(実は、競合が原因)の不具合が多発。
いまさら大きな修正はやりずらいし。
何も考えずに作るのは楽だろうが、保守させられる身にもなってくれって感じ。
たぶん、このプロジェクトは失敗確定だろうな。
>>837 あと使いやすさ
たとえばYYYYMMDDを入れる場合、
文字列だと入れる前と入れた後に日付の整合性チェックをしないといけない
(8桁で閏年の計算もして日付として正しいフォーマットになっているか)
DATEであれば入れるときは例外をキャッチすればいいし、出すときはbetweenで必要な期間だけ取得すればいい
>>838 >排他を全く考えてないマルチスレッドは勘弁してくれ。
それマルチスレッドて言わないw
さすがにDBの話じゃないよね。
838 じゃないけど、きちんと排他処理できていない
マルチタスクなアプリはあるな。
アプリの性質上、データの編集はロングタイム トランザクションになることが
多くて、現在の編集状態を表すテーブルがあるんだけど、そのテーブルの
編集にトランザクション管理などの適切な処理をしていないから、
たまに、一つのデータを二箇所で同時に編集していたりする。
それで、いざ登録となったときに訳のわからんエラーになってる。
共有ロックと占有ロック覚えておかないとDBプログラミングで痛い目にあう。
データベースはロックだぜぃ!!
冗談じゃなく、ロック知らないPGが多いから困るな
ああ、そのためにも情報処理の資格試験はもうちょっと重視してもいいと思うんだ
>>845 基本情報処理の範囲はプログラマーとして最低限必要な知識に過ぎないけど、
その程度知らない人がプログラミングするのはさすがにやばすぎる
うちの職場は基本情報処理以上受かってるのは2割弱。
848 :
仕様書無しさん:2007/03/17(土) 20:21:11
みんな日曜日がもったいないのだとポジティブシンキン
うちの職場は数%・・・
しかも資格の無い奴が偉そうにふんぞり返ってるよ。
この状況知ってたら入らなかったんだけどね。
さっさと上級資格揃えて辞めるかな。
基本情報はアホでも受かるだろ…
アホだから仕事片付かないし受験しに行く暇が作れない
アホでも受かるから一応取っとくのか、それとも受験するまでもないのか
どっちだ?
資格が役に立つと思ってるザコは3年くらい我慢して
自分の経歴にむやみに汚点残さないようにしましょう。
>>851 その言い訳は今まで嫌というほど聞いてきた
実際には受験するつもりがない人ばかり
受験しに行く暇がないとか言ってるやつ絶対いるよな
どうせ休日は遊んでるんだろ
誰か俺を呼んだか?
呼んでないから帰れ
基本情報を持ってるからと言って使い物になるわけでも無いが
最低限の知識の証明にはなるな。
基本情報も取れない奴は使い物にならん。
足の裏についたご飯粒
ときめきメモリアルONLINE 94時間目 [大規模MMO]
>>859 確かに「取れない」ヤツは100%使いものにならんな。
「取らない」ヤツはたまに使えるけど。
基本情報を履歴書に書いてくるのは使い物にならんな…
履歴書に資格なしの方がもっと使えない確率が高いと思うが
基本情報は持ってて当然だから資格無しは有り得ないだろ。
最初の足切りラインとしては使えるぞ
>>863
運転免許証と同じくらいかね
毎年2万人受かってるから
ベテランが「資格とりにいきます!納期遅らせてください!!」なんて言ったら顰蹙買うだろ?
だからこっそり行ってるんだよ
落ちてもバレないし
IT関連企業なら情報処理資格取得者は普通もっといるべきなんだよな。
あまりにもレベルの低い技術者が多すぎる
資格とっても評価されない会社多くね?
資格は初心者をスタート地点まで連れて行ってくれるもの
すでにスタートした奴らに取らせても意味ない
業務経験が長るなるほど、有保有者との知識の差が広がっていくのが現実
うちの会社では資格なしで落とすことはないが、資格ありだから
拾い上げるということもないな。
>>871 それは資格試験に落ちた奴の言い訳。
本当にスタート地点に立ってるのか怪しい口だけの奴が9割。
適当に誤魔化してるくせに態度だけはでかい若者が多いのは嘆かわしい限り。
おまいら資格スレでも立てて存分に語り合え。
俺なんか俺なんか
10年前のソースをメンテしてるんだが(当時の担当はすでに退職済
実行環境を変えたらアプリケーションエラーで落ちまくるようになったと言われたので、
調査してたら、ファイルIO関数のほぼ全部が
char cFile[40]; /* ファイル名 */
そりゃあ、D:\Program files\(長いフォルダ名)\(さらに長いフォルダ名) にインストールしなおせば
落ちるよな、そうだよな'`,、('∀`) '`,、 '` ,、 '` ,、 '`
>>875 マジックナンバー使いまくってそうだ・・・
一度整理した方がいいんじゃない?
そんなもん整理始めたら収拾が付かないぞ。
コメントもどこまで信用できるか判らん代物を整理するくらいなら
リプレースしたほうが早いw
協力会社の新人が Ethenet ケーブルといって分からなくて、LAN ケーブルと言っても
分からなかったときには、基本情報取るまで出てくんなとは思ったけどな
4年前の話
わんつーすりーふぉーかてごりぃ〜ふぁいぶっ!!
古い
(・∀・)カエレ!
>>875 ファイル名が長すぎるといってエラーになるのはいいけど、
「落ちる」ってのは、cFile[40] の 40 が問題なのではないんじゃ?
つまり存在チェックをしていないんだろう
ところで、40というのはどこから出てきた数字なんだ?
ライブラリ辺りから出てきた数字だったらかなり嫌だな。
long long i*=i; // 流れ星ぴゅー(^。^
基礎情報受けに行く時間がもったいないならいきなりソフ開なり上級なり受ければいいじゃない
32あれば充分で、それに8も余分を足しとけば
たりなくなるわけがない。
ぐらいの考えだったんじゃね。
FILENAME_MAX や MAX_PATH 辺りをつかっておけばいいのにね.
この二つがどう違うのか知らんけど(ぉ
>875
元がDOS版だったりとかしない?(;・∀・)
>>839 素朴な疑問だが、
「入れる前」でチェックしているのなら、
「入れた後」でチェックする意味あるの?
想定外の経路(直接Accessとかでレコード作成とか)が無い限りは
普通Input側で整合性取れば後は無視しない?
いや、マジで素朴な疑問なんだよ。
俺なら想定外の経路を許可する事をしないモノで。。。
想定外の経路を許可してなくてもどっかのバカが入れるんだよ
仕様書にきちっと書いてあっても間違った試験データ投入してうだうだと言ってくる
>>890 updateのときとか?
# 入れるときに入るかなぁ?
入力側と出力側を別人が作っている場合は、
まあ表示前にチェックってのはアリと言えばアリ。
>>890 19000000はNULLのことです、とか言われたらどうする?
>>890 そういう考えが「サニタイズすればいい」ってところに通じるんじゃないのか?
想定外のデータが嫌なら、DBに制約つけるなりなんなりしてくれ。
そうすれば、構造が変わらない限りは平気になる。
Dim 消しフラグ
Dim 消し消しフラグ
(中略)
'------------------------------------
' 小細工
'------------------------------------
End Sub
勝手にCSVつくってインポートしたがる奴はどこの世界にもいるもんだよ
それはダメなのか?
>>897 勝手に作ったCSVデータを勝手にインポートした挙句データの整合性が取れなくなり、
ソフトに不具合が発生したらデータ作成した本人(もしくは指示した人間)が
「データベースが壊れた!バグだ!!修正しる!!!」
と騒いで無料サポートをさせるってパターンが『よく』あるから
>>896のグチになるわけだ。
その対策が
>>890みたいな意見になるわけだけど、そうすると今度は
「データを入れたいのに受け付けない!バグだ!!修正しる!!!」となって
最初に戻る。
899 :
898:2007/03/20(火) 16:37:15
スマソ、上の890は894の間違い
「勝手に作ったCSV」なんて恐ろしいものの入力許すなよ。
入力チェック側も「カンマ区切りのテキスト」しか想定してない場合が多いんだから…orz
もちろん何のエスケープもなしで。
903 :
890:2007/03/20(火) 19:45:01
なんか、色々有るんね。
みんなの苦労が良くわかったよ。
おれは幸せなんだね。
ごめんね>みんな
その時出来る対処はその時やっておいた方があとで
記憶を取り戻してからやるより結果的に時間の節約になるから
やったほうがいいね。
やる時間がないなら、せめて警告コメントくらいは入れておくもんだよ。
905 :
仕様書無しさん:2007/03/21(水) 08:04:20
catch(Exception e) {
// Exceptionをcatchしたらthrowする
throw e;
}
逆に入力チェック完璧って前提だから、出力の際にチェックしなくていいっていうのは
どういう仕事なのか気になる。
余裕の無いプロジェクトだとありがち。
え?
出力時にチェックいるの?
常識的に考えて入力チェックしたものを出力時再度チェックする必要ないぞ?
どういうシステムなのかにもよるが
それは認識が甘いと言わざるを得ない
入力時に正しいデータだったのに、出力するときに不正なデータになってたら、ただのバグだと思うが。。。
>>911 つまり、ただのバグを検知できる、という指摘もありだな。
>>911みたいな人ってswitchのcaseが仕様上の選択肢すべてを
網羅しているときにはdefaultを書かないんだろうな。
いや、バグの検出と、入力のチェックを区別つけないで議論してるヤツとかダメだろ。。。
defaultに到達したらバグだろう普通にw
その場合バグ解析コードだろdefaultは
2chでよくいる、「バグがあっても動いてしまうコード」をいい書き方だって固く信じてるやつって、
バグ検出と入力時のチェックを概念的に混同してるんだと思われ。
バグの検出と入力のチェックの区別がつけられない奴って
アサーションも碌に使えないんだろうなきっと。
データなんて保存中に壊れることもよくある
「assert で停止するのはデバッグ時のみ」であることを曲解すると
「リリース時はそのまま動き続けるのが正しい」となる。
…気持ちは解らんでもない。
この前、VB4からVB6に移植する仕事をやったけど、全サブルーチンにエラーハンドラがつけてあって、
多くは、Beepを鳴らして、ログにエラー番号みたいのを書き出して、そのまま処理を続行になってた。
現場じゃ、画面が明らかにおかしくなってるようなバグ以外は、そのまま操作を続行しちゃうんだろうなぁ。
入力時のチェックは厳重・厳密に行い、出力時のチェックはゼロ。。。。
マスタ登録部はチェックが多重だが、読み出し部は「マスターが正」だから
チェックも糞もない。データとマスタとのチェックは厳密だろうけど。
これくらいしか思いつかない。
922 :
仕様書無しさん:2007/03/21(水) 15:20:06
日付・時間が
char(6)Char(8)
とか勘弁してください。
比較が面倒です
西暦・和暦変換するクラスの名前が
WestanYearとなってる。笑い殺すつもりかよ
924 :
仕様書無しさん:2007/03/21(水) 16:02:11
Seireki2Warekiだろ
CalenderConversがいいんでないか?
28時とか入っててびびった(char(4)で2800)
というか仕様書に書いてもないのにそれが正常とか言わんでくれ・・・
>924
あるあるww
>>926 テーブルの制約で不可にするのが当たり前だろう
>>28時とか入っててびびった(char(4)で2800)
char(4)だと99時99分でオーバーフローになります、
もっと桁をとりましょう
>>922 正確には「時間」ではなくて「時刻」ではないかと。
多くの言語やDBで混同されているみたいだが。
>>929 四徹程度でオーバーフローしてしまうとは情けない・・・か。
>>930 VC(MFC)、C#, Oracleは区別あるな。
ほかのでもあるんじゃね?
>>905 それはよくやる。というか、結果的にそうなることが多い。
#if DEBUG で括ったMessageBoxをいれてるだけのとことか。
似たようなことをやろうとして、↓のようにするやつもいるが…。
catch(Exception e) {
// Exceptionをcatchしたらthrowする
new throw Exception();
}
C++だとthrow; だけでcatchした例外を投げたよね。
エラーをきちんとハンドリングできれてばどこのスタックでキャッチ行っても構わないが
mainからシステムへ落とすのだけは勘弁してくれw
設計書なしでいきなりソースコードだけ渡されて
「直してね」と言われたときは殺意を覚えたな。
古いC++プログラムでよくある話
設計書なしでいきなりmdbだけ渡されて
「VBに移植してね」と言われたときは殺意を覚えたな。
既存物理設計→既存論理設計→新規論理設計→新規物理設計
を行えって言ってるんだよw
>>916 On Error Resume Next に関する恐ろしい話の一つくらいは聞いたことがあろう
バグがあったぐらいで毎回止まってたら仕事にならない
餌が美味しくない。
例外はトップレベルで拾えって規定されたプロジェクトも有ったな。
単にメッセージボックスでエラー文字列表示してるだけだったがw
On Error Goto ErrorHandling
ErrorHandling:
MsgBox "エラーが発生しました。以下に連絡してください" & vbCrLf & _
"090-xxxx-xxxx"
連絡場所が書いてあるだけ良心的だろ
入出力チェックが完璧かどうかどうやって調べるのか。
>>942 レベルがまちまちな作業者が多数作業する場合には苦肉の策としてそうするな
バイナリエディタで電話番号を書き換えるやつがいそうだ
納品時に、嫌いな上司の携帯番号を設定ファイルに記述するんだろ?
あれ、違ったっけ?
951 :
仕様書無しさん:2007/03/24(土) 23:07:32
20MHzで動くRISCマイコンで
数ミリひたすらNopする時間稼ぎループを発見したとき・・・。
RISCのNOPってコンパイラがこっそり入れたりするんだよな。
953 :
仕様書無しさん:2007/03/24(土) 23:48:06
>>951 組み込みではよくある事じゃない?
チップの初期化待ちとか
空ループは最適化すると消えるからタイマーを使うのが常道では?
つvolatileの活用
volatile int i;
while(i<N) i++;
C言語の話だが
956 :
仕様書無しさん:2007/03/26(月) 06:46:27
で、処理が間に合わないと御託が。
組み込みじゃリリースで最適化ナシは当たり前なんだが。
タイマーなんか最初は動いてないし
959 :
仕様書無しさん:2007/03/26(月) 22:18:42
印刷したソースにやきそばソースぶっかけられたこと
スパゲッティならぬソバコード
ASP.NETやってて
<HTML>
<HEAD>
<THML>
</HEAD>
<BODY>
</THML>
</BODY>
</HTML>
当然解析エラーになるわけだが
見た瞬間目の前が真っ暗になった。
なんでこんなものが長々と放置されてたんだorz
どこからどうみても何をしたいのか分からない
クソのようなHTMLとCGIの塊にAjax云々の泥沼をアレな俺ならばなんとなく理解できる。
明日は客に見せるらしいが、ようやくパースエラー出なくなったことを喜んでもらおう。
>>963 Ajaxとかかっこつけてるけど、実際はJavaScript埋め込んだだけだろう。
Ajaxと名前変えただけで流行らせようとする拙さに泣けてくるw
>>964 Ajax云々と言っておけば余計な工数と金がとれるんだよ。
そんくらいわかれボケ。
アジャエックスですという営業がいたらおもしろそーなのに
さすがにとぅくぴっぷはいてもコレはいねーのかなぁ
最初アヤックスと読んでしまったサッカーファンの営業ならいたなぁ。
エイジャックスくらいなら居そうだ。
970 :
仕様書無しさん:2007/03/27(火) 15:09:55
アニジャックス……
∧_∧
∧_∧ (´<_` ) ねーよw
( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ ブルマ / .| .|____
\/____/ (u ⊃
972 :
仕様書無しさん:2007/03/27(火) 15:36:04
アッージャックス
アジャクロス
Web2.0の必殺技か何かです
AjaxもWeb2.0も俺たちに金を落としてくれる
素晴らしい言葉です。
あじぇいあっくす
A-JAXって当たり判定でかいよね
コナミのか