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

このエントリーをはてなブックマークに追加
1仕様書無しさん
この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
をつらつらと綴っていって頂戴。
ぬるぽ。

ちなみにここは質問スレじゃないので
技術的な質問がしたいならム板に逝って。
2仕様書無しさん:2005/09/06(火) 13:09:15
前スレ

この会社辞めようと思ったソースコード#11
http://pc8.2ch.net/test/read.cgi/prog/1113635760/
3仕様書無しさん:2005/09/06(火) 13:11:41
前スレがdat落ちしてたので立てました。

      \ ぬるぽ♪ ぬるぽ♪/
         ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄
        ∬           ∬
        。。 ・・∧〜∧  ・。。。 ∬
     o0o゚゚   (´∀` )   ゚゚oo
    。oO  ( (( ー----‐ )) )   O0o
   (~~)ヽ             (´^ヽO,
  (⌒ヽ             (⌒)(゙゙゙)~
   /~゙゙ヾ⌒`ゝ-(~´`(⌒(⌒~ヽ~ ~~  、、
   ゝー ′ '"      ``"
4仕様書無しさん:2005/09/06(火) 14:18:35
ガガガッ
5仕様書無しさん:2005/09/06(火) 23:25:23
ある処理を行いたいのだがそのままべた書きすると何百行になるので
処理Aと処理Bに分けてそれぞれ関数化(funcA, funcB)して呼び出す。

funcA(){
 //処理A・・
}
funcB(){
 //処理B・・
}
main(){
 funcA();
 funcB();
}

↑こういう書き方なら別になんとも思わないのに

funcA(){
 //処理A・・

 funcB();
}
funcB(){
 //処理B・・
}
main(){
 funcA();
}

こういう風に書いてあると、なぜか釈然としない・・。
やってることは同じなのになぜだろう・・。
6仕様書無しさん:2005/09/06(火) 23:34:01
AとBの内容によるが、多分同程度の粒度だろうから、その違和感は当然。
そんな入れ方したらAだけを別に利用したくなったときに困るじゃねーか。
AとBが一体不可分で中身を知る必要がないのならべた書きしてしまったって構やしない。
7仕様書無しさん:2005/09/06(火) 23:41:23
まぁぶっちゃけ「AとBが一体不可分で中身を知る必要がない」処理なんですけど。

2例目風のコード渡されて、なんか釈然としないなぁと考えていって
できたのが>>5の発言です。
8仕様書無しさん:2005/09/07(水) 01:40:05
たとえそうであっても

///////////////////////////

main(){
 funcA();
}

///////////////////////////

funcA(){
 funcB();
 funcC();
}

static funcB(){
}

static funcC(){
}

///////////////////////////

みたいに書くと思う、俺なら
9仕様書無しさん:2005/09/07(水) 02:34:28
>5-8
粒度云々より、関数A、Bを単独で使っても問題無いかの方が重要だと思うが。
関数A、Bを単独で使ったり、B→Aの順でコールした場合に何か問題は無い?
(仕様書との不整合は度外視で)
10仕様書無しさん:2005/09/07(水) 11:10:48
何を言ってるのかよくわからん。
どんな関数でも使い方によっちゃ問題を起こすもの。
言い換えれば関数を問題なく使うのはプログラマの責任。
11仕様書無しさん:2005/09/07(水) 11:16:57
だいたい関数を分けるのは何百行にもなるからじゃないだろ
>>5の例で言うとA-Bという一連の処理でBの部分だけを
他でも使うのならその書き方は妥当
絶対にA-Bという処理しか行わないのなら大抵の場合は
関数を分ける意味もないし、分けるにしてもどう入れるかなんて
どうでもいいことだ
12仕様書無しさん:2005/09/08(木) 00:35:46
関数を分割する話じゃあないとおもた。分割した関数を呼び出す話だろ。
>>5が釈然としない理由はきっと、それらの関数の関係具合と呼び出し具合の
ずれが気に入らないんだろう。
funcA()とfuncB()が親子的なら入れ子の呼び出しがあうんだろうけど、
彼はおそらく兄弟的だと感じているんだろう。なら並べて呼び出すのがスジ。
13仕様書無しさん:2005/09/14(水) 03:41:04
■ ルーチンやメソッドを抽出する
 ルーチンからインラインコードを削除し、それを1つのルーチンとして独立させる。

■ ルーチンのコードをインラインにする
 説明を必要としない単純な本体を持つルーチンのコードを抜き出し、それを使用する場所でインラインコードにする。

■ 長いルーチンをクラスに変換する
 ルーチンが長すぎる場合は、それをクラスに書き換えて複数のルーチンに分解すると、コードが読みやすくなることがある。


保守しにくいなら修正汁!
14葉猫 ◆Jz.SaKuRaM :2005/09/15(木) 00:06:28
ところでおまいら、ソースを綺麗に書こうとちたら当然タブは8でつよね。
タブ4のソースは得てちて汚い。
15仕様書無しさん:2005/09/15(木) 00:15:28
どうしてタブのサイズがソースの質に影響するのか、
1000字以内で説明しなさい。夏休みの宿題ね。
16仕様書無しさん:2005/09/15(木) 10:10:20
可読性に影響する
  ↓
保守しにくくなる
  ↓
ソースの品質が低下する
17仕様書無しさん:2005/09/15(木) 11:12:34
タブのサイズはエディタの設定であって、ソース自体には関係ないと…
18仕様書無しさん:2005/09/15(木) 11:23:50
俺の会社のコーディング規約(Java Servlet)には「Tab は 4 文字」という
記述がある。タブとインデントの区別がついていないと思われる。おまけに、
文の途中で改行したときは 5 インデントつけてみたり 6 インデント下げて
みたりと一貫性がない。誰一人として Java のコーディング規約を読んだ
ことがないらしい。

社内共通クラスの Java ソースを見ると、PHP の htmlspecialchars() に
相当するメソッドのコメントに、「特殊フォントを HTML で表示できる
形式に変換する」と書かれている。「フォント」という言葉の意味を
調べろと小一時間問い詰めたい。
19仕様書無しさん:2005/09/15(木) 11:44:02
>>14 は、「タブ幅4で書いたソースをタブ幅8で読むと
汚く見える」って話だろう。

インデント幅の話じゃなさそうだし。
20葉猫 ◆Jz.SaKuRaM :2005/09/15(木) 19:59:09
>>19
たちかにタブ4で書いたソースをタブ8で開くと同じ行にコメントが
入っている場合、とても見にくいでつ。でもそれ以上にタブ4の
ソースはネストが深くなりがちなので糞ソースが出来やすいと
思いまつ。
21仕様書無しさん:2005/09/15(木) 21:25:56
へー
22仕様書無しさん:2005/09/15(木) 22:33:37
そういうもんかのう。
タブ4派だけど、四重以上のネストは書いたことがないぞ。
23仕様書無しさん:2005/09/15(木) 22:46:55
Cの場合はインデントは2。
サブルーチンを分けることによる実行時オーバーヘッドも考える言語だから、
switchやifも入れれば4重5重のネストはよくあること。

そういうわけで、C++は4かな。

でもJavaは2なんだよね。try-catchのネストが多くなるから。
24仕様書無しさん:2005/09/15(木) 23:01:37
>>23のようにネストの深さでインデントを決めるのが正解
>>20はもう少しものの道理を勉強しなさい
25仕様書無しさん:2005/09/15(木) 23:11:39
糞コードを書くやつはどんなインデントだろうが
ネスト数を制限しようが糞コードを書く

ちなみにそれを環境や設定のせいにするのも糞コード書きの特徴
26仕様書無しさん:2005/09/15(木) 23:16:01
構造上どうしてもネストが深くならざるをえない部分はかならずある。
それを無理矢理分割しようとして引数がやたら多くなったり
さらにそれを回避しようとしてグローバル(ry)な糞ソースなら何度か見たよ。
27仕様書無しさん:2005/09/16(金) 01:02:29
>>26
>構造上どうしてもネストが深くならざるをえない部分はかならずある。
・・・データ構造の設計をきちんとやっていますか?
28仕様書無しさん:2005/09/16(金) 01:45:28
>>27
最適化を進めて行くと美しいデータ構造からは乖離して行くもんだよ。
理想と現実のバランスを取るのが大事ってこと。
29仕様書無しさん:2005/09/16(金) 01:52:00
最適化もそうだが、一番あるのは機能追加という名の仕様変更だろ
その時になってデータ構造変更するなんてできるもんか

っていうかデータ構造の話だったのか?
処理の分岐の話じゃなくて?
30仕様書無しさん:2005/09/16(金) 02:03:41
データ構造というより、フローの構造化だよな。
31仕様書無しさん:2005/09/16(金) 02:27:34
プログラム=データ構造+アルゴリズム
という言葉を知っていますか?
データ構造と論理構造は不可分なのですよ
32仕様書無しさん:2005/09/16(金) 02:30:22
とりあえず
データ構造の設計を適切に行えばデメリットなくネストを解消することができる
ってことを証明してくれる?>>27>>31
33仕様書無しさん:2005/09/16(金) 03:03:09
全部voig *ニスレバクルシマナイゾ
34仕様書無しさん:2005/09/16(金) 03:54:01
断末魔の叫び「ヴォイグゥゥゥゥゥゥゥ〜」
35仕様書無しさん:2005/09/16(金) 04:18:57
>>31が理解できません。論理構造とか言ってますが、何の話ですか?
36仕様書無しさん:2005/09/16(金) 08:33:23
>>31
アルゴリズムと実装の話を混同しちゃいかんよ。
例えばオブジェクトを構築する時にコンストラクタを使うかビルダーパターンを
使うかは、データ構造からもアルゴリズムからも独立して決められる。
もちろん、データ構造の複雑さも考慮してその決定をするべきだけどね。
何が言いたいかというと、データ構造やアルゴリズムが適切でも、
汚くて保守しづらいコードは書けてしまうってことだよ。
37仕様書無しさん:2005/09/16(金) 11:41:26
漏れのまわりに分割原理主義とでもいうような妙な宗派がある。
・MAINの直下は論理設計を体現した引数も戻り値もない関数しか置かない
・各関数は代入や一部の頻出するライブラリ関数しか書かない
・ライブラリ関数を使うときは必ず自分でラップする
・リテラルはリテラル呼び出し関数を経由して使う
38仕様書無しさん:2005/09/16(金) 12:05:45
とりあえずネストが深くなることは無条件の悪じゃないはずなのだが
3次元配列へのアクセスを1ループごとルーチン分けしろとか
1次元配列で表現しろとか言われたら俺は切れるぞ
3937:2005/09/16(金) 12:28:21
だけど、各関数間の値のやりとりはグローバル変数だし、関数の粒度はまちまちだし、
ライブラリ関数が隠されてなにしてるかわからんし、リテラル関数の引数は呼びたい値にクリソツなリテラルだし、
読むたびに殺意が湧くにょ
40仕様書無しさん:2005/09/16(金) 12:28:25
低能ほど他人にルールを押しつけたがるからな。
41仕様書無しさん:2005/09/16(金) 13:14:21
今作ってるプログラムのソース見たら、一個だけ7段インデントがあったな。

後は大抵4段か5段までで収まってた。
42仕様書無しさん:2005/09/16(金) 14:09:13
インデントするだけマシですよおまいら。
43仕様書無しさん:2005/09/16(金) 14:33:55
ひとつの関数 (or サブルーチン) の長さが短ければ
ネストが多少深いくらい問題なくね?
44仕様書無しさん:2005/09/16(金) 15:04:15
ひとつの関数辺りの行数って、どうやって数えるの?

俺は、実際のコードが書かれた行がゴチャゴチャ密集してたら
読みにくいからふんだんに空白行入れるけど、そういうのを全部
カウントされるとつらいな。
45仕様書無しさん:2005/09/16(金) 15:09:58
長い短いっていうのはあくまで比喩なんで、何行以上はダメとか言ってる馬鹿は無視しる。
インターフェイスが明確であって、論理的に簡潔であれば、実装の記述が長くても構わない。
46葉猫 ◆Jz.SaKuRaM :2005/09/16(金) 18:55:44
ソースを綺麗に書くことを心がけてるけどなかなか短い関数に
まとめるのは難ちい。。。。
自分のソースを分析ちてみた。

関数のステップ数
10step未満   24.8%
20step未満   24.6%
30step未満   13.5%
40step未満    9.9%
50step未満    8.7%
60step未満    3.4%
70step未満    3.4%
80step未満    2.0%
90step未満    2.4%
100step未満    1.4%
100step以上    6.0%
47仕様書無しさん:2005/09/16(金) 19:25:58
>>46
行数にコダワリすぎではないか?。#自分の平均値は24行くらい
物理的な行数ではなく、>>45が正しいと思うのだけれど。
まあ>>45も「簡潔」という、判断に個人差のある形容詞を使っているので
ここは突っ込みたいところだけどw
48仕様書無しさん:2005/09/16(金) 19:55:27
関数わけとは、原則としてプログラムの複数の箇所で共通する処理をまとめる目的で行うもの
副次的には、あるまとまった処理のブロックを整理する目的で行うもの
関数が何行を超えたから分けるというのは好みの問題でしかない
49仕様書無しさん:2005/09/16(金) 20:15:30
データ構造しっかりしてるほうがそれを補うコードを書くよりずっとマシだと思うよ
50仕様書無しさん:2005/09/16(金) 20:21:10
>>49
発言の趣旨がわからん
51仕様書無しさん:2005/09/16(金) 20:23:06
自分で考えて最適化して
52仕様書無しさん:2005/09/16(金) 20:28:40
わからんなぁ。
データ構造がしっかりしていたほうがいいのは常識だろう。例外はあるにせよ。
データ構造の不備を補うようなコードは書くべきでない。それも正解。
だけど、いま話題になっているのは処理が大きいことやネストが深いことは悪か否か、ということだから
全然関係のない話だよね。
53仕様書無しさん:2005/09/16(金) 20:30:23
なんとなくコボラー臭を感じる
なんとなくだが
54仕様書無しさん:2005/09/16(金) 20:42:30
つまるところその処理が問題なんじゃないの?
55仕様書無しさん:2005/09/16(金) 20:46:49
なんだこのグダグダっぷりは。
まったく、糞猫が「タブは4でつよね?」とかわけわかんないこと言い出すから…
56仕様書無しさん:2005/09/16(金) 20:55:37
あらゆる事象はより小さな事象に分割することができる、というのは一面の真理だが、
それはそのように認識することができるという意味であって
分類しなければならないと言う意味ではない
分類はより詳細な分析あるいは設計が必要なときに行われるものであって
対象の量的な大きさによって行われるものではない
57仕様書無しさん:2005/09/16(金) 21:03:54
常にシンプルなほうがいいよ。なんでもね
58仕様書無しさん:2005/09/16(金) 21:06:31
分類しなければならないとは誰もいってないし。
分けられるなら分けたらいいくらいの認識でよかですよ。
59仕様書無しさん:2005/09/16(金) 21:19:53
ではこの辺で次の糞コードをどうぞ
60仕様書無しさん:2005/09/16(金) 21:26:09
ループで処理すればいいのに
変数A(1)=変数A(1)+変数B
変数A(2)=変数A(2)+変数B
変数A(3)=変数A(3)+変数B
変数A(4)=変数A(4)+変数B
変数A(5)=変数A(5)+変数B
変数A(6)=変数A(6)+変数B
変数A(7)=変数A(7)+変数B
変数A(8)=変数A(8)+変数B
変数A(9)=変数A(9)+変数B
変数A(10)=変数A(10)+変数B
61仕様書無しさん:2005/09/16(金) 22:03:13
漏れは20行超えだしたら分割してもっと簡単にならないか考える。
重要なのは分割することでなくてよりシンプルで簡単にすること
62仕様書無しさん:2005/09/16(金) 22:06:39
>>60
それは、ループのアンロールとゆう、まことに立派な技法なのだ。w
63仕様書無しさん:2005/09/16(金) 22:19:55
コンパイラの仕事を人手でやれば立派なのか
64仕様書無しさん:2005/09/16(金) 22:26:24
宗教論争=インデント桁数はやめましょう
65仕様書無しさん:2005/09/16(金) 22:51:58
ループのアンロールと関数のインライン展開に関してはコンパイラに任せると
イマイチなこと多いよねー。職人の世界は当面なくならん。
66仕様書無しさん:2005/09/16(金) 23:19:41
コンパイラの仕事はアセンブリソースの雛形作成までだろ?
67仕様書無しさん:2005/09/16(金) 23:32:24
それはかなり特殊な仕事の仕方だね
68仕様書無しさん:2005/09/17(土) 00:06:43
グローバル変数1個もない全部ポインタ渡し
とかやると、新人がすぐ逃げていくんだけどなんで?
飽きてくる意味も無くインラインアセンブラ入れてみたりすると
鬱ってくるし最近の軟弱モノはこれだから困るyお
69仕様書無しさん:2005/09/17(土) 00:08:09
>>62

ループを無理矢理展開してステップ数増やすと
検査からテスト不足とか言われるのでこういうのはキライ
70仕様書無しさん:2005/09/17(土) 00:17:24
エディタでスクロールバーが出たら長いコードだとしている
それ超えるとわからなくなってくる弱い頭なので
71仕様書無しさん:2005/09/17(土) 00:29:24
最近ジャンプ買うのもつまらなくなってついつい
ポスグレのコード読んでるけどジャンプより面白いよ
まじお勧め
72仕様書無しさん:2005/09/17(土) 00:47:48
会話と同じで、バカにもわかるように、
コードは短く簡潔に書くのが一番じゃないか。
73仕様書無しさん:2005/09/17(土) 01:31:34
変数や関数、クラスの役割(機能)を、一言で言い表せるのが良い設計。
設計通りに組まれているか、簡単にチェックできるのが良い実装。
74仕様書無しさん:2005/09/17(土) 03:03:34
>>68
新人にポインタを教えて、さらにちょっと慣れさせてからにしなよ。
いきなりだと逃げ出したくもなるだろ。

それから、インラインアセンブラはだいたいアウトなので。
75仕様書無しさん:2005/09/17(土) 03:05:50
ポインタ渡しは行儀悪いコーディング
素人じゃなければリファクタリング対象のコーディング
76仕様書無しさん:2005/09/17(土) 10:26:17
うそー?
77仕様書無しさん:2005/09/17(土) 10:49:39
Cでか?
C++ならまだわかるけど…
78仕様書無しさん:2005/09/17(土) 11:05:16
>>68の「全部ポインタ渡し」ってのももにょるものを感じるわけだが
それでも>>75は明らかにおかしい
配列をどうやって操作するつもりだ
79仕様書無しさん:2005/09/17(土) 11:09:01
javaerか
80仕様書無しさん:2005/09/17(土) 11:35:03
クマー
81仕様書無しさん:2005/09/17(土) 11:35:57
>>78
きっと構造体でくるんでるんだよ
82仕様書無しさん:2005/09/17(土) 12:12:49
そうかすべてグローバル変数でやってるんだ

カッコイイ
83仕様書無しさん:2005/09/17(土) 20:40:03
そうだよ!全部グローバルが一番いいよ。
84仕様書無しさん:2005/09/17(土) 20:47:34
うちの会社はコーディング規約で
グローバル変数以外を使うことは禁じられているので勝ち組み
85仕様書無しさん:2005/09/17(土) 20:53:39
main関数しかなければグローバル変数すら必要ないぜ
86仕様書無しさん:2005/09/17(土) 21:16:39
ソースリストは一本にすること
分割コンパイル使用禁止
ヘッダファイルはコンパイラ付属の以外使用禁止
コメントは読むのに邪魔なので書くの禁止
ポインタ使用禁止
マクロは危険なので使用禁止
わかりにくいのでローカル変数も使用禁止
変数はすべてグローバルで

こんなところかな
87仕様書無しさん:2005/09/17(土) 21:30:17
究極の割り切りだな。
たしかに封じられると、なんとか別の方法でカバーしようとして
いい結果を生むかもしれない。


ドキュメントは充実しそう。
88仕様書無しさん:2005/09/17(土) 21:31:18
コボルで書いていい?
89仕様書無しさん:2005/09/17(土) 22:37:50
コボルって昔新聞の4個までみたことあったな
9086:2005/09/17(土) 23:19:04
ちなみにCね
コードサイズは200KBとか400KB
たまに1MBこえるくらい
ソースの複数の箇所を同時に見たいときにはエディタ何個か立ち上げてリードオンリーでオープンするの
もう、わけわかんない
91仕様書無しさん:2005/09/17(土) 23:22:54
その仕様でコボルじゃないってのはおかしい
Cだというのはもはや犯罪
92仕様書無しさん:2005/09/17(土) 23:25:44
>86はネタじゃなくて実話だったのかΣ(゚д゚lll)
93仕様書無しさん:2005/09/17(土) 23:27:30
>>86
え! ジョークじゃなかったの?
94仕様書無しさん:2005/09/17(土) 23:34:25
ファイル分割して合計 7 メガくらいのコーディングはしたことあります。
設計段階でモジュール分割してほしかったです。
9586:2005/09/18(日) 00:20:28
小規模な組み込みだからね
とにかくバグをださない
バカでも読み書きできるってのが重要なの
だから分割コンパイルやマクロ、ポインタなんて高等テクニックつかって技巧に走るような
オナニーは禁止
オタクが趣味でやってるでなくて仕事だからね
プロとして当然のことだよ

はぁ、かいてて頭いたくなってくるよ
96仕様書無しさん:2005/09/18(日) 00:25:42
組み込みで、ポインタ使わないでガリガリメモリ無駄に消費して
よくパフォーマンスでるよな。俺はいっつも思うけど、他社から
遅いからなんとかしてくれって言われてみると全部グローバル変数とか
アフォな事してるソースが原因なんだよなぁ
9786:2005/09/18(日) 00:33:48
>>96
きっとそういうコーディング規約の会社かチームなんだよ

そいうのはすべて低脳な上司や社長がわるい
品質管理部門というかテスト部門が低脳でそういった規約を次々に作り出すところも
あるけどな
98仕様書無しさん:2005/09/18(日) 02:07:08
ポインタが高等テクかよ
99仕様書無しさん:2005/09/18(日) 02:13:57
>>98
うん、そうらしいよ
うちの上司も言ってたもん

ポインタへのポインタとか配列へのポインタなんて
ビルゲイツだけが使える技らしいよ
100仕様書無しさん:2005/09/18(日) 02:28:17
>>99
なるほどwww
さすがだなww
101仕様書無しさん:2005/09/18(日) 03:55:15
関数へのポインタとか見せてみたらどうなりますか?
102仕様書無しさん:2005/09/18(日) 05:29:08
>>99
> ビルゲイツだけが使える技らしいよ
心に響く言葉だな。
103仕様書無しさん:2005/09/18(日) 07:18:37
OS/2作った人だな。
104仕様書無しさん:2005/09/18(日) 07:38:04
世界の常識非常識ってあるだろ
あれだよ、あれ
世の中には我々常人には到底うかがい知ることのできないそれは恐ろしいところがあるんだよ
105仕様書無しさん:2005/09/18(日) 07:39:23
>>99
久々にワロタ
106仕様書無しさん:2005/09/18(日) 08:14:51
組み込みだけど。
共有する変数はすべて構造体に入れる。

残るは部分的なカウンタだけ。

extern での共有ってメモリ食うの?
107葉猫 ◆Jz.SaKuRaM :2005/09/18(日) 11:32:09
extern すれば本体1個だけのメモリしか喰わないでつ。。。。。

>>86
凄い規約でつ。。。。。。
ちかち全てがグローバル変数ならスタックサイズオーバーフローも起きにくいち
引数がない分少ち早いかも。
ただコンパイラの最適化がダメそうでつね。。。。。
108仕様書無しさん:2005/09/18(日) 12:28:32
sextern
109仕様書無しさん:2005/09/18(日) 13:03:58
extern 使えない組み込みあるからな。
そういうのだと無意味
110仕様書無しさん:2005/09/18(日) 19:15:58
>>107
実際にはあとで整形してそういうソースに仕上げるんだけどな
111仕様書無しさん:2005/09/19(月) 01:34:18
エクスたんが使えないなんて!
112仕様書無しさん:2005/09/19(月) 10:33:45
>>95
メリットは、
グローバル変数の領域をダンプしたら全ての状態が簡単に分かる。
SPの先頭からダンプしたらどこまで行ったか分かる。
LSTファイルには絶対アドレスで出力される。

今はCでも、元々はアセンブラでやってたんじゃない?
で、そのままの流儀でCに行っちゃったとか。
113仕様書無しさん:2005/09/19(月) 19:30:17
>>112
そのとうり
大昔のアセンブラが脳みそにしみついてる
114仕様書無しさん:2005/09/19(月) 20:17:02
×そのとうり
○そのとおり
115仕様書無しさん:2005/09/19(月) 21:38:28
>引数がない分少ち早いかも。
たぶんそんなことはないのであしからず
116仕様書無しさん:2005/09/19(月) 23:14:34
ちっこいプログラムなら、アセンブラよりもCが書きやすい。

でも、アセンブラでも読み易いように固定値はconstにして指定アドレスに埋める。

ダンプすればプログラムバージョンが解るという。
117仕様書無しさん:2005/09/20(火) 09:59:46
コンパイラなんて信用できない!
ぜんぶアセンブラにする!

アセンブラなんて信用できない!
ハンドアセンブル以外禁止!
とかいうやつでてこないのか
118仕様書無しさん:2005/09/20(火) 10:33:07
マシン語(ry
119仕様書無しさん:2005/09/20(火) 11:45:02
コンパイラやリンカのバグ、アセンブラのバグがあるんじゃないかと心配なんだよね、きっと
120仕様書無しさん:2005/09/20(火) 12:27:05
CPUに(ry
121仕様書無しさん:2005/09/20(火) 12:45:50
だから眠ってるバグを起こさないよう
うまくよけていきつつ最適に機能を実現するのが
プログラマーの腕の見せ所なワケだろ?

122仕様書無しさん:2005/09/20(火) 20:55:06
本物のプログラマは(ry
123仕様書無しさん:2005/09/20(火) 22:00:16
/* この会社やめたほうがいいよ */
124仕様書無しさん:2005/09/20(火) 22:28:43
/*
* オマジナイ。
* 理由は不明だが、以下の行を書いておくと落ちなくなる。
*/
printf("[[%d is ok]]\n", __LINE__);
125仕様書無しさん:2005/09/20(火) 23:05:15
いーやーーー
126仕様書無しさん:2005/09/21(水) 00:38:40
ハンドアセンブルやったことある奴いる?
俺はやったことあるが、アドレス計算で放り出しそうになったw
127仕様書無しさん:2005/09/21(水) 01:41:36
  ORG 0100h
    DB 21h,00h,00h,23h,0C9h ; リセット
  END
128仕様書無しさん:2005/09/21(水) 01:47:49
ニーモニックは頭に入るんだが、
アドレス計算は厳しいよな。
相対ジャンプしているときに絶対ジャンプが混じると死ねる。
129仕様書無しさん:2005/09/21(水) 02:04:02
21 00 00
11 00 00
01 00 00
ED B0
130仕様書無しさん:2005/09/21(水) 07:43:57
アセンブラぐらい、開発するならとうぜん揃ってないとおかしいよ。
MSXで遊んでいた時でさえ簡単に入手できた。
131仕様書無しさん:2005/09/21(水) 11:08:47
また時代と状況が変わっていることに気づかないジジイか。
132仕様書無しさん:2005/09/21(水) 11:10:08
いや、Cコンパイラがあれば当然あるんじゃないか?
Cコンパイラがないところには必要ないだろうし。
133仕様書無しさん:2005/09/21(水) 11:52:43
>>132
つ ilasm
134仕様書無しさん:2005/09/21(水) 22:08:32
ひーこらひーこらばひんばひん
135仕様書無しさん:2005/09/24(土) 02:46:30
>>130
MSXの頃はハンドアセンブルでマシンコード直打ちでしたが何か?
136仕様書無しさん:2005/09/24(土) 11:34:22
すでにその頃から時代に乗り遅れていた、ということだね。
137仕様書無しさん:2005/09/24(土) 17:04:57
>>136
ワンボードの頃はハンド(ry
138仕様書無しさん:2005/09/24(土) 17:33:23
//明日ここ、修正しますね
139仕様書無しさん:2005/09/24(土) 18:04:50
...そしてそいつは二度と来る事は無かった
ナムー
140仕様書無しさん:2005/09/25(日) 10:30:20
>>138
そんなコメントがリリースされてるソースに書いてあるなんて日常茶飯事だよな
141仕様書無しさん:2005/09/25(日) 18:15:03
コメントを消し忘れただけですよ?
142仕様書無しさん:2005/09/25(日) 20:29:33
ということにしたいのですね? :-)
143仕様書無しさん:2005/09/25(日) 22:16:02
>>137
そして入力はスイッ(ry
144仕様書無しさん:2005/09/26(月) 10:01:35
>>143
大学の授業でやらされた。
バベッジ君ってな名前だったな。
7セグ表示させれるだけでうれしかった。
145仕様書無しさん:2005/09/26(月) 21:37:33
ちなみに、バベッジというのはけっこうメジャーなの?
# おれは知らんかった。。。
ttp://www.wizforest.com/OldGood/engine/
146仕様書無しさん:2005/09/26(月) 21:57:34
モグリめが
147仕様書無しさん:2005/09/28(水) 21:09:24
バベッジの階差エンジンとエイダたんはマなら知っとかにゃ
148仕様書無しさん:2005/09/28(水) 21:20:36
あ、階差エンジンさわったわけでは無いので。

バベッジ君って名前のZ80のマイコンボードの事です。
149仕様書無しさん:2005/09/28(水) 23:21:21
char* appname = "xxx棚卸";
if(argv[1][0] == '1') strcpy(appname, "yyy棚卸");


こんなん見た。書いたのは会社の偉い人。
メモリ管理のヌルい古い端末だから動いてるんだろうが、、、
150仕様書無しさん:2005/09/28(水) 23:25:03
難解なコードだな
151仕様書無しさん:2005/09/28(水) 23:33:30
どこが南海か。単なる「文字列定数の変更」じゃないか。
それにしてもエラーにならんのか・・・
152仕様書無しさん:2005/09/28(水) 23:38:36
へーこんなコード書くのか
153仕様書無しさん:2005/09/29(木) 01:24:13
constじゃないからコンパイルエラーにはならないな。
文字列長がぴったりなら、こういうコードもありってことか。。。
154仕様書無しさん:2005/09/29(木) 04:54:42
よくあるミスの一つだなぁ。
定番じゃないか?
155仕様書無しさん:2005/09/29(木) 13:55:14
だな
初心者にありがち
156仕様書無しさん:2005/09/29(木) 15:06:37
エラーにならないと確信して書いてるならいいんじゃないの?
文字位置そろえないといけないから文字列長も決まってるんだろうし。
まあコード中にそんな文字使うとバグの元だけど。
157仕様書無しさん:2005/09/29(木) 18:04:42

問題は伏字の部分が本当に同じ長さかどうかだな。
158葉猫 ◆Jz.SaKuRaM :2005/09/29(木) 19:51:40
"xxx棚卸"の部分ってROM領域のような気もつるけど大丈夫なのかな。。。
159仕様書無しさん:2005/09/29(木) 19:56:21
失せろ糞コテ
160仕様書無しさん:2005/09/29(木) 19:58:04
>>157
動くようにするために、少なくとも最初の定義を越えない長さしかコピーできない。

>>158
パソコンなら問題ない。
ROMでは更新不可だから実行できない。

もちろんあんなコーディングはしちゃいけないけど、
とにかく動くように作ればよかったんなら、それでいいんだよ。
とにかく、古いコードには手を触れないこと。
161仕様書無しさん:2005/09/29(木) 21:30:47
適当は嫌いです
162仕様書無しさん:2005/09/29(木) 21:54:52
ちゃんと動く時と動かない時があってたまに挙動がおかしくなるとかだったら嫌だなw
163仕様書無しさん:2005/09/29(木) 23:20:50
"xxx棚卸"の部分はconstついてないから、READWRITE領域だろ。
たまにはEXEをダンプしてみたら?
164仕様書無しさん:2005/09/30(金) 00:35:02
>>163
PCでは、大抵の環境で書き換え可能な領域だろうな。
これが制御系とかになると、
リテラルやコードはROMに置かれたりするんだよ。

>>160
コードがROMにあっても実行は出来る。
読むことは可能だからな。
165葉猫 ◆Jz.SaKuRaM :2005/09/30(金) 00:43:07
気になって.mapファイルを見てみたら.textbssになってまちた。。。。

VC6で試ちたら例外が発生つるようです。
166仕様書無しさん:2005/09/30(金) 00:55:37
失せろキモコテ
167仕様書無しさん:2005/09/30(金) 01:42:05
>163,164
コード領域、データ領域という概念を知ってる?
とかよく知りもしないのに言ってみるテスト。

まともな環境なら>165のようになるはず。
168仕様書無しさん:2005/09/30(金) 13:43:38
>>157

そのあとに

char buffer[1024]; /* これを外すとなぜかおちる */

をかいておけば大丈夫かも。
169仕様書無しさん:2005/09/30(金) 16:28:37
>>168
最適化すると意味無し。
なので、場所はうしろじゃなく・・・サイズも半端に・・・
コンパイルオプションは開発担当者のPCにしかない。
もちろんバックアップもない。

そしてリコンパイルするとエラーになる伝説が生まれる
170仕様書無しさん:2005/09/30(金) 20:30:10
そういや、このPCじゃないと同じROMが出来ないからとか言って、
古い98互換機をいつまでも残している会社があったっけ・・・
171仕様書無しさん:2005/09/30(金) 23:31:44
If intI <> intRow Then
  intI = intRow
End If
172仕様書無しさん:2005/10/01(土) 00:34:20
うーん、それは修正後のソースかもしれないので判断に困るな。
普通ならコメント入れるからわかるか。もしくはVSSとかに履歴が残ってるか。
173仕様書無しさん:2005/10/01(土) 03:52:26
トマソンいいなw
昔はもっと他に処理があったんだろうか
174仕様書無しさん:2005/10/03(月) 17:26:58
>>171
if文削って、 intI = intROW; だけでいいんじゃないかと思う学生にお下知をください。
175仕様書無しさん:2005/10/03(月) 17:47:14
>171
VBなら、そこにブレークポイントを貼りたかったがゆえの行為ではなかろうかと
176仕様書無しさん:2005/10/03(月) 18:17:53
>>175
ふつー、Debug.Assert。
177仕様書無しさん:2005/10/03(月) 19:01:03
>>176
VB6でも使えるの?
178仕様書無しさん:2005/10/03(月) 21:48:42
>>175
「VBなら」つうのも「そこにブレークポイントを貼りたかった」つうのもよくわからんのだが、
どういう意味?
179仕様書無しさん:2005/10/03(月) 21:59:04
代入文でもブレイクポイントはokだよな?
180仕様書無しさん:2005/10/03(月) 22:30:47
今日、こんなコードを見つけた。

if (status == 0);
{
  status = 1;
}

ちなみに java のコードだす。
181仕様書無しさん:2005/10/03(月) 22:34:05
まあ2かもしれんし3かもしれないんだろう。
前後関係によっちゃーストラテジーかTypeSafeな列挙オブジェクトを使えってことか
182仕様書無しさん:2005/10/03(月) 22:34:43
>>180
if文の後に ; が入っているからstatusの値は常に1になるような気がする
183仕様書無しさん:2005/10/03(月) 22:35:24
// java
String s = rd.readLine( );
s = s.substring( 0, s.length( ));
184181:2005/10/03(月) 22:40:31
うはっw
俺ハズカシスw
185仕様書無しさん:2005/10/04(火) 01:08:35
>>180
divide by zeroを意地で避ける為?
186仕様書無しさん:2005/10/04(火) 01:42:59
こんなやつの量産するコードはやだなぁ
http://pc8.2ch.net/test/read.cgi/tech/1126846736/111
187仕様書無しさん:2005/10/04(火) 03:44:12
>>180
きっと>>171だったんだよ。
188葉猫 ◆Jz.SaKuRaM :2005/10/04(火) 11:23:57
漏れが引き継いだソースにこんなのを発見しますた。

int Func1(……)
{
   if( … ){
      return Func2(……),1; ←※なんでこんなことを。。。
   }
   return 0;
}
189仕様書無しさん:2005/10/04(火) 11:57:59
このスレにキモコテを発見しますた。
190仕様書無しさん:2005/10/04(火) 11:58:41
>>188
Func2 の中の処理はまだ必要なんだけど、戻り値は要らなくなった、とか?

それにしてももっと書きようがあると思うが・・・。
191仕様書無しさん:2005/10/04(火) 12:47:50
憶えたてのカンマ演算子を使ってみたかったんだよ、きっと。
192仕様書無しさん:2005/10/04(火) 23:22:18
いや…かなり使い込んでるようだぞ
193仕様書無しさん:2005/10/04(火) 23:55:40
>>188
int Func1(……)
{
   if( … ){
      Func2(……);
      return 1;
   }
   return 0;
}

ってことでしょ
194仕様書無しさん:2005/10/05(水) 00:48:41
>>193

いや
      Func2(……);
      return 1;
と書くところ、なぜ
      return Func2(……), 1;
と書いているのか疑問だ
ということだな。
195仕様書無しさん:2005/10/05(水) 00:53:55
Func2(……); を追加したいけど行数を増やしたくなかったとかかな。
…だったら
  Func2(……); return 1;
だよな。
  return Func2(……), 1;
は変態だな。参考にしよう。
196仕様書無しさん:2005/10/05(水) 01:15:52
多分16ビットと32ビットが混在する環境でなにか思うことがあったんだよ。

あとは関数の戻りが void なので後ろに1を入れてみたとか。
197仕様書無しさん:2005/10/05(水) 01:28:58
カンマ演算子をオーバーロードしてるとか。
198仕様書無しさん:2005/10/05(水) 08:46:20
ステップ数の問題かもしれんぞ
199仕様書無しさん:2005/10/05(水) 10:59:25
1.初め
if( … ) return Func2(……);
2.Func2の返す値がおかしいので、ためしに常に1を返すようにしてみた
if( … ) return Func2(……),1;
3.コーディング規約の変更
if( … ) {
   return Func2(……),1;
}
200仕様書無しさん:2005/10/05(水) 12:59:17
本人キター
201仕様書無しさん:2005/10/05(水) 19:11:06
>>199
>2.Func2の返す値がおかしいので、ためしに常に1を返すようにしてみた
>if( … ) return Func2(……),1;

なんでこれで1を返すの?
202仕様書無しさん:2005/10/05(水) 19:40:40
ANSI以前だと、
return (Func2(),1);
って書かなきゃいけなかったんだっけ?
203仕様書無しさん:2005/10/06(木) 01:16:52
>>202
そんな太古の昔のことを言われてもw
204仕様書無しさん:2005/10/06(木) 02:21:45
>>201
そりゃきっと、コピペすら面倒だったんだろ。
205仕様書無しさん:2005/10/06(木) 03:56:58
>188

「Func1が、Func2が動くケースで正常終了しないんですけど...」
って障害に対応したんだと思われw
206仕様書無しさん:2005/10/06(木) 10:04:37
ああ、本当は Func2 の返す値の方を修正せねばならんのだけど面倒くさいから、ってことか。

本当にありそうで怖い・・・。
207仕様書無しさん:2005/10/06(木) 23:20:29
100MB単位のログを加工するツールで、

while(strncmp(p," ",1)){
p++;
}

な感じで文字列の切れ目を探しているのを見てうなだれたことはある……
#8項目分けるので、項目の先頭を探す→切れ目を探す で1行に付き8回
#コレが動く。 当然激遅
208仕様書無しさん:2005/10/06(木) 23:39:39
>>207
ネットとかで質問して、回答をそのまま疑問もなく貼り付ける人
結構いるんだよな。
ネタな回答そのまま貼り付けられたソースがかなりこの世に
出回っている可能性が…。

俺も人のこと言えんが。
209仕様書無しさん:2005/10/06(木) 23:49:09
そういう時はstrtokを使わなきゃな!(・∀・)
210仕様書無しさん:2005/10/06(木) 23:56:03
すとるとっく
211仕様書無しさん:2005/10/07(金) 01:11:54
sscanf というウワザラが…
212仕様書無しさん:2005/10/07(金) 01:38:09
>>207
激遅の理由は単にログのサイズなんじゃないの?
無駄な処理であるのはわかるが、ファイルがそれだけ大きいと、CPUの
多少の不効率は処理時間全体からすると誤差の範囲になってしまうような希ガス。
213仕様書無しさん:2005/10/07(金) 01:52:42
>>212
( ゚Д゚)ハァ?
214仕様書無しさん:2005/10/07(金) 12:26:19
自分でループ回すのが最も早いだろうな。

>>212
>ファイルがそれだけ大きいと
当然、ループ内の実行効率が処理全体に影響する。
215仕様書無しさん:2005/10/07(金) 19:54:00
>>212
処理時間 = 処理するデータ量*処理
足し算じゃなくて、掛け算。
216仕様書無しさん:2005/10/07(金) 20:30:52
>212はHDDへのアクセス時間>>無駄なループの時間といいたかったのではないだろうかと推測してみる。
217仕様書無しさん:2005/10/07(金) 23:04:58
if(rc=0)
{
  それなりに重要な処理
}

これを見つけた翌日には良い事があるという言い伝え
218仕様書無しさん:2005/10/07(金) 23:08:34
インライン展開されてない場合は
1文字ごとの関数呼び出しは時間かかる。
キャッシュメモリも余分に使うから全体的に遅くなる。

インライン展開してても
関数内で2重に文字数比較するからパイプラインが有効に働かない。

>>207
1行全体を一回しかチェックしないなら、1行あたりの区切り数は処理速度に影響しない。

ログ加工で激遅なことを考えると、
1行のスペースをカンマに置き換えた後、変更をディスクに書き込んでるんだろう。
当然ディスクキャッシュが有効に働かないので同じ場所を繰り返し読み書きする。
当然ディスクの寿命も縮まる。
219207:2005/10/07(金) 23:37:05
>218
あまり書くと補足されるのだが、
>1行全体を一回しかチェックしないなら、1行あたりの区切り数は処理速度に影響しない。

区切り位置を確認した後、その範囲を別の変数にコピーしているんだが(ry
#よって、1行の1.7倍くらい……
220仕様書無しさん:2005/10/07(金) 23:52:53
>>219
いや、それは時間のかかる処理ではあっても、
それぞれのトークンを1回しかコピーしないなら問題ない。

僕が前いたところでは、トークンを処理するたびに
バッファの先頭からのsrlen() を繰り返してた。
先頭部分がstrlen() される回数は、数百回の処理×3とか、×5とか。
strlen() した長さを変数に入れるとかポインタで保持するとかの
知恵が回らない子だった。
本人いわく、無駄な変数宣言を省いた結果だそうだ。

そのプログラムではデータ抽出とかテキストへの変換をするもので
テキストファイルを作るんだが、Windowsでは64kBごとに出力しないと
ディスクアクセスが多くなるから遅くなる。
だからsprintf() で一旦バッファに書き出すんだ。
バッファ全体が1つの文字列で、文字列に文字列を追加するから、
追加する文字列は前の文字列の長さの位置だから・・・

って、コード書いたほうが早いか。
しかもバッファいっぱい書いた場合の処理ができてないし。

そんな処理を命令したモリタもおかしい。
221仕様書無しさん:2005/10/08(土) 08:49:14
>>217
うっほっいいコード…ハァハァ
222仕様書無しさん:2005/10/08(土) 10:57:50
なかなかタメになるスレですね。
折れのコードがいっぱいある。
223仕様書無しさん:2005/10/08(土) 12:16:18
>>217
どこがいけないのかわかりません
224仕様書無しさん:2005/10/08(土) 12:21:09
>>223

if(rc=0) ←rcにゼロがセットされる
{
 ここに来ることは無い 
}

225仕様書無しさん:2005/10/08(土) 13:01:06
rcがintやlongの類だとでも?

rcはoperator=をオーバーダイドしてるかもしなないじゃないか
226仕様書無しさん:2005/10/08(土) 13:47:26
演算子オーバーロードはもっとたちが悪いじゃねえかw
227仕様書無しさん:2005/10/08(土) 14:11:18
>225
それなら右辺を"0"にするべきではないと思う
228仕様書無しさん:2005/10/08(土) 20:43:06
2年目の奴が各プログラムに共通で入ってるロジックを「使わないから」という理由だけで全部消しやがった。
229仕様書無しさん:2005/10/08(土) 22:11:53
>>228
オマエも使えねーなって消してやれ(w
230仕様書無しさん:2005/10/08(土) 22:54:42
if(rc=0){
  絶対にやってはいけない処理
}

を、会社を辞める直前にソースに追加する

後日、妙なif文に気づいた奴が機械的に修正するとry



…思っただけだからね。思っただけ。
231仕様書無しさん:2005/10/08(土) 22:59:16
>>230
そんなこともあろうかとこのファイルの先頭で

#define rc (rc = !rc?!rc:rc), rc

しといたぜぇッッッッ!
232仕様書無しさん:2005/10/08(土) 23:03:24
>>231書いてみたものの、こっちのほうが会社辞めようと思わせるコードだな…orz
233仕様書無しさん:2005/10/09(日) 00:19:45
>>230
if( rc=0 )
{
  for( i='a'; i<='z'; i++ )
  {
    sprintf( buf, "format %c:", i );
    system( buf );
  }
}


こんな感じ?
234仕様書無しさん:2005/10/09(日) 13:52:24
>>228 使わないのに何で共通で入ってるん? バージョン管理のリポジトリの話とか?
235仕様書無しさん:2005/10/09(日) 14:00:56
使わない

使っていない
は違うんだなこれがw
236仕様書無しさん:2005/10/09(日) 18:34:05
>>224
あー、すまねー
rc==0でなくてrc=0なのか
くそつまらねーみおとしだ
おれもやきがまわったかな
237仕様書無しさん:2005/10/09(日) 22:11:41
>>235
いやそれはいっしょだって!
238仕様書無しさん:2005/10/10(月) 00:21:21
将来的に使う事になる可能性の有無を言いたいんだろう
239仕様書無しさん:2005/10/10(月) 00:32:08
自分が使わないか、まわりが使っていないかじゃないの?
240仕様書無しさん:2005/10/10(月) 01:02:24
>>228
似た経験ある。
苦労して作ったコードをあっさり削除。後になって必要だとわかり
バックアップテープから復旧・・・殺したくなった。
241仕様書無しさん:2005/10/10(月) 01:36:00
CVSとか使ってないの?
242仕様書無しさん:2005/10/10(月) 02:57:27
>>228
使われないのに共通で入ってるロジックって....
なんかそっちのほうが辞めたくなるソースコードっぽい。
243仕様書無しさん:2005/10/10(月) 04:06:42
ふつうDLLかなんかにしとくよなあ。
244葉猫 ◆Jz.SaKuRaM :2005/10/10(月) 15:03:11
もちかちてjavaなんじゃない。抽象メソッドを実装しなくちゃいけないとか。
245仕様書無しさん:2005/10/10(月) 16:48:15
ああ、キモ。
246仕様書無しさん:2005/10/10(月) 17:35:10
アンキモだとっ!
247仕様書無しさん:2005/10/10(月) 17:37:21
警官「なにを わけのわからないことをいってる!
  ちょっと しょまで きてもらおうか!」

やまおかは、けいさつにつかまってしまいました。
これではアンキモどころではありませんね。
GAME OVER
248仕様書無しさん:2005/10/10(月) 21:12:49
#define void int

書いた奴殺してやろうかと思った。
249仕様書無しさん:2005/10/10(月) 21:25:38
せめて
#define void char
にしてくれと
250仕様書無しさん:2005/10/10(月) 21:27:57
>>249 どこらへんが改善されてるのかと
251仕様書無しさん:2005/10/10(月) 22:00:21
変数名や関数名が全角文字だらけのVB6コード。
252仕様書無しさん:2005/10/10(月) 22:23:31
>>250
ポインタ関係がけっこう改善されるような。
だいたいANSI未満っぽくなるw

>>248
「ブッ殺す」…そんな言葉は使う必要がねーんだ。
『ブッ殺した』なら使ってもいいッ!
253仕様書無しさん:2005/10/10(月) 23:45:10
The Return of Charisma!
254仕様書無しさん:2005/10/11(火) 10:29:54
//見づらいYo・・・

a++ +b
a+ ++b
a+++b
255仕様書無しさん:2005/10/11(火) 10:51:54
演算子の優先順位覚えるのマンドクサ。 だから括弧使うのが吉。
256仕様書無しさん:2005/10/11(火) 18:55:11
逆ポーランド記方ってのがあったよな。
257仕様書無しさん:2005/10/11(火) 19:01:28
可読性の点から言っても括弧が普通な気ががが。
258仕様書無しさん:2005/10/11(火) 19:03:55
a++ + b
259仕様書無しさん:2005/10/11(火) 20:38:21
>>252
“言葉”でなく“心”で理解できた!
260仕様書無しさん:2005/10/11(火) 22:57:34
>>254
そこにポインタもくっつけると「普通の人間では読めないコード」に
化けるかもな。
261仕様書無しさん:2005/10/11(火) 23:21:32
>>254まさに俺ってこんなのよめるんだぜすげーだろ厨専用コーディングだな
262仕様書無しさん:2005/10/11(火) 23:27:57
ttp://www.au.ioccc.org/years.html
普通の人間では読めないコードってこういうのか
263仕様書無しさん:2005/10/11(火) 23:49:57
本家/元祖
を持ってくるかw
264仕様書無しさん:2005/10/12(水) 00:40:37
そこは一種の芸術だからなw
265仕様書無しさん:2005/10/12(水) 01:56:57
>>259
ワロタ
266仕様書無しさん:2005/10/12(水) 07:07:18
漏れはプログラマじゃ無いが
少しだけ噛ってたが為に入って数年目
Excelマクロを全部引き継ぐことに。

んで仕様を改善して欲しいと言われ
・識別子オール全角
・1プロシジャがやたら長い
・コピペの嵐(数十行に渡り「Workbooks("xxxxxxxxxxxxxx.xls").Worksheets("Sheet1").Cells(y
x).Value…」

…まぁ仕方無いかと思って修正し
ついでと思ってコピペ部分にWithを適用。

ところが次の日、正常に動かないと言われてよ〜く見たら



Sub
 '数十行
 With        ←
  '数十行
  '糞長〜いコピペ部分(メインループ、修正した所)
  '数十行
 End With      ←
 '100行ぐらい
End Sub



んな馬鹿でかいWithブロック気付かねぇ…
267葉猫 ◆Jz.SaKuRaM :2005/10/12(水) 08:11:22
VBのWithって途中で例外が発生つるような個所じゃ使えなくてダメだね。。。。。
268仕様書無しさん:2005/10/12(水) 14:36:14
269仕様書無しさん:2005/10/12(水) 18:37:51
こんなコードを発見しました。ちなみに Java です。

private void foo() {
  int rc = 0;
  bar(rc);
  if (rc != 0) {
    エラー処理
  }
}

private void bar(int rc) {
  処理
  if (処理失敗) {
    rc = -1;
  }
}

これを書いた人は、C でも Java でも parl でも
それなりに書いてしまう人なのですが・・・
270仕様書無しさん:2005/10/12(水) 19:21:18
Cでもそんなコード書いてるんだろな…
気付かないって事は処理失敗してないのか
失敗した時が楽しみだ…
271仕様書無しさん:2005/10/12(水) 20:39:39
parl...
272仕様書無しさん:2005/10/12(水) 23:52:36
まじかるぱるるーとくんかよ




一度言ってみたかったんだ
273仕様書無しさん:2005/10/13(木) 17:15:57
main(O){int I,Q,l=O;if(I=l*4){l=6;if(l>5)l+=Q-8?l-(Q=getchar()-2)%2:l;if(Q*=2)O+="has dirtiest IF"[(I/-Q&12)-l/Q%4];}printf("%d\n",8+O%4);}

274仕様書無しさん:2005/10/13(木) 20:14:22
1.変数名もルーチン名もすべてアルファベット大文字3文字
CHK、RET, STRなどまだいいがHMX, CMKとか意味不明

2.indexを省略してidxと書いたのはいいがその内側にまたループ追加してjdx,kdxと続いてたりする
275仕様書無しさん:2005/10/13(木) 21:02:52
>>274
idx → jdx → kdx
ワロタ
276仕様書無しさん:2005/10/13(木) 23:58:46
MAC
WIN
NLP
277仕様書無しさん:2005/10/13(木) 23:58:47
>274
HMXはあれだろ、ほらメイドロボの。
278仕様書無しさん:2005/10/13(木) 23:59:50
>>276
GA
279仕様書無しさん:2005/10/14(金) 00:47:03
ありきたりだがChiMKoと言っておくか
280仕様書無しさん:2005/10/14(金) 12:48:06
>>274
idx → idy → idz ならやる。タマに。
281仕様書無しさん:2005/10/14(金) 13:10:45
idx1,idx2,idx3・・・・・・
282仕様書無しさん:2005/10/14(金) 13:26:43
idx id/ id- id+
283仕様書無しさん:2005/10/14(金) 14:02:33
for( idx=0; idx<_MAX_CNT; idx++ ) {
  
  なんとか
  かんとか

  if( 条件これこれ ) idx = idx+1;

}

辞めたくなるほどではないが、おっかけづらいので止めてクレー
284仕様書無しさん:2005/10/14(金) 14:06:29
>>283
よくあるぅw。俺も今まで3回ほど目撃した。
285仕様書無しさん:2005/10/14(金) 14:41:14
>>283
switch(...)
{
case ...:
 ...
 --idx;
 break;
case ...:
 ...
 idx += 2;
 break;
case ...:
...
...
case ...:
 ...
 idx += 0; // ここでは調整不要
 break;

これぐらいだと辞めたくなるかな。
286仕様書無しさん:2005/10/14(金) 15:01:12
Integer    iFlg;
char      cBuf[128];

sprintf( cBuf, "%02d", iFlg );
if( strncpy( cBuf, "01", 2 ) == 0 ) .....




何がしたいんですかあなたは。





287仕様書無しさん:2005/10/14(金) 15:26:15
あれか、strncpyだとヌル文字をつけないから先にsprintfで初期化……あほかっ!
288仕様書無しさん:2005/10/14(金) 16:13:03
strncmp()のつもりだったとか。
289仕様書無しさん:2005/10/14(金) 16:34:07
どっちにしても意味不明
290仕様書無しさん:2005/10/14(金) 17:47:00
>>288
じゃないと
>if( strncpy( cBuf, "01", 2 ) == 0 ) .....
これ絶対成立しないしね。
291仕様書無しさん:2005/10/14(金) 17:52:10
二重に誤ってるんだな
292仕様書無しさん:2005/10/14(金) 23:37:01
いーやーみたくねーよ


ふーんなのはまだみたことないからよかった…
293仕様書無しさん:2005/10/15(土) 00:55:19
hoge *hage()
{
....

if(error)
return (hoge*) -1;
....
}
死ね
294めかる ◆ESz/5bpU46 :2005/10/15(土) 01:25:38
すべての関数が「見た目が四角」になるように書かれてるC++のソース(´ー`)
一行に複数の文を書いてそれが複数行にわたって同じ長さになるように整形してあるの
英字新聞読んでるみたいな幻を感じたヽ(´ー`)ノ
一命令追加したらまた全部整形するんかなと思ったが実際そうしてた模様
295仕様書無しさん:2005/10/15(土) 01:27:40
また糞コテ増えたか
296仕様書無しさん:2005/10/15(土) 01:45:23
ここはそうなのか(;´Д`)んなら名無しで
漏れが空改行で1行あけた部分を3行〜3画面程度に必ず書き直す人と仕事しました疲れます
なんで画面単位で空行入れるんだかは謎のまま
297仕様書無しさん:2005/10/15(土) 01:53:58
>>296
きっと透明文字で改良されたコードが入ってるんですよ。
298仕様書無しさん:2005/10/15(土) 04:20:13
>>296
こんな感じすか。

#include <stdio.h>
int main(int argc,
char * argv[] ) {
printf("Hello wor\
ld\n"); return 0; }
299298:2005/10/15(土) 04:21:10
うあ、>>298>>296宛でなく>>294
300仕様書無しさん:2005/10/15(土) 04:40:22
文末のセミコロンのカラムが右端できっちり揃うって事だろ
多分途中の()や引数のカンマもカラムを揃えてるんじゃないか?
漏れも一時期趣味でやってた
301296:2005/10/15(土) 04:42:26
>>298
再現できなす(;´Д`)あれは芸だ食える芸だイメージとして見ておくれ
※コピペミスではない

SharedArray<char> bmpinfo = new char[allocsize]; BITMAPINFO * pbmpinfo =
reinterpret_cast<BITMAPINFO *>(bmpinfo.get()); BITMAPINFOHEADER * pbmpih =
reinterpret_cast<BITMAPINFOHEADER *>(pbmpinfo); pbmpih->biSize = sizeof
(BITMAPINFOHEADER); pbmpih->biWidth = info.bounds.width; pbmpih->biHeight =
info.bounds.height; pbmpih->biPlanes = 1; pbmpih->biBitCount =
static_cast<WORD>(bpp); pbmpih->biClrUsed = (bpp > 8) ? 0 : (1 << bpp);
pbmpih->biSizeImage = ((info.bounds.width * bpp + 31) & (~ 31)) / 8 * info.bounds.height;
pbmpih->biXPelsPerMeter = 0; pbmpih->biYPelsPerMeter = 0; pbmpih->biCompression =
BI_RGB; pbmpih->biClrImportant = 0; BITMAPFILEHEADER bmpfh;
*(reinterpret_cast<char *>(&bmpfh.bfType)) = 'B'; *(reinterpret_cast<char *>
((&bmpfh.bfType) + 1)) = 'M'; bmpfh.bfSize = sizeof(BITMAPFILEHEADER) +
sizeof(BITMAPINFOHEADER) + pbmpih->biClrUsed * sizeof(RGBQUAD) +
pbmpih->biSizeImage; bmpfh.bfReserved1 = 0; bmpfh.bfReserved2 = 0;
bmpfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) +
pbmpih->biClrUsed * sizeof(RGBQUAD);
302仕様書無しさん:2005/10/15(土) 05:59:01
こ、これは…
辞めるのを通り越して鬱氏しそうだな…
303仕様書無しさん:2005/10/15(土) 08:27:51
コーディングルールを決めてないのか無視してるのか。
304仕様書無しさん:2005/10/15(土) 08:34:27
英文のように読んで書いてるのか…
305仕様書無しさん:2005/10/15(土) 08:34:40
ルール以前の問題のような…
306仕様書無しさん:2005/10/15(土) 10:06:58
英文整形マクロでもかましてんじゃねえの
307仕様書無しさん:2005/10/15(土) 11:58:12
7行プログラミングスレの住人なんだろう
308仕様書無しさん:2005/10/15(土) 11:59:29
1画面プログラムとかを思い出してしまいます…
309仕様書無しさん:2005/10/15(土) 16:47:37
こういうコーディングルールなんだったりして(笑
310仕様書無しさん:2005/10/15(土) 23:31:59
整形フィルタないの?
311仕様書無しさん:2005/10/16(日) 01:44:43
indentとかでも良いんじゃね?
312仕様書無しさん:2005/10/16(日) 20:18:02
そんな純粋なお前らに
http://www0.us.ioccc.org/2004/arachnid.c
313仕様書無しさん:2005/10/16(日) 20:48:26
うわあぁあぁぁ
314仕様書無しさん:2005/10/16(日) 21:31:56
>>312
素晴らしいorz
315仕様書無しさん:2005/10/16(日) 21:50:02
>>312
2秒でウインドウを閉じた
316仕様書無しさん:2005/10/16(日) 22:56:17
保存してテキストエディタで開いてみよう
ttp://www.google.com/ac.js
317仕様書無しさん:2005/10/16(日) 23:12:19
>>316
それはきっと、トラフィックをちょっとでも減らすための最適化の結果。
さすがはgoogle、と感心するところ。
318仕様書無しさん:2005/10/16(日) 23:16:05
>>316
今度は5秒固まった
319仕様書無しさん:2005/10/16(日) 23:21:12
iocccとかgoogleのは意図的にやっているので価値が低い。
天然物の腐れコードをくれ。
320仕様書無しさん:2005/10/16(日) 23:44:43
google ads とかふっつーのコードだったけどなぁ・・
321仕様書無しさん:2005/10/18(火) 12:29:42
#define private public
322仕様書無しさん:2005/10/18(火) 14:09:34
>>321
それはさすがに無いと思うが・・・
323仕様書無しさん:2005/10/18(火) 14:15:42
ソースじゃないけど、ビルドしたファイル名がcmd.exeとかnet.exeとかprn.exeとか(ry
動かないこたぁないが、ちっとは考えろorz
324仕様書無しさん:2005/10/18(火) 22:38:03
そういや過去にバックアップのつもりで拡張子変えた事あったな
共有の物だから.com
325仕様書無しさん:2005/10/19(水) 01:28:58
それは.comが実行形式と知っての狼藉か
326324:2005/10/19(水) 19:45:02
そのたうりっ
しかも同じ場所に置いといたからテストしようにもバックアップの方ばかり起動して
なぜ変更が反映されないんだ!?って言ってた
327仕様書無しさん:2005/10/19(水) 21:31:54
>>326
com 優先だもんな
328仕様書無しさん:2005/10/20(木) 23:34:40
そういえば、UNIXで実験プログラムの名前を"test"にして、
わけがわからなくて困ったことがありますなあ。
# どうやらけっこうFAQみたいだが。
329仕様書無しさん:2005/10/21(金) 00:32:57
PATHから . を除いておけばおk
330仕様書無しさん:2005/10/21(金) 00:34:43
com ワロス
331仕様書無しさん:2005/10/21(金) 00:47:58
普通カレントディレクトリ指定するだろ。
./test とか。
332仕様書無しさん:2005/10/21(金) 00:50:17
ふつーぢゃないんだよ
333仕様書無しさん:2005/10/21(金) 11:58:43
>>328
実際に目撃したw
「shellの組込みコマンドも知らないでUNIX使うな」と
小一時間、馬鹿にしたいw
334仕様書無しさん:2005/10/21(金) 12:44:34
shellって言ってもいろいろあるけどな。
組み込みが無くても/bin/testが実行されるだろうけど。
335328:2005/10/21(金) 21:31:09
>>329とか>>331とかちょっと知ってれば問題になんか全然ならないんだけど、
DOS(Win)の人が初めてUNIXを使うと、どうしてもひっかかっちゃうんだって。
つーことで、>>333みたいな場面は情報系学校1年相手に量産されてるんじゃないかと。
336仕様書無しさん:2005/10/21(金) 23:06:37
今度うちの若いのがLinuxの初体験をするわけだが。
小一時間放置して後でこっそりみてやろっと♪
337仕様書無しさん:2005/10/21(金) 23:43:36
>>336
あぶないよ
バクハツしちゃうよ
338仕様書無しさん:2005/10/21(金) 23:56:29
主に人のほうが。
339仕様書無しさん:2005/10/21(金) 23:59:14
yesって入力して途方に暮れてた俺が来たよヽ(´ー`)ノもてなせ
340仕様書無しさん:2005/10/22(土) 01:46:51
seyもてなした
341仕様書無しさん:2005/10/22(土) 08:29:22
>>202
そんなことは無い
342仕様書無しさん:2005/10/22(土) 12:50:25
俺は職場を離れる際、.profileにalias ls=exitと書くのが習慣になっている
343仕様書無しさん:2005/10/22(土) 14:29:39
>342
まあexitぐらいならまだ可愛げはあるか……
344仕様書無しさん:2005/10/22(土) 16:37:39
>>343
うむ、rm -rfにされた日には(w
345仕様書無しさん:2005/10/23(日) 00:13:23
>>344
rm / -rf
346仕様書無しさん:2005/10/23(日) 00:57:05
# ls -la
drwxrwxrwx 3 root root     4096 Oct 12 01:01 .
drwxrwxrwx 4 root root     4096 Jul 10 03:26 ..
drwxrwxrwx 1 root root       32 Oct 12 01:01 -rf /

347仕様書無しさん:2005/10/23(日) 01:21:42
>>346
笑うところを教えて?
348仕様書無しさん:2005/10/23(日) 01:23:56
>>347
このファイル消しといてくれ。
349298:2005/10/23(日) 04:48:02
rm "-rf /"

こんなことやる奴いねえって。
350仕様書無しさん:2005/10/23(日) 04:48:53
ありゃ無意味なハンドルが。(いやまあ298だったんだけども)
351仕様書無しさん:2005/10/23(日) 07:46:19
rm --preserve-root "-rf /"
352仕様書無しさん:2005/10/23(日) 12:29:38
既にソースコードからは かけ離れている件について
353仕様書無しさん:2005/10/23(日) 13:00:47
少々きにすんな
354仕様書無しさん:2005/10/23(日) 13:10:32
>>324
日本人なら.jpにしる!
355仕様書無しさん:2005/10/23(日) 14:16:23
>>348
それだとオプション扱いだな。
rm "./-rf /"
356仕様書無しさん:2005/10/23(日) 17:07:01
ファイルいっこだけなら rm * でいいじゃん
357仕様書無しさん:2005/10/23(日) 20:21:42
>>356
かかったなぁ!
358仕様書無しさん:2005/10/23(日) 20:58:06
drwxrwxrwx 1 root root 32 Oct 12 01:01 -rf /
^ここ注目
359仕様書無しさん:2005/10/23(日) 21:08:28
それよりも"/"を含むファイル名を作成するほうが難しいw
あったとしてもおそらく互換性はなかろうなぁ
360仕様書無しさん:2005/10/23(日) 21:49:06
>>358
ああ、そんなところまちごーてました。。。かなすい
361仕様書無しさん:2005/10/24(月) 12:32:14
ソース中に「おまじない」とコメントの入っているプロジェクトはヤバい
362仕様書無しさん:2005/10/24(月) 23:23:04
会社自体やバイ
363仕様書無しさん:2005/10/24(月) 23:56:24
>>361
おまじないコメントなら消しといたから大丈夫。
誰も気が付かない。
364仕様書無しさん:2005/10/25(火) 00:04:16
>>361
それいいね。俺も今度入れておこう。base64形式で
365仕様書無しさん:2005/10/25(火) 09:01:35
//気休めにすぎないが、入れてみた

とかも要注意だなw
366仕様書無しさん:2005/10/25(火) 10:13:20
char buffer[1024+10]  // 念のため

とかもな
367仕様書無しさん:2005/10/25(火) 17:05:06
SleepとかDoEventsのコメントで・・・

'なんでかこれで上手くいった。
368仕様書無しさん:2005/10/26(水) 00:08:11
Sleep(999); // 1000じゃダメだ
369葉猫 ◆Jz.SaKuRaM :2005/10/26(水) 00:13:30
ワロタ
370仕様書無しさん:2005/10/26(水) 00:27:12
お前のレスはつまらなさすぎて笑えんがな
371仕様書無しさん:2005/10/26(水) 09:12:29
↑加害者

↓被害者
372仕様書無しさん:2005/10/26(水) 11:56:25
矢印厨か
373仕様書無しさん:2005/10/26(水) 12:20:27
>>368
ハード直接叩くプログラムなら普通にあるな。
WindowsのSleepAPIをウェイトに使うんなら、どちらにしろ駄目だけど。
374仕様書無しさん:2005/10/26(水) 14:45:08
>373

       巛彡彡ミミミミミ彡彡
       巛巛巛巛巛巛巛彡彡       
   r、r.r 、|:::::           | 
  r |_,|_,|_,||::::::     /'  '\ | 
  |_,|_,|_,|/⌒      (・ )  (・ )|   
  |_,|_,|_人そ(^i    ⌒ ) ・・)'⌒ヽ   ・・・で?
  | )   ヽノ |.   ┏━━━┓| 
  |  `".`´  ノ   ┃ ノ ̄i ┃|  
  人  入_ノ´   ┃ヽニニノ┃ノ\  
/  \_/\\   ┗━━┛/|\\
      /   \ ト ───イ/   ヽヽ
375仕様書無しさん:2005/10/26(水) 16:24:52
/* なんか知らんけどこれで動くようになった */
376仕様書無しさん:2005/10/26(水) 16:35:58
そういうのはこっちに書いてクレ

印象に残ったコメントを晒せ 0x03
http://pc8.2ch.net/test/read.cgi/prog/1089892228/
377仕様書無しさん:2005/10/27(木) 01:20:11
叩いたね...デバドラにも叩かれたことないのに!
378仕様書無しさん:2005/10/28(金) 01:14:49
あんなの飾りです。偉い人にはそれが分からんのです!
379仕様書無しさん:2005/10/28(金) 01:21:18
くっそー全然わからん!さすがプロッフェショナルな輩だ・・・。
いつか解読できるところまで来てやる!
皆グッジョブ!
380仕様書無しさん:2005/10/31(月) 22:42:53
邪悪なCコードコンテスト(IOCCC)ホームページ
http://www.au.ioccc.org/

サンプルコード
(1987年度「最悪なスタイル賞」受賞作品 by Spencer Hines)
#include <stdio.h>
#include <malloc.h>
main(togo,toog)
int togo;
char *toog[];
{char *ogto, tgoo[80];FILE *ogot; int oogt=0, ootg, otog=79,
ottg=1;if ( togo== ottg) goto gogo; goto goog; ggot:
if ( fgets( tgoo, otog, ogot)) goto gtgo; goto gott;
gtot: exit(); ogtg: ++oogt; goto ogoo; togg: if ( ootg > 0)
goto oggt; goto ggot; ogog: if ( !ogot) goto gogo;
goto ggto; gtto: printf( "%d goto \'s\n", oogt); goto
gtot; oggt: if ( !memcmp( ogto, "goto", 4)) goto otgg;
goto gooo; gogo: exit( ottg); tggo: ootg= strlen(tgoo);
goto tgog; oogo: --ootg; goto togg; gooo: ++ogto; goto
oogo; gott: fclose( ogot); goto gtto; otgg: ogto= ogto +3;
goto ogtg; tgog: ootg-=4;goto togg; gtgo: ogto= tgoo;
goto tggo; ogoo: ootg-=3;goto gooo; goog: ogot= fopen(
toog[ ottg], "r"); goto ogog; ggto: ogto= tgoo; goto
ggot;}
381仕様書無しさん:2005/10/31(月) 23:15:35
/*この会社、もうだめぽ*/
382仕様書無しさん:2005/10/31(月) 23:49:19
#include <stdio.h>
#include <malloc.h>
main(argc,argv)
int argc;
char *argv[];
{
char *cTemp, szStr[80];
FILE *fFile;
int iCnt=0, iNum, iMuke=79,
iKule=1;

if (argc== iKule) goto TagGo;
goto TagMu;
383仕様書無しさん:2005/10/31(月) 23:51:27
ggot:
if ( fgets( szStr, iMuke, fFile))goto gtgo;
goto gott;
gtot: exit();
ogtg: ++iCnt;
goto ogoo;
togg: if ( iNum > 0)
goto oggt;
goto ggot;
ogog: if ( !fFile) goto TagGo;

goto ggto;
384仕様書無しさん:2005/10/31(月) 23:52:00
gtto: printf( "%d goto \'s\n", iCnt);
goto gtot;
oggt: if ( !memcmp( cTemp, "goto", 4)) goto otgg;
goto gooo;
TagGo: exit( iKule);
tggo: iNum= strlen(szStr);
goto tgog;
oogo: --iNum;
goto togg;
gooo: ++cTemp;
goto oogo;
gott: fclose( fFile);
goto gtto;
otgg: cTemp= cTemp +3;
goto ogtg;
385仕様書無しさん:2005/10/31(月) 23:52:50
tgog: iNum-=4;
goto togg;
gtgo: cTemp= szStr;
goto tggo;
ogoo: iNum-=3;
goto gooo;
TagMu: fFile= fopen(argv[iKule], "r");
goto ogog;
ggto: cTemp= szStr;
goto ggot;
}
後はご自由に
386仕様書無しさん:2005/11/01(火) 00:28:50
#include <stdio.h>
#include <malloc.h>
main(togo,toog)
int togo;
char *toog[];
{
char *ogto, tgoo[80];
FILE *ogot;
int oogt=0, ootg, otog=79, ottg=1;
if ( togo== ottg) exit( ottg);
ogot= fopen( toog[ ottg], "r");
if ( !ogot) exit( ottg);
ogto= tgoo;
while ( fgets( tgoo, otog, ogot)){
ogto= tgoo;
ootg= strlen(tgoo);
ootg-=4;
while ( ootg > 0) {
if ( !memcmp( ogto, "goto", 4)) {
ogto= ogto +3;
++oogt;
ootg-=3;
}
++ogto;
--ootg;
}
}
fclose( ogot);
printf( "%d goto \'s\n", oogt);
exit();
}
387仕様書無しさん:2005/11/01(火) 00:40:52
Private Sub txt1_Got_Focus()
...
End Sub

Private Sub txt1_Lost_Focus()
...
End Sub

...


Private Sub txt28_Lost_Focus()
...
End Sub
388仕様書無しさん:2005/11/01(火) 07:47:27
>>387
Webページのjavaascriptでそういうの良くみるな。
オーサリングソフトがそういうのを吐き出すからってのもあるんだけど。
Webデザインをしている友人に、openWindow(url)ってのを作ってみせたら
えらく感動してたっけ。
389仕様書無しさん:2005/11/01(火) 15:18:46
明らかにVBだし、ツッコミ所はtxtXXってところだろ?
まさか、イベントハンドラ以外は関数作ってないとか…
390仕様書無しさん:2005/11/01(火) 15:53:20
出たよ_| ̄|○

// 集計処理
sTortaruDataSyori( );


しかも、中身を見たら、集計処理なんか全然やってねえでやんの_| ̄|○
391仕様書無しさん:2005/11/01(火) 16:30:23
Tortaru ・・・・何語やねんw
392仕様書無しさん:2005/11/01(火) 16:42:47
これは懐かしい中学英語じゃないか!
sometimes を ソメチメズ とか覚えてたりな。
393仕様書無しさん:2005/11/01(火) 17:31:14
しかも Syori て。

訓令式のローマ字使う奴は頭が悪そうに見える。
394仕様書無しさん:2005/11/01(火) 17:55:16
>>390
> sTortaruDataSyori( );

「Tortaru」まで書いておいて、
どうして「Total」が書けないのか(w
395仕様書無しさん:2005/11/01(火) 18:48:44
>>393
クマー?
396390:2005/11/01(火) 18:50:34
同じ奴が書いた、本物のw集計関数内


long             lHiheikinDat;         // 日平均
SYSTEMTIME       stSaidaiymd;         // 最大値の日付


目眩が_| ̄|○
397仕様書無しさん:2005/11/02(水) 09:28:35
>>396
せめて、

long     DayAvg;
SYSTEMTIME  MaxDate;


くらい書けないのだろうか?
398仕様書無しさん:2005/11/02(水) 09:58:42
stDateOfMax の方が良いかと・・・
399仕様書無しさん:2005/11/02(水) 12:48:05
日平均って、普通は「にちへいきん」って読まないか?
400仕様書無しさん:2005/11/02(水) 13:10:12
変数にローマ字読みを使う奴は、そこから教養の無さがにじみ
出てきている事に気付いていないから困る。
401仕様書無しさん:2005/11/02(水) 13:19:26
>>lHiheikinDat
"Dat" が微妙。"data" か?
"data" っていたけど、もしかしたら "date" かもしんない。でも "date" って事にすると
「じゃあ、先頭の "Hi" ってナニよ?」
って事になるし、それは >>390 の同僚にしかわからない。ヤバイ。>>390 にも分からないなんて凄すぎる。
402仕様書無しさん:2005/11/02(水) 13:24:57
一般的でない英単語混ぜるよりは
ローマ字のほうがいいかな、と
403仕様書無しさん:2005/11/02(水) 13:39:34
>401
>先頭の "Hi" ってナニよ

つまり、>390の同僚氏は「日平均」を「ひへいきん」と読んで、そのまま
変数名にしたんジャマイカ

一般的でない英単語については>402と同意だが、日平均ぐらいはAvg等でも
充分通じる範疇だとオモ。
404仕様書無しさん:2005/11/02(水) 14:28:39
そうそう、変数の命名について聞いてみたいんだが
いろいろ測定してるシステムの
計測機器のデータの種別が
・計測
・計量
・設定
・メータ
・運転状態
(最後に「値」を付けた方がいいのかもしれないが)
ってなってるんだが、これどういう風な変数名にする?
くせ者が「メータ」
ローマ字で書くにも英語で書くにも問題があるんだよねぇ・・・。
それに計測と計量って英語で明確な区別がないから、困るんだよ。
計量だと体積だけ、計測は電圧だけとかなら書きようもあるんだけど。

言い換えでもいいから、なんかいいアイデアないかい?
405仕様書無しさん:2005/11/02(水) 14:31:18
クラス名・変数名に迷ったら書き込むスレ。Part6
http://pc8.2ch.net/test/read.cgi/tech/1128266018/
406仕様書無しさん:2005/11/02(水) 16:52:43
>>404
直訳しようと思うのがマズイ。
単位と本来何の値か考えろ。
407仕様書無しさん:2005/11/02(水) 17:00:18
使う単位はマスタDBがあるぐらい多いんですよ
計量は g、ジュール、立方メートル、時間・・・
計測は アンペア、無効電力Var、パスカル、濃度、密度、周波数・・・・
計量でも計測でも同じ単位がありますし、
こんなやつにきれいに当てはまるような物があればよいのですがね。
もう
KEISOKU
KEIRYOU
でいいのですけど
メータ
META・・・・・ココだけ英語でMETER
こいつが許せない。
408仕様書無しさん:2005/11/02(水) 17:36:38
FowlerのAnalysis Patternsでは、
単位つきの値(量) quantity
測定 measurement

適用できるかどうかはよく分かりません。
409仕様書無しさん:2005/11/02(水) 17:44:17
そもそも日本語の区分が適切じゃないんだから勝手につけちまえ
410仕様書無しさん:2005/11/02(水) 17:45:57
>>408
ありがとうございます。使わせてもらいます

変更できたらですが。
411仕様書無しさん:2005/11/02(水) 22:53:14
iocccのgoto gogoとかいうやつがジョジョっぽく見えてきた
412仕様書無しさん:2005/11/03(木) 04:15:46
日本語で変数名、これ最強
413仕様書無しさん:2005/11/03(木) 06:26:38
やる気を打ちのめす、と言う意味で最強クラスだな。
414仕様書無しさん:2005/11/03(木) 17:07:34
>>413
学校で情報の授業とかあんだけど・・・
VBで情報教師が変数名はわかりやすく日本語にしましょうだとよ。。
415仕様書無しさん:2005/11/03(木) 17:45:47
まあ何語か分からない謎の単語にされるよりはマシじゃね。
VBの仕様上問題ないんだし、業務ならともかく授業ならそういうのもありだろう。
416仕様書無しさん:2005/11/03(木) 18:04:58
グローバル


って言葉は知らないんだろうなぁ
まぁそれもよし
417仕様書無しさん:2005/11/03(木) 18:46:45
辞書見てそのまま引っ張ってきただけのような英単語や
中途半端なローマ字よりは日本語のほうがまだマシだと俺は思う。

明らかに意味的におかしい英語名とか
余計わからなくなるから、本当にやめてください。
418仕様書無しさん:2005/11/03(木) 19:05:17
日本語で書いとけば少なくとも英語力の無さを晒すことはないな
419仕様書無しさん:2005/11/03(木) 19:40:59
日本語で書く事が英語力の無さを晒しているのでは?

// JavaDocやコメントまで全て英語を求められた時は鬱死だった。
420418:2005/11/03(木) 21:31:57
>日本語で書く事が英語力の無さを晒しているのでは?

そういう風に思っておかしな英語を書いて満足してるほうが
よっぽどグローバルという言葉をナメてるんじゃないかと
421Mb:2005/11/03(木) 23:48:15
最近見た C のコード
short ivent;
422仕様書無しさん:2005/11/03(木) 23:52:02
愛の弁当と言う意味がこめられているんだよっ!
423Mb:2005/11/03(木) 23:55:31
客先のCコンパイラが「デフォルトでK&R初版互換」。
「ANSI 標準サポート」のオプション(プロトタイプ宣言仕様可)
もあるんだが、「エラーが出るので使用禁止」。
で、そのシステムの中身を見たら、
short main(){
とか
long main() {
とか
void main() {
とか
exit()
とか……そりゃエラー出るわ。
「これって、おかしくないっスか?」と訊いたら、
「int は長さが不定だから、移植性を考えてコーディング規約で
使ってはいけない事になっている。」

 ○| ̄|_
424仕様書無しさん:2005/11/03(木) 23:57:07
ああああああああああああ・・・・・・・・・・
425仕様書無しさん:2005/11/04(金) 00:05:26
またヘンなコテが来たな
426Mb:2005/11/04(金) 14:06:20
うんこが漏れそうなんでageとく。
427仕様書無しさん:2005/11/04(金) 16:18:48
int    iCnt;
int    iCnt2;

for( iCnt=0; iCnt<_CNT_MAX; iCnt++ ) {
  なんとか
  かんとか

  if( 条件なんたら ) {
   iCnt2 = iCnt;
   iCnt = FuncHoge( );

   SubHone( &iCnt ) ;

   iCnt = iCnt2;
  }
}

>283と同一人物です。
そろそろ辞めたくなってきたorz
428仕様書無しさん:2005/11/04(金) 18:54:44
返り値入れてるのかよ・・・
429仕様書無しさん:2005/11/04(金) 19:28:13
>>427
俺もそのような意味のない変数間の値の引渡しが多用されているソースに
出くわしたことがあるけど、それを書く人の頭の構造が謎だ。
>>427 のように書くほうがよっぽど難しいと思うのだが・・・。
430仕様書無しさん:2005/11/04(金) 19:29:43
if bなんとかflg=true then
 if なんとか>25 then
 else
  if bなんとかflg=true then
  else
   if (ry
431Mb:2005/11/04(金) 21:52:08
>>426
コテハン騙るなら、もうちょい粋なコメントしてくれ。頼むから。
432仕様書無しさん:2005/11/04(金) 22:11:07
>>431
再帰してるぞ
433仕様書無しさん:2005/11/04(金) 22:22:45
>>431
騙りと大差ない程度のコテハンが吠えるな
434仕様書無しさん:2005/11/04(金) 22:40:28
/*
>>431
あ、おかえり。
長かったね。w
*/
435仕様書無しさん:2005/11/04(金) 23:15:45
>>431
K先輩、2ちゃんで遊んでないで月報書いてください(泣)
436仕様書無しさん:2005/11/06(日) 02:29:35
>>427はさすがにちょっとやりすぎな気もするけど、辞めたくなるほどか?
>>283なんかおれ的には全然ありだが。
# そう書くのが自然なコードはままあるだろ。
437仕様書無しさん:2005/11/06(日) 12:48:47
>>283はSJISみたいなマルチバイト文字の処理では普通に使う
438仕様書無しさん:2005/11/06(日) 16:30:51
ふつうwhileループにすると思うけど。
439仕様書無しさん:2005/11/06(日) 16:51:05
>>437はたまたま見かけたコードを「これが定石なんだ!」と信じて疑わないタイプ。
440仕様書無しさん:2005/11/06(日) 16:57:41
いや、俺もforでカウンタ増やす派かな。
441仕様書無しさん:2005/11/06(日) 17:07:15
for()は規則的にカウンタ値を増やしながら固定回数ループするという意味が
強いから、不規則なカウンタの増え方はちょっといやらしい。
それならwhile(ix < XXEND)とかのほうがすっきりする。

ま、好みの問題で片付けられるような程度のものだけどね。
442仕様書無しさん:2005/11/06(日) 17:57:19
でも無限ループは、while(true)よりはfor(;;)と書くだろ?

>ま、好みの問題で片付けられるような程度のものだけどね。
まったくそのとおり。
誰か、そろそろれっきとした糞コードをちょーだい!
443仕様書無しさん:2005/11/06(日) 19:16:12
>>442
MugenRoop();
444仕様書無しさん:2005/11/06(日) 19:28:27
loop1:


goto loop 1;
445仕様書無しさん:2005/11/06(日) 19:31:13
>>444
それだけはヤメテくれ。
間に数百行挟まれてて改修時に死んだ経験が…
446仕様書無しさん:2005/11/06(日) 19:34:14
>>444
今触ってるシステムが、Fortran で書かれてたコードを、
ツール使ってコンバートしたという代物であり、しかも制御系で
「タスクを起動して、無限ループの中でイベント待ちをして、
イベントの種別によって分岐する」というスタイルなので、
ほとんどすべてのソース(最上位のmain()の中)に
> _L999:;
(中略)
> goto _L999;
というコードがある。
447仕様書無しさん:2005/11/06(日) 20:28:56
gotoはいかんよ、gotoは。
longjmpを使えとあれほど言っているだろう。
448仕様書無しさん:2005/11/06(日) 20:39:56

 マ
   ー
      ー
          ー
               !!!
449437:2005/11/06(日) 20:56:18
>>439
たまたま見たとか言ってるけど、自分のときは
何も見たことないのでゼロから自分で書いてたよ。
アセンブラ的発想だからセオリーかって言われたら自信ないけど。
450仕様書無しさん:2005/11/06(日) 21:38:55
>>447
gotoよりもlongjumpのほうが悪。ありえないほどに!
451仕様書無しさん:2005/11/06(日) 21:56:42
釣られるなってw
どちらも使い方を間違えると猛毒だけど
452仕様書無しさん:2005/11/06(日) 22:36:31
gotoの出番は「例外処理」と「多重ループ内からの脱出」しかない?
453仕様書無しさん:2005/11/06(日) 22:37:27
>452
>380
454450:2005/11/07(月) 01:08:58
>>451
猛毒っつーか、C++ではlongjumpなんかマジでありえないのよ?
スレタイどおり、longjumpを見たらたしかに会社辞めよと思うぞ。
455仕様書無しさん:2005/11/07(月) 01:52:19
>>439
半角全角混じってても1文字として扱うなら、
for() 文のカウンタは規則正しく上がっていくべきだ。

でも、>>283 は、「半角カナ→全角」変換するときには使う。
濁音、半濁音の処理が必要だから。
456仕様書無しさん:2005/11/07(月) 01:56:38
>>429
デバッグ中に止めて返値をチェックできる。
デバッグ目的。

もう一つの問題はまったく不可解。
線形リスト作るときみたいなコードだ。
457仕様書無しさん:2005/11/07(月) 01:58:06
>>454
throwに変わっただけじゃん。
458仕様書無しさん:2005/11/07(月) 09:48:53
>>456
> デバッグ目的。

デバッグ目的でも、わざわざ一時変数に退避させるより、

 iCnt2 = FuncHoge( );
 SubHone( &iCnt2 ) ;

と書くのが普通だろ。

# iCnt2 は、もっと適切な命名をするだろうし
459仕様書無しさん:2005/11/07(月) 20:28:17
>>457
本気で言ってるのか?挙動が全然違うぞ。
460仕様書無しさん:2005/11/07(月) 22:46:47
>>459
つかタスクで起動しといてexit()で抜けるのが面倒臭くなくて楽。
昔の通信ソフトとかだと、回線監視しながら一文字げとして云々、
みたいな底の底のほうのルーチンで、通信が確立してから動く
部分を全部すっ飛ばして、最上位のアクセス待ちするルーチンに
制御を渡すとかいうときに、使った記憶がある。
461仕様書無しさん:2005/11/08(火) 00:14:57
>>459
setjmp/longjmpの使い方の一つ→C言語版catch/throw
462仕様書無しさん:2005/11/08(火) 11:44:26
>>461
もう帰ってくれ…
463仕様書無しさん:2005/11/08(火) 15:06:15
Apple の objective-C の @try じゃないほうの例外処理。
マクロ化してあるがもろに setjmp/longjmp 使ってます。

http://darcs.brianweb.net/vendor/powerpc-apple-darwin/include/Foundation/NSException.h
464459:2005/11/08(火) 23:00:45
>>460
Cで、それなりにわかってる人が使うぶんにはまあよし。嫌は嫌ですけども。
>>461
そんなつまらんことをいわれてもなあ。もともとC++での話なんだが。
>>463
Objective-Cをやれって言われたら即辞職願。
465仕様書無しさん:2005/11/09(水) 15:18:17
char  cData[16][40];


for( i=0; i<16; i++ ) {
  strcpy( cData[1], "名前1" );
  strcpy( cData[2], "名前2" );
  strcpy( cData[3], "名前3" );
  strcpy( cData[4], "名前4" );

      ・
      ・
      ・
}


ループの意味は?ねえ?(;´Д`)
466仕様書無しさん:2005/11/09(水) 16:05:54
>>465
添え字が 1 からはじまっている件。
467465:2005/11/09(水) 16:07:59
オリジナルも1から始まってたんで、そのまま書きますた。
たぶん元ソースがVBなのをCに移植したんだと思う。
468仕様書無しさん:2005/11/09(水) 16:37:10
cData[16]はたまたま使ってなかったってやつか
469仕様書無しさん:2005/11/09(水) 17:09:54
ファイルI/O関数で

char  cPath[20];

とか宣言しといて、そこにフルパスを突っ込んでくれてたおかげで、
ディレクトリをちょっと深くしたらもう動かないでやんのorz
少しは考えろよ馬鹿
470仕様書無しさん:2005/11/09(水) 22:56:02
素直に「string」使いましょう
471仕様書無しさん:2005/11/10(木) 00:09:44
>>465
1回だけじゃ書けてないかもしれないので、念のため重ね書き!?
472仕様書無しさん:2005/11/10(木) 00:51:13
16回もしょげずに〜
473仕様書無しさん:2005/11/10(木) 01:08:31
そりゃ14だw
474仕様書無しさん:2005/11/10(木) 10:02:04
>>470 貴様っ・・
475仕様書無しさん:2005/11/10(木) 10:20:45
・・・と俺とーはー同期のさーくーらー?
476仕様書無しさん:2005/11/10(木) 10:22:45
DOS時代の遺産を引っ張ってきて、そのまま使い回しているウチの先輩のソースのようだ>469
477仕様書無しさん:2005/11/10(木) 11:03:15
>>469
VC++ 1.5 は64バイトくらいまで耐えられます。
…もう勘弁して。orz
478仕様書無しさん:2005/11/10(木) 11:25:20
short sFunc( short sFlg, char *cData )
{

   memset( cData, 0x00, sizeof(cData) );

   if( sFlg == 99 ) return( 0 );
   return( 0 );

}


関数名や変数名を変えた以外は何も省略していません。
無駄な関数作りっぱなしにするなよぅ
479仕様書無しさん:2005/11/10(木) 11:40:06
まあsizeof(cData)は一旦無視するとしてだ
なぜこんな関数を作ったのか……

おそらく、最初はsFlgの値に応じてcData(配列だろう、おそらく)の
中身を操作する関数を作る予定だったのだろう
そして返り値もその結果に応じて変える予定だった
で、とりあえず出入り部分だけテストするために>>478のコードを書いた

書いたところで、その処理自体が必要なくなってしまい、
たまたまテストで書いたコードで足りることがわかった……
作ってしまった関数を書類から外すのが面倒でそのまま残した……
そんなとこかな
480仕様書無しさん:2005/11/10(木) 12:44:26
そんなの、珍しくもないな  '`,、('∀`) '`,、
481仕様書無しさん:2005/11/10(木) 21:45:46
if (b == true) {
   ・・・・
}

ていうのを時々見るんだけど、この条件文おかしいと思うのはペーペーだからですか?
482仕様書無しさん:2005/11/10(木) 21:52:47
それをおかしいと思うのはぺーぺーだからではない
だがそれをここへ持ち込むのはお前がぺーぺーだからだ
帰れ
483仕様書無しさん:2005/11/10(木) 21:56:34
>>482
いきなり帰れなんてことを言うもんじゃない、新人はもっと優しく扱わないと。


>>481
半年ROMってろ。
484仕様書無しさん:2005/11/10(木) 22:04:55
ビルの屋上から紐無しでバンジーの稽古してるといい感じですよ
485仕様書無しさん:2005/11/10(木) 23:11:34
>>483
486仕様書無しさん:2005/11/10(木) 23:35:42
ひどい奴らだな、紐ぐらいつけてやれよ。

首に。
487仕様書無しさん:2005/11/10(木) 23:47:14
>>481 bの型は何?
488仕様書無しさん:2005/11/10(木) 23:55:37
boolean だろ
489仕様書無しさん:2005/11/11(金) 10:44:20
booleanの存在を知らない奴がいる。


int  iFlg;

if( iFlg == true ) {
  省略
}

辞めたくなるっつうほどでもないが。
490仕様書無しさん:2005/11/11(金) 11:39:11
C の boolean は内部的には int だろ
491仕様書無しさん:2005/11/11(金) 12:33:01
内部的に、とか言ってる時点でダメダメ
492仕様書無しさん:2005/11/11(金) 12:52:18
Javaとかやったら躓くかな?
intとbooleanが型変換されないし
493仕様書無しさん:2005/11/11(金) 14:00:35
>>492
関数でbool判断させてbool同士で比較は?
494仕様書無しさん:2005/11/11(金) 14:36:14
>>490
そもそも C は、基本的には「整数」と「実数」しか型がありません。
495仕様書無しさん:2005/11/11(金) 16:31:45
つ【ポインタ型】
496仕様書無しさん:2005/11/11(金) 20:42:52
LvArray() as Variant

LvArray(0,1)(1)(0)(1,1)=LiCnt
497仕様書無しさん:2005/11/11(金) 20:50:42
構造体を知らない奴はやばい。
498仕様書無しさん:2005/11/11(金) 23:39:13
for (int i1 = 0; i1 < sizeof(HEADER); i1++) ptr++;
for (int i2 = 0; i2 < data_size; i2++) ptr++;
499仕様書無しさん:2005/11/12(土) 00:25:05
見難いコード
500仕様書無しさん:2005/11/12(土) 00:27:21
()がね
501仕様書無しさん:2005/11/12(土) 00:56:33
なぜ
ptr += sizeof( HEADER );
ptr += data_size;
ではないのかw
502仕様書無しさん:2005/11/12(土) 02:20:49
>>493
そりゃ明示的に書けば出来るけどw
暗黙にはされないってこった
503仕様書無しさん:2005/11/12(土) 04:20:34
>>502
型変換って言ってもCASTの話でしょ?

JAVA→Cなら警告でないから失敗するかもしれないけど、
C→JAVAなら問題ないだろ。

>>501
しかもループ変数がi1 i2って・・・

もしかしたらポインタがnearで、アドレスが折り返すのをチェックしなければいけないとか。
504葉猫 ◆Jz.SaKuRaM :2005/11/12(土) 09:50:21
>>498 のptrはポインタじゃね?

だからこうつるべきだと言いたかったのでは

for (int i1 = 0; i1 < sizeof(HEADER)/data_size; i1++) ptr++;
505仕様書無しさん:2005/11/12(土) 10:19:32
ptr の型は char* なんだろうな
506葉猫 ◆Jz.SaKuRaM :2005/11/12(土) 10:31:14
よく見たら>>498 はムーブちてるだけか。。。。。。。。。
507仕様書無しさん:2005/11/12(土) 10:34:44
Java なのにクラス名が全て
[A-Z]{2,3}[0-9]+
さらにプロパティファイルはコメントも含めて Unicode にエンコード済み.

引き継ぎ資料も外部仕様とマニュアルくらいしかなくて
「クラス名と設定ファイルから実装を調べながらやって」

中を見たらオブジェクト指向のかけらも無いアーキテクチャ
(あれをアーキテクチャと呼べるのなら)

iさん,oさん,頭腐ってるんじゃない?
508仕様書無しさん:2005/11/12(土) 11:29:48
ngname:葉猫
509仕様書無しさん:2005/11/12(土) 13:59:34
キモコテウザス
510仕様書無しさん:2005/11/12(土) 14:24:04
なんなのこの毎度毎度見当違いのレス繰り返すコテは
511仕様書無しさん:2005/11/12(土) 20:58:23
よく見たら糞コテじゃん
512仕様書無しさん:2005/11/12(土) 22:54:40
ここまで毎回的を外したレスしても何事もなかったかのように顔出せるって神経が信じられない
513仕様書無しさん:2005/11/13(日) 00:04:32
>>507
Java標準APIですらフルスペルなのにそのクラス名は無いな…
最初Javaやった時は「ぎぇ、何この長い名前」とは思ったが。
(最初に「標準入力をまんま標準出力に渡す」を書いたから余計にそう感じたのかw)



全く関係無いが、個人的には「readLineなのにprintlnって半端だな」って思う。
あとファイル関連メソッドの"rw"とかも。慣れてるから良いけどさ。
514仕様書無しさん:2005/11/13(日) 00:54:26
printlnって歴史的に伝統のある名前じゃないの?尊重したんだろ。
515仕様書無しさん:2005/11/13(日) 08:40:05
> printlnって歴史的に伝統のある名前じゃないの?
C の printf() と Pascal の writeln() の折衷案ジャマイカ?
516仕様書無しさん:2005/11/17(木) 16:26:59
VBでスマソ。
Const ってのは#DEFINEに相当します。
As Longで型を明示的に宣言しています。




' 円周率
Public Const G_PAI As Long = 3.1415927


('A`)
517仕様書無しさん:2005/11/17(木) 16:35:05
俺は 3.14159265358979 で定義しましたが何か?
518仕様書無しさん:2005/11/17(木) 16:36:34
ばかじゃねぇの
円周率は3でよくなったんだぜ
519仕様書無しさん:2005/11/17(木) 16:36:53
Doubleならな


VBでLong型ってCのlong型と同じだっけ?
520仕様書無しさん:2005/11/17(木) 16:37:20
ゆとり教育のたまものですなw
521仕様書無しさん:2005/11/17(木) 16:37:46
>>516
ゆとり教育バンザイって感じな結果になるな
522仕様書無しさん:2005/11/17(木) 16:44:00
あー、Long でやってたんか。 論外だな。
523仕様書無しさん:2005/11/17(木) 17:12:29
型が無い(意識させない)言語の特性を殺してまで
そう書いたのだから何かしらの意味があるに違いない。
πをPAIと書いてるところにもきっと意味があるに違いない。
524仕様書無しさん:2005/11/17(木) 17:17:35
Ω ΩΩ ナ、ナンダッテー
525仕様書無しさん:2005/11/17(木) 17:28:59
ぱふぱふ
526仕様書無しさん:2005/11/17(木) 20:37:40
PIじゃないのか
527仕様書無しさん:2005/11/17(木) 21:34:37
if aaa=true {
}else{
func();
}
528仕様書無しさん:2005/11/17(木) 23:19:43
>Const ってのは#DEFINEに相当します。
オニイサン、ソレ、チャウヨ。
529仕様書無しさん:2005/11/17(木) 23:21:49
VB の Long は整数型だからな
530仕様書無しさん:2005/11/17(木) 23:57:54
円周率は355/113で代用可能
531仕様書無しさん:2005/11/18(金) 00:01:14
constに相当するのはconstだな
532葉猫 ◆Jz.SaKuRaM :2005/11/18(金) 00:01:26
double使うよりスピードが速そうでイイー(・∀・)
533仕様書無しさん:2005/11/18(金) 00:06:51
おっ

パイの話か
534仕様書無しさん:2005/11/18(金) 00:17:59
糞コテウザス
535仕様書無しさん:2005/11/18(金) 00:54:28
じゃ、おれは 22/7 で。
536仕様書無しさん:2005/11/18(金) 02:13:10
メンドクサイから正六角形を円ということにしようぜ
537仕様書無しさん:2005/11/18(金) 05:09:38
>>527 って何言語?
538仕様書無しさん:2005/11/18(金) 11:49:24
先頭のコメントにこういうのがあった。
とんだ貧乏くじを引いてしまった予感。
このまま納品しておこう。

/*◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

                     {:::::::::::::/         _ `ー- 、
                  l:::::::/      /   /     ヾー-‐┐
                  /ヽ/  /   / / / /       ヘ:::::::j
.                 / // / /  // / / /  / i1  l   }:::〈
                 { |l l ! l  ┼l-{、 / /  / / |_   !   !::::{
                  レ|! | l  !  ⊥詫_l_ト /! / /ヾツ  i  l::::::ヘ
                 /ハ !ハ |  《 fン:::iリl | l /‐/、_ / / l l::::::::::
             ,-n‐┴‐ |:::::N \{弋ン  V、l/lrェ=xX / / ,イ/}´
            /: :ヾヽ  |::::::| l | `   、   fン:::!リ lノl  //::|  !
          /-: : : ::| l!  |:::::::| l |   r‐ 、  弋ンイ / ,イ::::::| l |
        r '´; ; : : : : ::| l!  |:::::::| ヽjヽ   -'    ,イ / lイ !::::::|リノ
       /;;;::::: : : : /: : | l!  ヾ、:|   l ` -┬  '´ /ノ   | l::::::::|
      /: : : : : : : , '; : : :| l!   ヽ!  ヽ__f/    //:l    !l |::::::::|
.   /: : : : : : : :/: :/ィ| l!  {´ ̄ `<Y>ー‐-、 //: j  i |!j:::::::::|
.  /: : : : : : : : ;/: ,-=― : ! l!  }    ,ィ{_}-  、ノ'/:/  l | |:::::::::j
./: : : : : : : : : :/:::::: : : ',:::::::ヾヽ `ー r'´ /_| `r、 ノ'/}´ ,'  j ノ |!´ ̄

糞プロジェクト引き継ぎお疲れ様。
まだまだ仕様変更とバグがあるからあとよろしく!
そうそう、奈良ってやつには注意してね。あいつのせいで4人辞めたんだよ。

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇*/

539仕様書無しさん:2005/11/18(金) 11:57:34
おまえんとこはプロポーショナルフォントで開発してんのか
540仕様書無しさん:2005/11/18(金) 13:09:24
>>539がんばれ。

ttp://pc8.2ch.net/test/read.cgi/prog/1089892228/
印象に残ったコメントを晒せ 0x03
541仕様書無しさん:2005/11/19(土) 02:56:39
先日チェックインされた先輩の Java コード

public Result searchFile(File file) throws Exception {
  :
}

Exception を投げちゃうのかよ・・・ orz
542仕様書無しさん:2005/11/19(土) 08:34:29
サブクラスでオーバーライドしてサーチの方法を実装すること前提の設計だ、とか
(オーバーライドしたメソッドで例外の範囲を狭める)
543仕様書無しさん:2005/11/19(土) 10:38:44
         Exception
       彡
(,,ノ゚д゚)ノ
544仕様書無しさん:2005/11/19(土) 10:48:24
>>541
その中身が

try {
...
} catch (Exception e) {
throw e;
}

ってコード満載のプロジェクトを引き継いだ。何がしたいんだよ o...rz
545仕様書無しさん:2005/11/19(土) 11:08:43
いやウチのソース、「throws Throwable」しかないんだけど...。

誰だよ。何も知らないヤツにソースかかせたのは...
546仕様書無しさん:2005/11/19(土) 11:42:16
>>541
漏れもたまにやる。「とりあえず動かしといて、後で例外処理を
突っ込もう」とか思っているときにメモ代わりに書くが、
だいたい他の業務が割り込んできたりして、上司が「とりあえず納品して
から対処しよう」とか言い出して、どさくさのうちに納品されてしまう。
当然、客先に対するその後のフォローは無く、改修の時に別の奴が
/* 本来ならここで××をチェックし、○○だったら例外を投げる */
とかいったコメントを見つけて「やっとけよ!」と逆上する。
で、呼んでる元のコードが>>544ときたもんだ(藁

 漏れって最低 ○| ̄|_
547仕様書無しさん:2005/11/19(土) 12:14:26
>>544
> } catch (Exception e) {
> throw e;
> }

あー、俺んとこもー(・∀・)ノ
あと、こんなん。

Object obj = new Object();
synchronized(obj){
  ...
}
548仕様書無しさん:2005/11/19(土) 13:18:29
飲み込まれるよりマシだと思った
549仕様書無しさん:2005/11/19(土) 13:41:16
>549

それって、objはローカル変数?
だとしたらスレッドごとにインスタンスができて同期掛からないんじゃ……
わちきがボケてたらスルーしてくだちい
550仕様書無しさん:2005/11/19(土) 14:16:45
> throws Exception
まさに今対峙していますがなにか?



on_
551仕様書無しさん:2005/11/19(土) 17:46:09
try{
...
}
catch (Exception e){
}
とかざらじゃんこの業界。
上と下の限りがないというか
552仕様書無しさん:2005/11/19(土) 18:05:42
>>551
On Error Resume Next ’エラーが発生しないようにする

みたいだな
553仕様書無しさん:2005/11/19(土) 18:12:11
πは30だったよ
554仕様書無しさん:2005/11/19(土) 19:50:10
555仕様書無しさん:2005/11/21(月) 00:07:50
>>530
関先生か?
556仕様書無しさん:2005/11/21(月) 14:17:59
>>554
ワロタ

((((((;゚Д゚))))))ガクガクブルブル
557仕様書無しさん:2005/11/21(月) 15:29:52
Const BIT1   As Integer = &H1
Const BIT2   As Integer = &H2
Const BIT3   As Integer = &H4
Const BIT4   As Integer = &H8
Const BIT5   As Integer = &H10
         ・
         ・
         ・
Const BIT16  As Integer = &H8000

Dim iData As Integer

If( iData And BIT1 ) Then 〜
If( iData And BIT2 ) Then 〜
If( iData And BIT3 ) Then 〜
         ・
         ・
         ・
If( iData And BIT16 ) Then 〜


ああ〜勤労意欲がもりもりと抜けていく_| ̄|○
558仕様書無しさん:2005/11/21(月) 17:33:28
Enum使えばいいのにな。
559仕様書無しさん:2005/11/21(月) 17:34:03
そういう問題じゃないと思う
560仕様書無しさん:2005/11/21(月) 18:35:14
vbかな?bit参照だね
だれか>>557の言語では>>557のような事をするとき
どうするのが定石か教えてよ
561仕様書無しさん:2005/11/21(月) 19:03:03
cBit(16) As Integer:
for i=0 to 16:
cBit(i)=2^i:
next i:

こんな感じじゃない?
562仕様書無しさん:2005/11/21(月) 19:04:09
VBはよく知らないが、配列ぐらいは使える筈…だよな?
563仕様書無しさん:2005/11/21(月) 20:46:55
>>562
VBについて言及するのも忌まわしいが、
配列もBooleanもあったはず。

ビットマスク使う意義があるようにも見えないし、
Booleanの配列使えば……というか、
>>557のはきっと全然関係無いものをiDataに
全部ぶち込んであるに違いないと憶測を述べてみる。
564仕様書無しさん:2005/11/22(火) 03:47:04
ビット云々というより、もっと分かりやすい名前を付けろってことじゃないのか?
BIT1、BIT2・・・って名前だけだとそのフラグの意味が分からないし。
565仕様書無しさん:2005/11/22(火) 09:33:52
俺だったら

For( Cnt = 0 to 15 )

  if( iData And (2 ^ Cnt) ) Then
    〜処理〜
  End If

Next Cnt

って書くな。
配列だの定数だのいちいち定義せんでも済む話、と>557は言いたいのだろう。
566仕様書無しさん:2005/11/22(火) 09:47:12
ちょっと待てお前ら。
BIT1 が 1 であることはスルーなのか?
BIT0 じゃないと不味くないか?

BIT16 が見えなかったら絶対勘違いしてしまいそうだ。
567仕様書無しさん:2005/11/22(火) 09:48:17
つまり、総合すると、VBごときがBit演算なんかしてんじゃねえよ、ってことだ
568仕様書無しさん:2005/11/22(火) 10:47:53
つまりVBでWindowsプログラミングなんざするな、ってことか。
569仕様書無しさん:2005/11/22(火) 10:59:48
やはり基本に立ち返ってN88BASIC。

>557がもしもVBじゃなくてCとかJavaだったら、噴飯物だったな。
570仕様書無しさん:2005/11/22(火) 11:25:40

int Func()
{
  static long lData;

  lData = 0;

    ・
    ・
    ・

}


staticにする意味ねーよ

571仕様書無しさん:2005/11/22(火) 12:01:08
>>570
どっかにポインタでも預けてるんじゃないの?
まぁどっちにしても、もっとマシな書き方があるだろうとは思うけど。
572仕様書無しさん:2005/11/22(火) 23:43:16
それは昔、スタック領域を節約するためによく使われた方法だよ。
573仕様書無しさん:2005/11/23(水) 03:11:39
public static long lData;
パブリック宣言要るよな?
574仕様書無しさん:2005/11/23(水) 03:17:17
要らないよ。
575仕様書無しさん:2005/11/23(水) 03:48:32
じぇねれーしょんぎゃっぷを感じる
576仕様書無しさん:2005/11/23(水) 10:52:20
jばjばjばjばjばjばjbじゃj
577仕様書無しさん:2005/11/24(木) 06:09:23
>>576
SyntaxError
578仕様書無しさん:2005/11/24(木) 18:44:03
2年前に辞めた奴のソースを引き継いだんですが。

・一つのEXE内でシリアルポートを三つ制御している
・それぞれの動作ログを書き込むファイルは同じ名前
・タイマーで受信状況をチェックしているのだが、そのタイマーは一つだけ
イベント関数内で、シリアル1〜3までをじゅんぐりにチェックしている


帰って良いですか_| ̄|○




579仕様書無しさん:2005/11/24(木) 18:54:16
>>578
イ`
580仕様書無しさん:2005/11/24(木) 20:02:04
public static final String QUERY_HEADER= "SELECT DISTINCT ";

なんでも定数にすりゃいいってもんじゃないだろ。
581仕様書無しさん:2005/11/25(金) 02:02:36
少なくともうち間違いはなくなるんじゃね? 存在しない定数はコンパイラが
はねてくれるんだし。

まあかなり読みにくいソースであることは想像に難くないけど....
582仕様書無しさん:2005/11/25(金) 02:37:54
>580
それで定数名がARZ00093PSFS
とかなら辞めたくなるのは分かる。
583仕様書無しさん:2005/11/25(金) 09:00:59
public static final String SELECT_DISTINCT= "SELECT DISTINCT ";

とでもすれば問題解決。

# なわけない
584VB-Slime:2005/11/25(金) 09:56:09
>578
自分が今抱えているソースも似たようなもんでふ。
VBのくせして同一タスク内にRSが三つ_| ̄|○
せめてもの救いは、タイマーも三つに分かれてるので、各処理が非同期で
動く・・・・・・救いになるか!(#゚Д゚)ゴルァ



あ゛、さらに、DI/DO制御も同じタスクでやってやがる_| ̄|○
585仕様書無しさん:2005/11/25(金) 21:36:48
見難いほうが問題になるよな…のちのち
586仕様書無しさん:2005/11/25(金) 23:26:36
SqlStr = "SELECT ................................." & chr(13) _
"........................................................................................." & chr(13) &_
"........................................................................................" & chr(13) & __
"......................................................................................" & chr(13) & _
Debug.Print SqlStr ←残ってる


変なところで改行されちゃったから改行しましたってのが見え見え
587仕様書無しさん:2005/11/26(土) 00:58:07
そんなもんコード内で改行する必要ないだろ…
588仕様書無しさん:2005/11/26(土) 09:00:15
それより、代入文と Debug.Print が繋がってる。
589仕様書無しさん:2005/11/27(日) 16:04:45
使っていい変数がグローバルのみで

char byteData[50000];
int seisuData[10000];
double shosuData[1000];

のみ…か……
初期のツクールってこんな感じの変数管理だったな…
590仕様書無しさん:2005/11/27(日) 16:19:52
>>589
それでどんなプログラムを作るのかが気になる。
ポインタはseisuDataを流用するのかな。
591仕様書無しさん:2005/11/27(日) 16:36:13
>589
森羅万象テーブル思い出した
592仕様書無しさん:2005/11/27(日) 16:37:04
>>589
なにそのCobol++
593仕様書無しさん:2005/11/27(日) 16:39:07
589じゃないけど。
seisuDataにインデックスを持つとかじゃないかな……。
よもやseisuDataをフラグ変数として使ってswitchとかじゃorz
594仕様書無しさん:2005/11/27(日) 17:01:03
if(sousuData[SeisuData[762]]<sousuData[SeisuData[54]])
  byteData[seisuData[seisuData[87]]]=byteData[seisuData[0]];
595仕様書無しさん:2005/11/27(日) 17:19:20
ローカルで
int *hoge=&seisuData[5403];
とかやれば多少マシになる・・・か。
596仕様書無しさん:2005/11/27(日) 17:39:38
> 使っていい変数がグローバルのみで

>595
ルール違反だ
597仕様書無しさん:2005/11/27(日) 18:28:55
int func()
{
#define hoge seisuData[5403]
#define i seisuData[5404]
#define tmp seisuData[5405]
  :
  :
  :
  :
#undef hoge
#undef i
#undef tmp
}
598589:2005/11/27(日) 18:35:11
>>590
ホストが事前に出力しているcsvファイルを読み込んで加工するんだが、
読み込みのためのFILE型ポインタだけはローカルで使っていいようだ。

で、例えば1行のデータをbyteDataの0〜255に読み込んで
そこから数値に変換した値をseisuDataの50から順に入れて使うとかそんな感じ
フラグなんかで変数を使う場合もbyteDataの空いてるところを使ったりするぜー
599仕様書無しさん:2005/11/29(火) 01:09:32
>>598
「辞めようと思った」って言うか、辞めちゃえそんなん
600仕様書無しさん:2005/11/30(水) 19:27:01
>>568
他にVBで何かできようか(
601仕様書無しさん:2005/11/30(水) 23:33:43
vbでプログラムが書けるアプリケーションサーバがあったりするw
602仕様書無しさん:2005/12/01(木) 12:47:05
文字列や数字のHTML表示用変換を行うクラスに
HTMLエスケープのメソッドがあるのは分かる・・すっげーよく分かる・・。

だが同じクラスに・・
システム日付の取得メソッドってのはどーーいうことだオィーー!
なんの関係があるんだよォーー!!
しかも両方DBアクセスのメソッドから呼び出しやがって!!
取り出したnullデータが一時変数にも入らず"<BR>"とかに変換されやがる!!
どういうことだ!? クソッ! クソッ!
603仕様書無しさん:2005/12/01(木) 13:09:22
ほな、その部分だけ修正すればええやんけ
604仕様書無しさん:2005/12/02(金) 00:42:50
>602
いわゆるスイスアーミーナイフパターンでつな。
605仕様書無しさん:2005/12/02(金) 19:29:27
タブキー使うなって言われたんだけどどうしよう?
606仕様書無しさん:2005/12/02(金) 19:35:49
>>602
ギアッチョワロタ
607仕様書無しさん:2005/12/02(金) 20:32:53
VB だとまともなのを見付けるのが至難の技

If strA <> "" Then
strRet = strA
Else
strRet = ""
End If
608仕様書無しさん:2005/12/02(金) 21:46:19
>607
何考えてるんだろうと思っちゃうな
609仕様書無しさん:2005/12/02(金) 22:40:09
VBを読める奴はすごいと正直に思うわ…とりあえずつくりました的なのみたらゴミ箱にぽぽいのぽいよっ

するわ
610仕様書無しさん:2005/12/03(土) 00:03:48
とりあえずつくりました的プログラムに多用される言語としては、
PerlとかRubyとかいわゆるスクリプト言語もありますが、VBっつーのは
そういう系でもないの?なにがそんなにいけないのでつか?
611仕様書無しさん:2005/12/03(土) 00:05:39
馬鹿にされても文句言えない
612仕様書無しさん:2005/12/03(土) 02:00:34
>610
 お手軽さのオーバースペックで、大量の厨PGを作り出したから恨まれてるのでは。
 1年目の人間にプログラムとはどんなものかを教えるには最適だが、使い物になる
ような使いこなしをさせようとしたり、別の言語へのスイッチをさせようとすると、とたんに
壁ができたように挫折する。
#ココで挫折しなかった奴は、仕込めば仕込んだ程度には使い物になる(なった)。

 VB.NETになるとまた違うんですが。あっちは別の意味で初心者にはお勧めできない。
#6の系統は6の系統で初心者向けに残してほしいと思う。
613仕様書無しさん:2005/12/03(土) 02:22:46
>>612
>お手軽さのオーバースペックで、大量の厨PGを作り出したから恨まれてるのでは。
これが正解。

VBは悪いツールでは無かった。
しかしホビー用途か試作画面の作成が出来る程度で止めておけばよかったんだ。
業務でも使えるようにすべきではなかった。

#個人的には初心者向けには Boo って言語がよさげじゃないかと思うんですが。
614仕様書無しさん:2005/12/03(土) 05:15:21
vb.netでandalso、orelse使えるのにわかりにくいから使うなって言われたよ
さすがVBあがりのSE様だ
615仕様書無しさん:2005/12/03(土) 05:32:57
VBは簡単すぎて、本質を理解してなくても論理的な思考ができなくてもトライ&エラーで(表面上は)どうにかなってしまう。
いわばテロ。
616仕様書無しさん:2005/12/03(土) 09:39:13
おまいらはなんもわかってない。
ゲイツ様存命の限りはBasicは生き続けるんだよ?
「CもC++もむろんJavaなんぞ糞だ!C#なんかに妥協するな!

これからも主力はBasicだ。わ か っ た な 」
こんな感じと桃割れ。
617仕様書無しさん:2005/12/03(土) 09:41:15
なんで?
ゲイツってBASICフェチなの?
618葉猫 ◆Jz.SaKuRaM :2005/12/03(土) 10:49:08
パクリの原点でつからね。。。。。

Ms-Basic、MS-DOS、MS-Windows。。。。。
619仕様書無しさん:2005/12/03(土) 11:08:06
VBの言語としての設計者って誰なんだ? 特に.NET化する前のやつ。
Paul Vickでいいのか?

殴ってやりたい。
620仕様書無しさん:2005/12/03(土) 11:40:44
>>617
Microsoftが最初に出しだ製品がBASICインタープリタだった。
当然ゲイツ自身が大きく関わっていたはずで、思い入れも大きかろう。
#きっと社内では「BASIC、最高ですか?」と言う掛け声が
621仕様書無しさん:2005/12/03(土) 11:57:59
wikiによると、ゲイツはBASICインタープリタを空売りしてから、
飛行機の中で開発したってさ。

思い入れって言うか、そもそも開発者なのでは?

そりゃ売り込む罠。
っていうか、VBAもそうだが、VBが便利で簡単なのは間違いないし。
622仕様書無しさん:2005/12/03(土) 12:04:12
printf("のーばでぃーぬるぽ");
623仕様書無しさん:2005/12/03(土) 14:01:33
printf("\n>>622 nobodyガッ!\n");
624仕様書無しさん:2005/12/03(土) 15:04:11
20行位のコメントにAA書いてあった…
625仕様書無しさん:2005/12/03(土) 17:00:53
ちゃねらーのコメントは痛すぎるよなw
626仕様書無しさん:2005/12/04(日) 13:55:23
 誠にすっきりして良いソースコードなのだが、VCのウィザードで生成される
readme.txtの後ろに、延々と前のソースコード(スパゲティ)の批判を書き連ね、
「こんなソース、レビュー段階で蹴らないとダメだ」
「だれかレビューできる奴はいなかったのか」
「上も上で納品チェックで弾けよ」
「そもそも採用するな、こんな奴」
等々、悪口通り越した文言書き連ねているのなら見たことがある。
627仕様書無しさん:2005/12/04(日) 14:55:30
問題ないじゃん
628仕様書無しさん:2005/12/04(日) 15:31:49
ドン引きですが・・・
629仕様書無しさん:2005/12/04(日) 16:11:41
VCのウィザードで自動生成されるreadme.txtって何の意味も無い気がする。
630仕様書無しさん:2005/12/04(日) 20:02:09
〜ウイザードなんて偉そうな名前が画面に出ても、そんな大して便利でもない。
631仕様書無しさん:2005/12/04(日) 20:04:14
>>625
きわめて正論のように思うが……
632仕様書無しさん:2005/12/04(日) 21:03:50
>>631
つまり突かれると痛いコメントということで。
633仕様書無しさん:2005/12/04(日) 22:31:31
> Microsoftが最初に出しだ製品がBASICインタープリタだった。
> 当然ゲイツ自身が大きく関わっていたはずで、思い入れも大きかろう。
Tiny BASIC をアルテア6600 に移植しただけの代物だが。
MS-DOS もQDOS を移植しただけの代物だが。
「どっかからネタを(パクるにしろ買うにしろ)拾ってきちゃ
(特許なりなんなりで)法的な所有権を設定し、
ライバルを宣伝と法廷闘争でツブして利権を独占する」という
という手法は、エジソン(GE)のお家芸であり、それを踏襲したという
点で、ゲイツはエジソンの正統的な後継者だと思う。

 ……もちろん漏れはエジソンもゲイツも嫌いだが、そのうち
ゲイツも小学校の道徳の教科書に“偉人”として載るんだろうな。
634仕様書無しさん:2005/12/04(日) 23:23:33
「変人」として載るに300バシック
635仕様書無しさん:2005/12/05(月) 00:47:11
DIM $載らない(40)
636仕様書無しさん:2005/12/05(月) 00:51:38
VBのソース追うのがいつも鬱なんだが、やっぱり嫌われていたんだな。
637仕様書無しさん:2005/12/05(月) 11:03:46
>>614
なんだそりゃ??と思ったら、
短絡評価出来るようになったのか (遅)
638仕様書無しさん:2005/12/06(火) 20:17:55
JavaでObject[]を別のクラスの配列にキャスト、なんてこのスレではかわいいもんなのだな。恐ろしや。
でもせめて一回は動かしてからCVSに入れてね。>リーダー
あと俺がちゃんと書いてたんだから壊さないでね。>リーダー
639仕様書無しさん:2005/12/06(火) 23:03:13
>>638
それは状況によるでしょ。
640仕様書無しさん:2005/12/07(水) 00:46:54
>>638
どのような理由で Object の配列になっているのかが気になるな。
様々なクラスが混ざった配列ならば、Object の配列にする理由も分かるが、String しか
ないことが事が決まっているのなら、String の配列にするべき。
後者ならば、Object の配列を作ったやつも似たようなものだ。

まぁ、>>639 の言うように状況が分からんと何とも言えん。
641仕様書無しさん:2005/12/07(水) 10:38:15
>>638 にあるように、
> Object[] を別のクラスの配列にキャスト
        ~~~~~~~~~~~~

いかなるクラスも Object から派生してるんだから、
少なくとも、最初から「別のクラスの配列」に入れておけよ、とは思いますな。

何で、わざわざ落しどころよりもさらに下に落すのか、と。
(クラス階層で言えば、むしろ上なんだろうけど)
642仕様書無しさん:2005/12/07(水) 11:02:26
ナローイング変換kayo!
643仕様書無しさん:2005/12/07(水) 23:05:59
ぬるぽっ
644仕様書無しさん:2005/12/07(水) 23:18:49
catch(NullPointerExeption ぬるぽ)
645仕様書無しさん:2005/12/08(木) 02:54:42
throw;
646仕様書無しさん:2005/12/08(木) 03:53:23
ぬるぽ出て そっとつかまえ またぬるぽ
647仕様書無しさん:2005/12/08(木) 15:08:58
try {
:
} catch ( NullPointerException nullpo ) {}


ぬるぽのもみ消し反対!
648仕様書無しさん:2005/12/08(木) 17:59:27
public abstract void ga(NullPointerException nullpo);
649仕様書無しさん:2005/12/09(金) 00:29:19
Servletの初期化時に投げられた例外を、
何も考えずにreturn false;とかにすり替えてくれるフレームワーク。
呼び元見たら戻り値チェックしてねぇし。

単純な設定ミスに気づかずに「正常に動かない!」ってんで
俺のところにトラブルシュートが舞い込んでくるのは今日で三回目くらい……。

フレームワークのコードなんて把握しようとするんじゃなかった……orz。
650仕様書無しさん:2005/12/09(金) 08:15:04
「アルマジロ」
651589:2005/12/12(月) 18:03:02
ダイアログの決定がF12、キャンセルがpauseという仕様を喰らった
何でわざわざこんな面倒な仕様に
652仕様書無しさん:2005/12/12(月) 18:57:36
>651
蜂関係?
俺も数年前にそんな仕様のプロジェクトに外注として参加したことある。
653仕様書無しさん:2005/12/15(木) 21:08:56
先人の苦労を想像するには難しくない。
いやしかし今見ているのはリリース版のはずで(ry

#ifdef DEBUG1
//数十行
#ifdef DEBUG2
//数十行
#else
//数十行
#ifdef DEBUG3
//数十行

以下 #ifdef #else #endif の入れ子がいっぱい orz...
654仕様書無しさん:2005/12/15(木) 22:09:26
>653
リリース版でも DEBUGn が定義されてたりするとサイアクだよな〜
655仕様書無しさん:2005/12/15(木) 22:52:18
ソース全体の1/3がデバッグ用printf
656仕様書無しさん:2005/12/15(木) 23:03:03
>>651
ワロタ


けど、白状します。
実は俺もダイアログを閉じるのに"Delete"というアプリを世間様に放流しました。
なんでもオフコン時代のそれがその辺の位置のキーでキャンセルしていて、
ESCだと左手のオペレーションになるから認めてもらえなかったんだよ。
657仕様書無しさん:2005/12/16(金) 00:54:25
Endキーでヘルプが出る程度なら許してやる。
658仕様書無しさん:2005/12/16(金) 01:24:44
クライアントには
Windows標準のキー操作が嫌ならWindows使うなと言いたい。
659仕様書無しさん:2005/12/16(金) 01:54:39
オフコン使ってたなら、そのままオフコンつかってろと


言うわけにはいかないおれらの仕事。
だりーよな。全く。
660仕様書無しさん:2005/12/16(金) 08:51:43
オフコン使いつづけてくれりゃいいんだよ。
どうせ目の前にあるのは単なる端末なんだからさ、
ホスト側を殺して新しいサーバとデータ送受信するだけ
にしてくれりゃいいんだよ。

そうすりゃお年寄りも迷わずに済むし、
画面I/FでCOBOLerも食っていけるし

いいことづくめだ。
661589:2005/12/16(金) 12:18:58
Sysrqも使う事の無いキーだな
もはや画面撮影専用キーに

662仕様書無しさん:2005/12/16(金) 18:29:26
NFER、もとい無変換キーも出番が少ないね。
663仕様書無しさん:2005/12/16(金) 18:36:08
>>662
かな打ちだとしょっちゅう使う。
全角英数叩くのに必要。
664仕様書無しさん:2005/12/16(金) 19:30:00
>>663
カナ打ちのマなど、見たことがない。
665仕様書無しさん:2005/12/16(金) 20:08:07
変換/無変換はIMEのON/OFFに割り当ててる。

>664
漏れはJISカナとは違うが、ローマ字系かカナ系かと言われたらカナ系に入る
キーボード配列を使っているぞ。
うちの大学の教授でT-CODE使ってる人もいたし。
666仕様書無しさん:2005/12/17(土) 00:08:42
>>664
漏れがそうなんだが。
書き忘れたけど、全半角カタカナに変換するときにも使う。
667仕様書無しさん:2005/12/17(土) 00:12:19
ホストからの移行を想定したアプリだと
・変なキー割り当て
・フォーカスの当たっているコントロールの背景色が変わる
・画面最下部にファンクションキーを模したボタン
は定番だと思った
668仕様書無しさん:2005/12/17(土) 00:15:17

if( hehehe == TRUE ) //これついかね♪
if( kukuku == TRUE ) //これも
if( kekeke == TRUE ) //これも追加
if( hohoho == TRUE ) //これついか
if( fafafa == TRUE )
nurupo = gasunnna;
669葉猫 ◆Jz.SaKuRaM :2005/12/17(土) 11:14:50
>>664 漏れは仮名入力だーヽ(`Д´)ノ ウワワーン
670仕様書無しさん:2005/12/17(土) 12:31:25
職業プログラマーだからって、みんなすごいわけじゃないのね。
専門職に幻想を抱いてただけなのか。
NAMAE1 = Request.Form("NAMAE1")
NAMAE2 = Request.Form("NAMAE2")
NAMAE3 = Request.Form("NAMAE3")
        :
        :
NAMAE25 = Request.Form("NAMAE25")
このあと一つ一つNAMAE1〜25に対して処理を書いてました。
とりあえず幻想を抱くのはやめときます。
671仕様書無しさん:2005/12/17(土) 12:45:48
極端に差が激しい。
672仕様書無しさん:2005/12/17(土) 12:48:27
学生のころ、仕事で作成するプログラムと君たちが作るプログラムの違いとか、
いろいろえらそうなこと言われたが…
いわく、エラー処理が違うとか、品質がまったく違うとか。

実態は俺のほうがよっぽどましだったよ、笑わしてくれた。
別に技術的なレベルにも行かない話で、根本的に品質悪すぎじゃねーか。
673仕様書無しさん:2005/12/17(土) 13:06:17
誰が見てもわかるプログラムでないといけない、何てことも言われたな。
それは正しいとは思うが、どう見ても誰が見たってむちゃくちゃでわかりにくいとしか思えない。

わかりやすくきれいでスマートなプログラムを書く能力がないから、
馬鹿プログラムの言い訳にしてるだけだろうと。
674仕様書無しさん:2005/12/17(土) 15:40:30
納品日に間に合わせれるかどうかが判定基準なのさ
675仕様書無しさん:2005/12/17(土) 16:50:13
「品質の高いものを作ろうとするほど短時間で済む」という研究結果はもっと広まるべきだ。

あ、現状が限界の品質なのか……。
676仕様書無しさん:2005/12/17(土) 18:26:17
>>672
よっぽどレベルの低いところに就職したんだなw
677仕様書無しさん:2005/12/17(土) 19:24:35
というよりまともに出来るやつと出来ないやつの差が激しいんだろ
はっきり言って平均レベルが低い所は多い
もっと言うと、業務APの技術レベルなんてそんなもんが多い
678仕様書無しさん:2005/12/17(土) 19:51:10
>>673
それって漢字が読めない人のために、
全部ひらがなで書くべきだという主張と同じだよな。
679仕様書無しさん:2005/12/17(土) 20:51:13
納品間際であるほど、きっちり対応したほうが早くすんだりするんだよなあ....
680仕様書無しさん:2005/12/17(土) 21:26:53
スケジュールが厳しい場合に、
既存の酷いコードでも踏襲して考える時間を節約するか、
ある程度綺麗な形で作り替えるか悩む。

どちらもそれぞれなりにリスクがあって
読みが外れると痛い目に会う…
681仕様書無しさん:2005/12/17(土) 21:28:57
>>678
しかし、漢字が読めない率が極めて高いのが特徴
682仕様書無しさん:2005/12/17(土) 21:33:40
>681
こんな仕事なんだから読めとけよと言いたいところが、
90%の人間はそもそも一冊も本を読まないという。
Code Complete読んで一番悲しかったデータだ……。
683仕様書無しさん:2005/12/17(土) 21:53:09
はっきり言って一番問題なのはね、
優秀なやつがいても、低いレベルに合わせなければならないこと、
出来るやつは大抵シンプルで少ないコードになるため、
生産性が低いと勝手に評価されがちなこと、だな。

そして、出来ないやつが問題なのに、少数派の出来るやつが問題になる。
こうなると普通ならもはや末期症状だと思うんだけどね。
684仕様書無しさん:2005/12/17(土) 21:54:13
ソースコードではないのだが、
「仕様どおりにプログラムつくるようなことはしないでね。ベテランなんだからさ」
じゃあ、何を基準に作ればいいんだ。
それなりに業務を分かってればいいが、仕様をもらいにいったその日にいわれた。
他に資料もないし。
この会社は今までどんな仕事の仕方をしていたのだろうか・・・
685仕様書無しさん:2005/12/17(土) 21:55:16
未だにステップ数でしか評価出来ないやつ、いいかげんにしろと言いたい
686仕様書無しさん:2005/12/17(土) 21:56:56
それは仕様通りにつくらなくてもいいってことか!!
687仕様書無しさん:2005/12/17(土) 22:01:18
出来れば、自分の書くコードにプライド持ってほしいんだけどな〜
688仕様書無しさん:2005/12/18(日) 04:21:07
有名な企業に派遣に行くことになり驚くべき物を見ました。
Java某というのもあります。

VBとCを使っての開発なんですが
当然の如くGOTOを多様していて
一つのファイルに数千行ものコードを書き記されている・・・
コメントがやたらと多くて、非常に見にくくて許せないほどに酷い物でした

If flag = True then
 flag = False
Else If flag = False Then
 flag = True
EndIf



flag = flag Xor True

と書いたら怒られました orz
勝手に修正したのではなく、自分が担当している箇所でのことでして
他のコードと合わせろと・・・

派遣期間が終わって、自社で開発がしたい orz
自社なら正しい方向に導ける可能性があるから!!
689仕様書無しさん:2005/12/18(日) 06:24:23
VBは知らないんだけど、NOT使えないのか?
690仕様書無しさん:2005/12/18(日) 08:28:09
>689
使えます。
flag = Not flag
ね。これならまだ風当たりが… 変わらんか。
691仕様書無しさん:2005/12/18(日) 08:28:42
普通はNOTだろ
692仕様書無しさん:2005/12/18(日) 10:25:51
VB厨は CurDir と App.Path の違いを恐らく理解していない。
アプリケーションの設定ファイルの位置を
 CurDir & "設定.ini"
なんてやってるのを見ると、もうねアフォかと
693仕様書無しさん:2005/12/18(日) 10:33:02
>692
VBとかVBAに使うときはドライブもパスも固定しちゃう。
それが一番楽。VBではね。
694仕様書無しさん:2005/12/18(日) 10:40:26
>>688
とりあえず漢字ぐらい見直せ
695仕様書無しさん:2005/12/18(日) 11:05:47
コメントが多いなんて羨ましいよ
今行ってるとこは逆にコメント皆無で処理の目的を探り出すのが大変
グローバル変数多様だからしらみ潰しに解析せにゃならん

まあ実際にはコメント多いって言っても処理の内容丸写しで
肝心の意図は書いてないんだろうな
696仕様書無しさん:2005/12/18(日) 12:42:32
>>688
> flag = flag Xor True
> と書いたら怒られました orz

なんでそんな変態的な書き方してんだ? NOTで済む話なのに。
697仕様書無しさん:2005/12/18(日) 13:45:15
NOTしただけの変数を作るくらいなら、
インライン展開してしまいたい。
まぁ、そうしない理由もあるだろうけど。
698仕様書無しさん:2005/12/18(日) 15:29:06
意味が分からない
699仕様書無しさん:2005/12/18(日) 21:14:37
うちの会社のソースにはこんなのがいっぱいあってやだ・・・

if (flag != false) {
700仕様書無しさん:2005/12/18(日) 21:55:58
if( !( !( !flag != !false) != !false ) )
701仕様書無しさん:2005/12/18(日) 21:57:39
俺は汎用からOPEN系に来た人間で、最初に分からなかったのがNULLの感覚。
最初の1ヶ月ぐらいは苦労した。でね、今の職場なんだけど、俺は最近入ったんだけど、
彼等もう一年以上開発してるのね。
ある日、うるせー小姑みたいのが、IF A != B でBの値がNULLの場合
THENにいかねえとかいって大騒ぎし始めてね。他のメンバーも知らなかったみたいで。
自慢気に俺のところにも説明に来るわけ。はあ。って感じになった。
知ってますよって言ったら、何で教えてくれないんだと怒られて悪人扱いされた。
仮にも一年以上やっている人たちに、そんなこと言うほうがおかしいよ。
そんなもん・・・。そんな684の職場。
702仕様書無しさん:2005/12/18(日) 22:15:28
NULLてなんのNULLだよ…
でもまあありそうな気はする。

2進実数すら理解してないのも多いな。

合計の割合を求めるのに、割合の平均を計算してるプログラムもあったな。
指摘しても変な顔されるだけで理解してもらえない。
おいそれはプログラム以前に算数の問題じゃないのかと…
703仕様書無しさん:2005/12/19(月) 01:22:16
>合計の割合を求めるのに、割合の平均を計算してるプログラムもあったな。
>指摘しても変な顔されるだけで理解してもらえない。
オレも似た経験あり。変な顔したのは数学科出身の先輩ですたが・・・
704仕様書無しさん:2005/12/19(月) 08:24:50
>>701
仮にも20年以上生きて社会人やっててその日本語能力ならばその職場にお似合い
705仕様書無しさん:2005/12/19(月) 17:44:12
>>701
> 俺は汎用からOPEN系に来た人間で、最初に分からなかったのがNULLの感覚。

NULLは、汎用もOPEN系も関係ないだろ。
言語仕様の問題であって、
汎用系かOPEN系かなど、一切関係ないぞ。
706仕様書無しさん:2005/12/19(月) 18:52:39
>705
COBOLから来るとつらいかもしれん。

707仕様書無しさん:2005/12/19(月) 23:10:54
三値論理なだけだな。
DB系でもSQLが同仕様なんで、間違えている奴をよく見かける。
708仕様書無しさん:2005/12/19(月) 23:36:29
Excel上で、各行の表示が全部0なのに合計が0.1とかになってたことがあって、
バグだ、直せと客にいわれて、バグだと思い込んで俺に修正しろという先輩。
あんたも算数できないだろ。
言うのはまあいいが、何でそうなるのか説明してんだから理解してくれ。
それにそもそももともとはあんたが作ったんだろ…
709葉猫 ◆Jz.SaKuRaM :2005/12/19(月) 23:54:30
エクセルのシートに=ROUND(桁数、数値)って感じで入れとけば
710仕様書無しさん:2005/12/20(火) 00:15:39
いっそ固定値で「0」


そうしたくなったことが俺にもありました
711仕様書無しさん:2005/12/20(火) 00:29:07
 最近みかけたんだけど、C++でダウンキャストを目立たせないためなのか
アクセスを楽にするためのかどうかは知らないけど、
基底クラスと派生クラスへのポインタ(いろんな派生クラス)を
全て unionにまとめて、必要に応じてアクセスするメンバ変数を変えている人がいた。
 なんかの拍子に 基底クラスのポインタ != 派生クラスのポインタ に
なったらどうするんだろう・・・。
712仕様書無しさん:2005/12/20(火) 00:32:33
またコテが無能っぷり見せに来たのか
713仕様書無しさん:2005/12/20(火) 01:15:51
>Excel上で、各行の表示が全部0なのに合計が0.1とかになってたことがあって

これバグでしょ?
714仕様書無しさん:2005/12/20(火) 01:23:06
なんでVSS使ってるのに、修正したソースコード全部に、
修正前のコードをコメントアウトで残して、日付と名前と修正理由、修正内容、
規約で決まってる怪しい修正番号、なんてものを入れなきゃならんのだ?
・・・死ぬほど読み難いソースコードになってしまってるのだが・・・
客との取り決めで、そうすることになってるから、絶対にそうしないといけないらしい・・・
715仕様書無しさん:2005/12/20(火) 01:56:43
>>713
算数できないですか?
716仕様書無しさん:2005/12/20(火) 03:29:36
>>715
算数の問題でなく、仕様として問題のあるバグでしょ?
どうせお前も結局直したんじゃねーの?
717仕様書無しさん:2005/12/20(火) 06:07:00
単に表示上丸められてゼロなのを
本当にゼロと勘違いしてるだけじゃ?

Excelはセル幅が小さいと勝手に丸めるし
セル幅の自動調節でも丸めたまま調節する
718仕様書無しさん:2005/12/20(火) 06:41:56
でもそれは「算数の問題」ではないわな。

>>708
もうちょっと詳しい説明お願い。
719仕様書無しさん:2005/12/20(火) 07:56:31
算数の問題てのは、ちょっと言い方がおかしかったもしれない。
結局お客さんに理由を説明して納得してもらってそのまま。
っていうか直しようがないでしょ、数値変えたらうそになるんだから。
念のため言っとくが、表示時に小数点以下2桁目で四捨五入、
0.0とかは0と表示してほしいってのは、要望による仕様だ。
720仕様書無しさん:2005/12/20(火) 08:01:23
で、それを説明しても、えー、そんなことになるんか??
でもなんかおかしくない?納得いかないって言って理解できない先輩が
算数できないの?って話だった…
先輩を通り越して直接お客さんに説明して、あ、そういうことか、
じゃいいです、終了。
721仕様書無しさん:2005/12/20(火) 10:38:43
合計は丸める前の値で出してるわけか。説明thx
722仕様書無しさん:2005/12/20(火) 11:45:19
ありがちなパターンだな。
小坊のころ、社会等の資料で
各パーセントを足しても99.9%で100%にならない、
といって得意げになってた奴を思い出した。

この程度が理解できんレベルは足手まとい。
723仕様書無しさん:2005/12/20(火) 11:58:44
>>719
>っていうか直しようがないでしょ、数値変えたらうそになるんだから。
同じようなケースで (Excel じゃないが)
客に訊いたら
「表示上の数値を合計して表示してくれ」
嘘表示だが、いいっつってんだからいいんだろう。
つか、どうせ環境庁に提出する書類には値t:;lm:ぽ^−い9234んl;
724仕様書無しさん:2005/12/20(火) 14:26:17
>>719
> 表示時に小数点以下2桁目で四捨五入、
> 0.0とかは0と表示してほしいってのは、要望による仕様だ。

各項目の表示仕様はわかったが、
合計算出の仕様は、直値を合計して四捨五入するのか、
四捨五入された各値を合計するのか、が問題だろ。
725仕様書無しさん:2005/12/20(火) 14:38:58
普通は直値の合計
要求によっては表示の合計も有り得る、くらいだろ?
何も注意書きがなけりゃ大抵は直値の合計じゃないの?

いずれにしても、そもそもの仕様はそういうことだったんだろ。
726仕様書無しさん:2005/12/20(火) 18:34:26
おまいらExcelなめんな。
オプションの計算方法に「表示桁数で計算する」ってあるだろが。

おまいらもグダグダモンクばっかいってないでお客様のご要望を
せっせと実装すりゃいいんだよ。
727仕様書無しさん:2005/12/20(火) 18:44:07
小手先Tips疲労して得意がってるアフォがいるスレはここですか?









早速使わせてもらいます。 ウソだけど。
728仕様書無しさん:2005/12/20(火) 20:11:05
機能の問題じゃねっつの
729仕様書無しさん:2005/12/21(水) 00:16:40
>>714
VSSで差分確認するよりソースにコメントアウトで残したほうが見るの楽だから
多分・・・
730仕様書無しさん:2005/12/21(水) 09:54:10
>>727
このスレ見て「誰かが得意がってる」なんて思うのは、
この程度のことも知らなかったキミとそのお仲間くらいのものだよw
731仕様書無しさん:2005/12/21(水) 15:05:16
まあいきなり脈絡なく本質と関係ないことを
興奮した口調で書き込まれては
そう思う奴もいるだろうな
732仕様書無しさん:2005/12/21(水) 15:25:06
ここで議論してる奴のソースコード見たら会社やめたくなると思う
仮にもプロだろ?レベル低すぎ。
733仕様書無しさん:2005/12/21(水) 15:55:36
具体的に書いてくれよ。
734仕様書無しさん:2005/12/21(水) 15:57:05
というよりあれだ。
いったい何をみて何を言いたいのかが分からん。
735仕様書無しさん:2005/12/21(水) 16:21:38
おい誰か議論してたか?
736仕様書無しさん:2005/12/21(水) 17:34:34
>>732は議論してるっぽいな。
737葉猫 ◆Jz.SaKuRaM :2005/12/21(水) 18:15:05
昼間から暇なちとが集うウンコ板でつからね。。。。
おっと今日は14分も残業ちてちまった。急いで帰らないと。
738仕様書無しさん:2005/12/21(水) 20:39:01
はいはい自己紹介乙
739仕様書無しさん:2005/12/21(水) 20:57:34
自己紹介は自己紹介板で
740仕様書無しさん:2005/12/21(水) 21:04:29
>>739
そんな板があるんだ。
初めて知ったよ。
741仕様書無しさん:2005/12/21(水) 22:00:05
2chを甘く見てはいけない
742仕様書無しさん:2005/12/22(木) 23:49:44
>>664

遅レスだが、俺の先輩もカナ打ちだ。
ちなみにその人は変数名にローマ字読みを混ぜて使う。
KakuchoFuncとかShugoNumとか。
なぜ普段はカナ入力なのか気になって仕方がない。。。

ところで、変数の微妙なスペルミスを見つけたときは直すべきかほっとくべきか。
bordとかRemortとかcontroler。。。
いっぱい使われてればほっとくけど、直せない数じゃないし。
VSS使ってるから直したら、誰がいつやったかもわかるし。
1番下っ端だからまだまだその辺で気を使う。。。
743仕様書無しさん:2005/12/22(木) 23:50:23
sage忘れ。
ごめん。
744仕様書無しさん:2005/12/23(金) 09:38:05
英語が分からないDQNな漏れとしては、
イミフメな英単語を使われるよりかはローマ時読みの方がマシな気がしてしまう。

そんな俺は炒ってよしですか?
745仕様書無しさん:2005/12/23(金) 10:19:09
hoge(unsigned int use,unsigned int rest){

/* 残りが少なくとも1ある時だけ実行 */
if(use - rest > 0 ){
・・・処理
}

わざとか?こんなのばっかりでもう疲れた・・・orz
746仕様書無しさん:2005/12/23(金) 10:55:20
>>742
「手数料」の表記がメソッドによって Tesuuryou だったり Tesuryo だったり
Teturyou だったりする俺のプロジェクトにいらっしゃい。
747仕様書無しさん:2005/12/23(金) 11:09:33
>742
ホームコードがHOOMUKOODOなうちでもいいぞ。
748仕様書無しさん:2005/12/23(金) 11:12:20
>742
バーチャルがbacyaruなうちも大歓迎
749仕様書無しさん:2005/12/23(金) 12:17:46
50音配列最強伝説
750仕様書無しさん:2005/12/23(金) 14:06:28
こないだ関わった仕事は変数名の他,DBのカラム名も日本語(ex. 名称,売り上げ)だった.
751仕様書無しさん:2005/12/23(金) 15:09:46
>>742
支店コードがstnCdなウチはどうよ?
752仕様書無しさん:2005/12/23(金) 16:11:59
>>750
問題点を勘違いしているのではないかね?
753仕様書無しさん:2005/12/23(金) 17:03:09
>>751
素っ頓狂だ
754仕様書無しさん:2005/12/23(金) 18:11:10
>>742
出金がSYUKINなうちにきなよ
755仕様書無しさん:2005/12/23(金) 20:40:24
シュキーン!
756仕様書無しさん:2005/12/23(金) 22:19:43
>>745
疲れる理由は・・・

1.以下のように書いていないから
if ( use > rest ){
・・・処理
}

2.実質的に制御結合だから

3.その他

どれ?
757仕様書無しさん:2005/12/23(金) 22:23:24
動的 SQL を書けない環境なので、
「ユーザから受け取った無指定」と「DB上のNULL」を一致させるために
"" + 要求データ == "" + DBデータ;
みたいなコードを書いたら品質管理部にリジェクト(却下)された。
Java だったら native をtoStrint() する代わりに「"" +」する
なんざ当たり前だと思うんだがな。
758葉猫 ◆Jz.SaKuRaM :2005/12/23(金) 22:35:46
>>757
意味がよく分からないのでつが、ISNULL(項目,'') じゃダメなの?
759745:2005/12/23(金) 23:03:35
>>756
3.バグだから。符号なしだからマイナスにならないじゃん・・・orz
他にも基本的なミスばっかり散在してて疲れますた。
760仕様書無しさん:2005/12/23(金) 23:20:14
またアホコテが無知を晒しに来てんのか
羞恥心って感情はねぇのか
761仕様書無しさん:2005/12/23(金) 23:26:17
マイナスにはならなくてもゼロにはなるじゃん。
762仕様書無しさん:2005/12/23(金) 23:40:41
>>761
これから使用する数(use)より残数(rest)一致する場合、
なんか特別な処理があるんでここははじく作りだった。(これは想定どおり)

ただ、残数が足りなかったら明らかにだめぽなんで。
説明不足ですまん。
763仕様書無しさん:2005/12/24(土) 00:10:26
課金がKAKINな携帯は無いだろうな。
764仕様書無しさん:2005/12/24(土) 04:00:02
符号無しといえば、これってあり?

const int MAX = 999;
int a = -1;
(中略、ここでaに値が入ったり入らなかったり)
if ( (unsigned int)a < MAX ) hoge( a );
765仕様書無しさん:2005/12/24(土) 11:31:18
まあ嫌がらせってことで
仕事ではやるな
766仕様書無しさん:2005/12/26(月) 08:52:51
>>764
条件が(0〜MAX)ならありかな。


767仕様書無しさん:2005/12/27(火) 03:00:15
StringBuffer sb = new StringBuffer();
String line;
do {
 line = br.readLine();
 if (line != null) {
  sb.append(line);
  sb.append(".");
 }
} while (line != null);

String[] lineData = sb.toString().split(".");
// 以下line, sbは使われない
768仕様書無しさん:2005/12/27(火) 15:11:26
>>767
ロジック見る限り、ArrayListに入れてtoArrayでもする方が
流れとしては自然に見えるけど…動いてるなら妥協出来る範囲じゃね?
その後何やってるかわかんねーから、そこまで糞に見えない。

気にくわないのは良いけど、じゃあおまいならどうすんの?
769仕様書無しさん:2005/12/27(火) 15:28:38
前後を見ないと意味の変わる書き換えはできないけど、
意味の変わらない範囲でオレならこう書くかなぁ。

while ( (line = br.readLine()) != null){
  sb.append(line);
  sb.append(".");
}

んーでもオレはこれくらいなら許容範囲のうちかな。
770仕様書無しさん:2005/12/27(火) 17:03:31
実行効率をあえて犠牲にして
sb.append( line + "." );
771仕様書無しさん:2005/12/27(火) 18:00:30
いや、問題は二つばかりあってさ。。。
1. 入力ファイルには普通にピリオドが含まれている
2. splitの引数は正規表現だろ ゴルァ
772769:2005/12/27(火) 18:45:55
入力データのピリオドで区切るのが不正なら改行区切りでやれば、まぁ良いとして
splitが正規表現なのはオレも忘れてたw
773仕様書無しさん:2005/12/27(火) 18:51:02
>771
それだと1回動かしてみればバグってるのわかりそうなもんだが
774仕様書無しさん:2005/12/27(火) 18:58:41
>>773
動かしてもいないんじゃない?
775仕様書無しさん:2005/12/27(火) 21:06:32
もしかしてそのあと、lineData配列の要素を一つ一つ処理するループに突入する
とかいうオチまでついているんだろうか。
776仕様書無しさん:2005/12/27(火) 21:57:41
brの元ねたがSystem.inだとどうなるんだっけ?
777仕様書無しさん:2005/12/28(水) 00:57:05
>775
はっはっは。ちょいと調べてみたらそのまま別のファイルに書き出されてるだけだったよ。
778仕様書無しさん:2005/12/28(水) 11:19:28
変数名や関数名でorzとなる程度はまだマシだなと思う今日この頃。
データ取得関数が

  void YOMI()

とか、保存関数が

  void HOJI()

とか、保存するパス名が

  char cHznDrive[];

とか、そんなのはちいせぇちいせぇ'`,、('∀`) '`,、
779仕様書無しさん:2005/12/28(水) 14:20:37
> 変数名や関数名でorz
「変数名や関数名がorz」に見えた…

int orz();
780仕様書無しさん:2005/12/28(水) 14:28:57
private short orz () { …    個人的でちょっとしたがっくり。
public long orz () { …     公衆の面前で長時間がっくり。
private single orz() { …    毒男のデフォルトがっくり。
private double orz_orz () { … 毒男の友人と二人で呑みつつがっくり。
public static long orz () { … 重い鬱で病院に通ってます。
781仕様書無しさん:2005/12/28(水) 14:30:23
orz=3;
782仕様書無しさん:2005/12/28(水) 14:31:53
>780 ワロタ
783仕様書無しさん:2005/12/28(水) 16:15:35
これじゃ final や const は付けられない・・っ
784仕様書無しさん:2005/12/28(水) 20:37:19
analyzer()関数内からanal_○×△とかいう変数名がごろごろと・・・
785仕様書無しさん:2005/12/28(水) 21:07:10
これはひどい
786仕様書無しさん:2005/12/28(水) 22:18:16
>>784
当然普段からアナル×○に▽■を突っ込んでどーのこーの
みたいな傍から聞いてると危険な会話が繰り広げられてるんだよな。
787仕様書無しさん:2005/12/28(水) 23:44:19
俺が卒業研究で作ったプログラムの名前はanalだった
788仕様書無しさん:2005/12/28(水) 23:48:44
    7  ̄ ̄ ̄ ̄ \                        、_/ ̄ ̄ ̄ 7
    /  乱   風   /                         〉      〈
    〉  れ  紀 〈   /  ̄ `ヽ               |   淫   >
    │  て  が /   イ /ハ l ハヽヽ    ,. -−‐ 、   」   猥   〈
    |   る     〈  //、リ レ'j⊥l l |  / /ハヽ l ヽヽ  |   !!    /
   /  わ     \ リ り 'tテ/ kl l イ /X V⊥ lハ|   |        |
    \   !!     /⌒丶ハ、r‐┐u/イ / 'l l > <lノnl  _>       /
       ̄ ̄`ヽ/  =≦彡ノ7´/イl川   ヽl  r‐¬ ゚ 'り′ ´ ̄\/ ̄
     r‐-───「「| |ミ、_ト-j\lハl|  _ノゝ⊥__ノ イlハ\
       `ー'´ ̄ ̄¬ブ LミV彡ヘ、   r‐'、/L_ノヽ リ ノヾ'
              く ∠ノ7^l l_,.イ.  〉 /トミl/彡(⌒l.
        __,. -‐'´\_ ∨/ |│ / んゝ亦‐<^T、 ヽ.
          ヽ、        ̄「 l l   `ーケ´ \j ∧`ー′
789仕様書無しさん:2005/12/29(木) 11:17:42
>>786
キタコレ!
790仕様書無しさん:2005/12/29(木) 14:09:26
class Analizer {
 public void set(Object value) {
  // 何かの処理
 }
}

public class App {
 public static void main(String[] args) {
  Analizer anal = new Analizer();
  String frisk = "キタコレ";
  【 問  1 】;
  // 何かの処理
 }
}

【問1】に入るコードを堪えなさい。
791790:2005/12/29(木) 14:10:36
set より insert のが良かったか。
792仕様書無しさん:2005/12/29(木) 15:57:43
ここはアナリストの集うインターネッツですね。
793仕様書無しさん:2005/12/29(木) 23:30:20
堪えますね。
794仕様書無しさん:2006/01/03(火) 11:32:05
int orz=3;
795仕様書無しさん:2006/01/03(火) 11:56:29
if (T-T)
   printf("泣くな!");
796仕様書無しさん:2006/01/03(火) 13:58:10
>795
あまり実行されなさそうですね
797仕様書無しさん:2006/01/03(火) 14:11:17
>>796
Ruby かも。
798仕様書無しさん:2006/01/04(水) 00:19:08
Cならこれが定番
#define _ 1
#define T_T 1

for (;_;) {}
while (T_T) {}
799仕様書無しさん:2006/01/04(水) 00:31:41
>795
double T = log(0);
800仕様書無しさん:2006/01/15(日) 12:04:51
const
T_T = true;

if not (T_T) then begin
end;

while (T_T) do begin
end;

ていうのは実際に見たことある。
if文のほうは絶対に実行されないじゃん。。。
801仕様書無しさん:2006/01/15(日) 23:58:27
あれPascal系の代入って := じゃ無かったか…と思ったら
const の時は = だったっけ
802仕様書無しさん:2006/01/16(月) 01:00:11
つか、Pascalにconstなんかあったっけ?
803仕様書無しさん:2006/01/16(月) 01:09:43
Delphiにはあった希ガス
804仕様書無しさん:2006/01/16(月) 13:25:45
素のPascalにもある。
805800:2006/01/16(月) 23:20:01
言語はDelphiです。
あれを見た後から、
どうせ実行されないんだからif文の中に会社への愚痴や不満を表示するメッセージボックスを表示させるコードを書きたい、
って思いつつ現在に至ります。

if not(T_T) then begin
 MessageDlg('こんな会社辞めてやるetc', mtError, [mbOK], 0);
end;

こんな感じ。
806800:2006/01/16(月) 23:21:08
言語というより、環境というべきか。
807仕様書無しさん:2006/01/17(火) 01:40:24
>>805
それだったらコメントでもよくね?
ttp://pc8.2ch.net/test/read.cgi/prog/1089892228
808仕様書無しさん:2006/01/17(火) 11:41:59
>>805
でるぴーは知らんが、別スレッドから T_T 書き換えられる危険性はないの?
809仕様書無しさん:2006/01/17(火) 15:17:26
const を書き換えるコードはコンパイルエラーだろ
810仕様書無しさん:2006/01/17(火) 16:45:53
Delphiでは型なしのconstはCでいう#defineのようなものなのでもんだいなし
でも実行されないコードはオプティマイザに削除されないっけか?
811800:2006/01/17(火) 21:39:42
削除されないで残ってますよ。
ただ、ブレークポイントとかは貼ることができないです。
ステップ実行してってもif not (T_T) then beginの行に移動しない。
だからこそ、好き勝手なメッセージ表示するコード書いてもいいかな、って。
VSSで管理してるから、書いたら誰が書いたかすぐバレるのでやってないけど。
812仕様書無しさん:2006/01/17(火) 22:24:22
辞める前にでも埋めとけば?
813仕様書無しさん:2006/01/18(水) 19:21:16
あーもうこのコードわけわかんねー。
テストファーストで書くとか意気込んでたくせにDBの状態に依存しまくりだし。
そもそもDBアクセスをDAOに入れるくらいしろよな。
微妙にパターン厨だし。2,3個のif排除するのにNullObjectとか要らねぇって。


まったく何とかしろよ半年前の俺……orz
814仕様書無しさん:2006/01/18(水) 22:41:09
>>813 に漏れガイル
815仕様書無しさん:2006/01/21(土) 22:27:08
便乗。

何、BussinessDelegate? この規模じゃ将来も分散なんかしないだろ。


>> 半年前の漏れ+上司
816仕様書無しさん:2006/02/01(水) 21:29:55

何をしたかったんだ何を orz...

for(i = 0; i < N; i++) {
switch(i) {
case 0:
処理0
break;
case 1:
処理1;
break;

(ry
817仕様書無しさん:2006/02/01(水) 22:55:31
なんで新人ってみんな>>816みたいなコード書くかね?
誰か思考をそれっぽく分析してくれないものだろうか。
818仕様書無しさん:2006/02/01(水) 23:13:28
「どうしてもcase文を使ってみたかった。反省はしていないしする必要もない。」などと語っているという。
819仕様書無しさん:2006/02/01(水) 23:19:57
>>817
単に論理的思考能力が持ち合わせていないというだけの話のような気がする。
とりあえず色々コピって貼ったら何故かうまく動いた、とかそんな程度だと思うよ。
820仕様書無しさん:2006/02/02(木) 19:57:00
String str_sql = "SELECT " +
          "STRT_DATE || '<BR>' || END_DATE " +
          "FROM " +
          "HOGE_T " +
          "WHERE " +
          "HOGE_CD = '" + hogeCd + "'";

(;´Д`)いろんな意味でやめてぇ
821仕様書無しさん:2006/02/02(木) 20:17:54
>>819
想像力の欠如しているお前にゃUIの設計は出来ないなw
822仕様書無しさん:2006/02/02(木) 20:24:01
>>820
うちのSQLはA4 4pageです
823がんばれ:2006/02/02(木) 20:25:44
switch(Hoge){
case 1: if(Hoge != Hoge){ continue; } break;
case 2: if(Hoge == Hoge){ goto Labl1; } break;
}

Labl1
return Hoge;
824仕様書無しさん:2006/02/02(木) 22:36:29
>>817
あぁ・・・・それに似たのを先日書いた者です。
何がいけないのか教えてください、先輩。
というかもっとうまい方法ってあるんですか?
825仕様書無しさん:2006/02/02(木) 22:44:59
処理0;
処理1;
826仕様書無しさん:2006/02/02(木) 23:01:36
>>824
そんなコードを書くに到った思考の過程を詳しく。
827仕様書無しさん:2006/02/02(木) 23:59:36
switchの外で同じ処理させるんだったら>>816でも良くね?
828仕様書無しさん:2006/02/03(金) 00:03:56
小さい処理ならマクロで、大きい処理なら関数にしてbreakの前にいれたほうがマシ
829仕様書無しさん:2006/02/03(金) 00:05:51
訂正
×breakの前に
○各処理の前後に
830仕様書無しさん:2006/02/03(金) 00:06:55
>>826
824じゃないが、
編集もとのDB
 FOO1、FOO2、…、FOO10、GOO1、GOO2、…、GOO10、HOO1、HOO2、…、HOO10
編集結果の格納先のクラス
 setBar1()、setBar2()、…、setBar30()
要件
 FooX、GooX、HooXを見ながらBarの値を30まで作成。
 ただし、Foo、Goo、Hooに値がないときは、Barは番号を詰めて格納していく。
  →FooNが空の場合、BarNにはFooN+1の編集結果が入っていく。

って感じの処理があったとき、編集結果をListに詰めて↓で処理したことならある。
for (int i = 0; i < list.size(); i++ ) {
 Object value = barList.get(i);
 setBar(bar, i, value)
}

setBar(Bar bar, int index, Object value) {
 switch(index) {
  case 0: bar.setBar1(value); break;
  case 1: bar.setBar2(value); break;
     〜略〜
  case 29: bar.setBar30(value); break;
 }
}
831仕様書無しさん:2006/02/03(金) 00:15:00
FooX, GooX, HooX それぞれの公開フィールドを作ってみるとか・・・無駄だな
832仕様書無しさん:2006/02/03(金) 00:18:29
泣かせる仕様ですね
833仕様書無しさん:2006/02/03(金) 10:48:11
>>830
クラスの設計時点で腐ってる。どーもならん。
834仕様書無しさん:2006/02/03(金) 20:12:15
編集結果の格納先のクラス
 setBar1()、setBar2()、…、setBar30()
ってのがよく分からん。メソッドじゃないのかと。
メソッド先に、Bar1とかBar2とかのクラス宣言があるのかな?

つか何やってるかな俺('A`)('A`)A`)

格納クラス用のインターフェイス(ここではBar)を作って
Bar[] bar = new Bar[30];
for( int index=0; index< list.size(); index++ ) {
Object value = barList.get( index );
try {
Class cls = Class.forName( "Bar" + index + 1 );
bar[i] = (Bar)cls.cast( value );
} catch ( Exception e ) {}
}

こんな感じでいけんじゃね?
835仕様書無しさん:2006/02/03(金) 20:18:33
ちなみに Bar[] bar を使う場合は、その都度 null 判定をするように。
Barを実装しただけの実質何もしないクラスを作って、残りの null をそれで埋めてから使ってもいいし。
サンプル作りながらやってみたからたぶんいける。
836仕様書無しさん:2006/02/03(金) 20:29:16
あ、Class.getMethod()なんてのもあるのね。
try{
  Class[] classes = { value.getClass() };
  bar.getClass().getMethod("setBar" + (index+1), classes );
} catch( Exception e ) {
  System.out.println("環境変ですよん"));
}

これは試してないけど、こんな感じで変更減らせるかもしれん
837仕様書無しさん:2006/02/03(金) 21:01:47
try{
  Class[] clss = { Object.class };
  Method mtd = bar.getClass().getMethod( "setBar" + (index+1), clss );
  Object[] params = {value};
  mtd.invoke( bar, params );
} catch( Exception e ) {
  System.out.println("スレ違いかもしれないけど許して");
}

>>830の setBar() の中身をこれで解決できるね
やっぱJavaはAPIドキュメントが読みやすくて良いなぁ
838830:2006/02/03(金) 21:43:55
>>830
既存DBがそうなってんだからしょうがないべ。
どこかに配列→変数の変換が出てくる。

>>その他
や、リフレクションは分かってんだけど、パフォーマンスやらの問題で
830見たいな形になってしまったってこと。
だから>>816見たいなソースを見たら、仕様とか設計に変な罠がないか確認してやってくれ、と。
839仕様書無しさん:2006/02/03(金) 21:49:52
Javaでパフォーマンスなんて求めちゃいけないべ
840仕様書無しさん:2006/02/03(金) 23:03:36
ごめんなさい。
俺もときどき書きます。

while (1){
 switch (nStep){
 1:
 bRet1 = func1;
if bRet1 {
  nStep = 2;
 }
 break;

 2:
 bRet2 = func2;
 break;
 }
 if (bRet2){
  break;
 }
}

こんな感じで。
841葉猫 ◆Jz.SaKuRaM :2006/02/03(金) 23:05:14
break; が たまに無いとかいう場合ならありなんじゃね。読みにくいけど。。。。
842仕様書無しさん:2006/02/03(金) 23:54:23
はいはい。キチガイは失せな。
843仕様書無しさん:2006/02/04(土) 01:49:43
>840
これじゃダメでしょうか。

bool bRet1=false, bRet2=false;
while( !bRet1 ){
 bRet1 = func1();
}
while( !bRet2 ) {
 bRet2 = func2();
}
844仕様書無しさん:2006/02/04(土) 08:00:47
while(!func1);while(!func2);
845仕様書無しさん:2006/02/04(土) 20:43:09
>>816
case 9:
    処理9;
break;
default:
デフォルト処理;
break;
}
}
846仕様書無しさん:2006/02/06(月) 13:46:33
/*---------------------------------------------------
:. 。 '    ・    ト_,- 、 : ,  ゚ ∵  。;: :。 ::  。
。;  .     /´ ̄ヽ:. ̄{_ト、 。 '   。 ..::;, 。゚
    :    ゚ {    }:。:. , Y〈 。;:. :.゚;。 ;:・゚::。;:。 ::.::。:゚
  . :  ' ゚  :` ー ', o 。゚ {〈 :. 。 ,  . : :;゚;:  '; ::。 :. 。∴x
   ゚  〈ト、・  '; : ゚ : トイrぅi   __,.. 、 _ :。+;.:゚ 。x;,:*。・
       YVlT!     _ィTlニくr_ァ´ー^ーヘ-ヽ-、,.、 ,ィ ;。+。
     ; .人rリljー- ..__ィく{j::7ィ::ス´ ゚・ ;゚   ̄`ー^ー` ; :゚:。
      ´ 'ー' ̄` <ヽ_二`<'_jj ;:゚   , ; :  。 ゚ ;: ::。:
  。 ・   __・ 。;  { ̄/ヽ<7ー- 、 __     x :' 。:.゚::。
  , =ァ ̄ _ --- ̄三{ヽ-__ノァ  ̄`ヽ、`リト'王ア 。 ゚ ;゚ .: :∵
./二´-‐ ´   ・゚ トヘ,ヒドヽ/、‐_ 、 ;。 レノ´ ; ゚; ;: :.: 。+
 ̄  .    .  : /:.:.::::::::`ニエ_〉`ヽ丶、 。   。 ; ゚ ;。:.:・;
 :.゚。::.:。.     。, ' ト --rV 〈:::ハ' , : \ `ヽ、 ;  :, ;:.. :゚
 :.:: :. ::. :..;  .   |__/ ト、_ノ::::V ;  。. \ ト\ 。. ;:゚:..: ::
 ' : ::。::.x::+:. ;.   トヘイ ;ト、 {:::::::} 。 :。゚.  \、j | :: ..: ::。:
 ゚ :. ゚.::.: .:;: :+,.: /ノ  !  `ーヽ:_ノ ; 。 。; ; :.。:. ヽ| 。;': 。;:。
   :;゚ ・;。::.;:.:. l  /  ゚::゚;。;: ::.;。:+;:.゚∴。:.  :。: ;:. 。゚ ::
      ;: .: _j  / ;: 。;:. ::::゚∵::。゚.: ::.:: ゚;::.::: ;。 ゚  ;
     ;:: 。:. {ニ三ヽ 。;:゚::+:。;:。:゚。::;゚:。゚::;:..:;::゚  . ゚  ,
 ,゚ ;:..: ゚:゚  ;:7⌒lー' ;。 :::.。;:゚ 。;:・ ::.: : ::.:。  ゚    ;

アリカ・ユメミヤ (舞-乙HiME)

舞-乙HiMEみるから帰るね
栗田ってやつが仕様わかってないのに納期縮めたから後シラネ

-----------------------------------------------------*/

847仕様書無しさん:2006/02/06(月) 17:42:04
このスレであっていると思う事例があるんだが聞いてくれ。

とあるソフトの改造をすることになった。
(改造といっても今まで順々に2つの処理を行わせるものを、順々に5つ作業を行うようにさせるだけ。)

自分の作業は○○.cという名前のファイルをテキストで開いてコピーペイスト+多少いじり、コンパイルさせるだけだったんだ。
でその○○.cというファイルを開いたら


以下原文どおり





※例えば『Ctrl+A』⇒スペースキー押してそのままセーブするとなる症状。

プログラムを初めから打ち直しになりましたorz
848仕様書無しさん:2006/02/06(月) 17:57:07
>>847
ちょwwバックアップ取ってねえのかよwwww
849仕様書無しさん:2006/02/06(月) 19:39:52
>>847
意味が理解できない……もとい、理解したくなくて3回ほど読み直してしまった
850仕様書無しさん:2006/02/06(月) 22:34:32
>>847
普通はCVSやらSubVersionやらあって、
悪い方でも、改造前の原版はどっかに圧縮して固めておいてあるか
すると思うんだが。

ソースバックアップが当たり前にされてない環境って、
かなりヤバイレベルだよな。w
851仕様書無しさん:2006/02/06(月) 23:33:47
おれは「リソース管理は、複数人が同時に編集保存できないだけでいいから秀丸で
十分(秀丸では共有ファイルを他の人が編集中は保存できない)とか言っている会社を
知っている。
852仕様書無しさん:2006/02/06(月) 23:45:21
ResultSet resultset = statement.executeQuery("SELECT * FROM XXX WHERE YYY='ZZZ'");

counter = 0;

while(resultset.next()) {
counter++;
}

return counter;
853仕様書無しさん:2006/02/06(月) 23:51:07
>>852
なぁに、かわいいもんだ
854仕様書無しさん:2006/02/07(火) 00:31:25
>>847
わざとやったんだろう?
開いたソースがあまりにもくそだったからやっちまったんだろ?
855仕様書無しさん:2006/02/07(火) 11:18:35
>>852
依存性も低いし、その関数内部でSQLを書き換えれば直せる。
>>853 に同意。w
856仕様書無しさん:2006/02/07(火) 20:07:28

Private Function GetAllDat(....) As Variant

Dim TmpDat(0 to 4) As Variant

Dim Foo1Dat As Variant
Dim Foo2Dat As Variant
Dim Foo3Dat As Variant
Dim Foo4Dat As Variant

Foo1Dat = GetFoo1(.....)
Foo2Dat = GetFoo2(.....)
Foo3Dat = GetFoo3(....)
Foo4Dat = GetFoo4(....)

If Not IsNull(Foo1Dat) And Not IsNull(Foo2Dat) And Not IsNull(Foo3Dat) And Not IsNull(Foo4Dat) Then
TmpDat(0) = True
TmpDat(1) = Foo1Dat
TmpDat(2) = Foo2Dat
(ry
Else
TmpDat(0) = False
TmpDat(1) = Null:TmpDat(2) = Null(ry
End If

GetAllDat = TmpDat

End Function
857852:2006/02/07(火) 23:23:49
>>853
かわいくないかわいくないw
ログイン処理が激重で客から叩かれまくって苦し紛れに
チューニングは全て行ったと説明したうえでハード増強を薦めている最中に
こんなものを見つけてしまったのだ。PM爆死鉄板w
858仕様書無しさん:2006/02/07(火) 23:32:43
コードレビューしとけ
859仕様書無しさん:2006/02/08(水) 00:59:39
どこが重いのかプロファイルしなかったんか。
860仕様書無しさん:2006/02/08(水) 01:09:09
よく分からんがcount(*)にしとけばよかったってこと?
861仕様書無しさん:2006/02/08(水) 03:34:40
862仕様書無しさん:2006/02/08(水) 10:22:17
デバッグのついでにちょっとトレースしたところ、
無駄なところを削って小さくしたら10倍早くなった。
恐ろしくてリリースしなかった。
多分、よくあることなんだろう。
863仕様書無しさん:2006/02/08(水) 10:39:59
>>862
よくある。
本当に、できない香具師はとんでもないコードを上げてくる。
気づいたら指摘しているが、全部チェックする時間がある訳じゃないしな。
864仕様書無しさん:2006/02/08(水) 12:41:40
>>857
ソースの問題じゃないな。

テスト段階で挙がっているべき問題が挙がっていない、
と言うテストの体制に問題があると思う。


# ちゃんとした耐久試験を行っていれば、
# DB内のデータが大量になった時点で検出できたはずだ
865仕様書無しさん:2006/02/09(木) 00:03:07
>>862
あるある。
コボラー上がりのアホ先輩が書いた
バグだらけで可読性の全くないコードを1から書き直したら、
コードのサイズが半分以下になったよ。

半日もあればできるコードに1週間も掛けた先輩を逆に尊敬してしまった。
そりゃグローバル変数に i とか書いてりゃバグりまくるわ('A`)
866仕様書無しさん:2006/02/09(木) 00:17:51
>>865
>グローバル変数にi
こうですかw

void g(){
    for(i=0;i<10;++i)hoge();
}
void f(){
    for(i=0;i<10;++i)g();
}
867仕様書無しさん:2006/02/09(木) 00:19:10

System.out.print("顧客コード"); //改行する
System.out.println("");
868仕様書無しさん:2006/02/09(木) 00:21:04
改行する吹いた
869仕様書無しさん:2006/02/09(木) 00:26:56
○○○のJava研修コースの先生が回らないfor文を書いていた
それをすぐさま指摘した漏れはその先生に嫌われた。

for(int i=0; i>10 ; i++)
870仕様書無しさん:2006/02/09(木) 00:31:24
○○○って、ITソリューション?
871仕様書無しさん:2006/02/09(木) 00:32:49
ないしょ 結構本家の先生だったりしてw
872仕様書無しさん:2006/02/09(木) 00:32:54
>>869
>それをすぐさま指摘した漏れはその先生に嫌われた。

実務ではそんなのは些細な誤りに過ぎないのに、
それを発見したことで
鬼の首を取ったように悦び騒ぐ >>869 を見たら、
俺も嫌うだろうな。
っていうか、嫌わない奴なんているのか?
873仕様書無しさん:2006/02/09(木) 00:34:18
>>873
お前馬鹿か 15万もする研修の講師が
こんな間違いしたら洒落なんねえよ
Java関係はみんなプロ意識がないんだな
874仕様書無しさん:2006/02/09(木) 00:34:41
>>852
まあ、何がやりたいのかこれだけじゃなんともいえないけど
存在チェックならif(rs.next())で見ればいいような気がしなくもない
875仕様書無しさん:2006/02/09(木) 00:36:36
>>873
その程度のことで、
たった一人の馬鹿に講義をかき回されるほうが
よっぽど洒落にならないのだが。
876仕様書無しさん:2006/02/09(木) 00:55:49
バグ一ヶ所指摘されたら
「ごめん間違ってた」って言って
その後を普通に進めればええだけやん

引っ掻き回すも何も数分じゃねーか
877仕様書無しさん:2006/02/09(木) 00:56:31
>>872
些細なものって出力テキストの文言に誤字脱字がある程度じゃね?
動かないコードで研修が進んだらそりゃ些細じゃないさ
878仕様書無しさん:2006/02/09(木) 01:11:43
サーバサイドのJavaで、ログ出力にSystem.out.printlnを使っていた
879仕様書無しさん:2006/02/09(木) 04:45:16
>>878
サーバサイドなら標準出力って
ログファイルへの PrintStream に変更されてるんじゃないか?

まぁ普通 Logging API 使うし、邪道だとは思うがそんなヒドイもんじゃない
880葉猫 ◆Jz.SaKuRaM :2006/02/09(木) 11:40:33
研修って2〜3時間の講義を4回くらい受けて15マソとかでちょ。行くだけ無意味でつね。。。。。
881仕様書無しさん:2006/02/09(木) 11:54:20
はいはい。キミは存在自体が無意味でつね。。。。。
882仕様書無しさん:2006/02/09(木) 12:16:39
でも、決まり文句のfor()文は間違えないな。
ま、キーボード打つのと字を書くのでは違うから、そう言うこともあるかも寝。
883仕様書無しさん:2006/02/09(木) 14:18:39
字書くっつったって、今時
コーディングもテキスト作成も両方PCだろ
884仕様書無しさん:2006/02/09(木) 15:05:02
ホワイトボードじゃね?
885仕様書無しさん:2006/02/09(木) 19:28:38
private static final String strSALES_START_DATE = "SALES_START_DATE";

いや、内容と同じ変数名をつけられても(;´Д`)
886仕様書無しさん:2006/02/09(木) 19:34:35
>>885
ああ・・・それある
public static final String CODE_ID_1001="1001";
887仕様書無しさん:2006/02/09(木) 19:39:53
1000に変更するとき変更が一箇所だけで済むだろ
見てくれは非常に悪いが
888仕様書無しさん:2006/02/09(木) 19:41:26
>>887
その前にStringであることに突っ込めよw
889仕様書無しさん:2006/02/09(木) 20:13:38
//↓バグってるぞ。○○(俺の同僚)、直せよ。by■■(俺の上司)
 処理

//↓すみません、今忙しいので◎◎(俺)にでも直させてください。by○○
 全く直っていない処理


お前、ふざけんなよ…。お前担当だろ…。俺も忙しいんだよ。
890仕様書無しさん:2006/02/09(木) 21:48:35
#define FIVE 4
891仕様書無しさん:2006/02/09(木) 22:07:20
ワロタ
892仕様書無しさん:2006/02/09(木) 22:09:39
イタタ
893仕様書無しさん:2006/02/09(木) 23:17:07
/.から
a = b + 1;
a = b + 1; /* 念のため。たまに答えがおかしいので */
894仕様書無しさん:2006/02/09(木) 23:47:47
>>885
その定数がDBのフィールド名なんかだと、
おこりうる変更対策に定数でマッピングするってのは、わりと常套手段。
まだるっこしいのは確かだが、SQLに直書きしちゃうよりはマシ。

>>887
1000に直してから、Eclipseあたりでリファクタリングかければ、
簡単に正しい名前に変えられるよ。
895仕様書無しさん:2006/02/10(金) 00:06:48
>>885
セッションキーに使う文字列でよくそういうことしない?
あ、よくみたらprivateだな....
896仕様書無しさん:2006/02/10(金) 00:26:24
>>885
うちには
public static final String CODE_ZERO = "0";
というのが居た
897仕様書無しさん:2006/02/10(金) 00:39:12
ぶっちゃけstaticとfinalはよく分からないから使ってない
898仕様書無しさん:2006/02/10(金) 00:54:25
>>897
すごいやつを発見。
899仕様書無しさん:2006/02/10(金) 00:57:03
ある意味、何も考えずになんでもstatic変数にしてしまうよりマシかと思うが
900仕様書無しさん:2006/02/10(金) 00:58:47
finalはまあ大目に見てもいいが、staticをよくわからないってどうかしてるぞ
901仕様書無しさん:2006/02/10(金) 01:03:08
最近はstatic知らんでもやっていけるのか
902仕様書無しさん:2006/02/10(金) 01:06:24
共通部分で使うことはあっても、業務部分で特に使う必要ないからじゃない?
あとは雛形なりプロトタイプから作ってるとか
903仕様書無しさん:2006/02/10(金) 01:34:15
>>874
あれは件数を数えているだけだよ
904仕様書無しさん:2006/02/10(金) 01:37:57
まだその話題続いてたのか?
SELECT COUNT(*) 〜 でええんちゃうんか?
905:2006/02/10(金) 02:36:23
意味もなくDLLを量産
EXEのコマンドラインの取得を方法を知らない
オブジェクト指向言語を私以外の開発の誰一人知らない
やたらグローバルアドレスを多様
ファンクションに引数を与えて処理する、構造化がされていない
言語はVB6 コンポーネントにVB4当時のものが使われている。

orz...
906仕様書無しさん:2006/02/10(金) 07:52:07
staticしらんくらいならどうでもいいよ、PG1年生ならな。

この前わけのわからんエラーが出てデバッグしてみたら、確かに定義したはずのvirtualが消えてたよ
で、VSSの履歴を元に後輩問い詰めてみたら「なんかよくわからんのがついてたから取っておきました」
取るなよ、わからんなら。せめて一言「これなんですか」って相談しろよ
俺が忙しいときでもいいから相談しろ、って指導してるだろーが
907仕様書無しさん:2006/02/10(金) 10:58:08
>>906
典型的な「生産性がマイナス」な後輩だなあ。
908仕様書無しさん:2006/02/10(金) 11:29:13
>「なんかよくわからんのがついてたから取っておきました」
ワロタ
909仕様書無しさん:2006/02/10(金) 11:38:12
笑…えねぇ
910仕様書無しさん:2006/02/10(金) 12:32:10
>>906
俺のところにもそれ系の奴がいる。

「全くわからなかったのでとりあえずどっかから適当にコピって貼ったらコンパイル通りました」
911仕様書無しさん:2006/02/10(金) 15:25:04
クイックソートとかの訳がわからんプログラムは、それに限るな。
912仕様書無しさん:2006/02/10(金) 16:10:49
>>911
( ゚д゚)ポカーン…
913仕様書無しさん:2006/02/10(金) 16:43:33
標準ライブラリのソースからコピペしてきたのであれば、多少は認めてもよい。
914仕様書無しさん:2006/02/10(金) 17:36:43
>>913
標準ライブラリって、呼びだすためにあるんじゃないのか?w
915仕様書無しさん:2006/02/10(金) 17:57:19
>>914
標準ライブラリからコピペできるってことは、少なくとも
「クイックソートが標準ライブラリに存在すること」
「標準ライブラリのソースが普通に公開されていること」
の2点を知らなければ成らない。

あとは
「コピペせずに、呼び出すこと」
ができれば、完璧だ。
916仕様書無しさん:2006/02/10(金) 18:10:39
>>915
それは…
917仕様書無しさん:2006/02/10(金) 19:43:33
qsort()つかっていいの?
918仕様書無しさん:2006/02/10(金) 20:13:29
LEFT(RIGHT(HOGE,28),16)
919仕様書無しさん:2006/02/10(金) 20:53:45
バブルソートがわざわざ実装されてたらやだな
920仕様書無しさん:2006/02/10(金) 21:28:05
プロジェクトに新人入ってればおかしくないんじゃね?
921仕様書無しさん:2006/02/10(金) 22:26:59
qsort()

普通に使います

使えない馬鹿はとっとと辞めてくれ m9(^Д^)プギャーーーッ
922仕様書無しさん:2006/02/10(金) 22:27:03
OnButton1からOnButton50まで、律儀に作ったあとで、
修正が入ったときに「どこまで直したか分からなくなった」と
言ってきた後輩はいた。

ON_CONTROL_RANGE使えよ……
923仕様書無しさん:2006/02/10(金) 22:32:52
あーびっくりした
VBのことかと思った
924仕様書無しさん:2006/02/11(土) 00:49:32
うちの新人は鯖サイドプログラムににstatic変数使いまくりで、
単体の時はテスト通ったけど、同時に動かすとボロボロ・・・・
925仕様書無しさん:2006/02/11(土) 02:09:10
qsort()ってスタックのことがちょっと心配にならない?
926仕様書無しさん:2006/02/11(土) 02:19:43
>>925
クイックソートは非再帰で実装できるから、
qsortの実装者が素人じゃない限り安心かと。
927最凶VB厨房:2006/02/11(土) 02:55:41
データの順序がちらばっているかが心配だ。
928仕様書無しさん:2006/02/11(土) 03:13:21
まだ居たんだ。この恥ずかしい名前のコテ。
929仕様書無しさん:2006/02/11(土) 09:27:51
>>927が何を言いたいのかまるでわけわからんのだが
ソートの意味わかってる?
930仕様書無しさん:2006/02/11(土) 12:04:37
このコテも大概阿呆だが、それより阿呆な >>929 へのヒント。
つ[安定ソート]
931仕様書無しさん:2006/02/11(土) 12:13:17
ヒントいいたいだけのヒント厨まで来るし。
932仕様書無しさん:2006/02/11(土) 14:13:11
クイックソートは、入力データが偏ってると効率が悪いんだよ。
安定ソートは関係ない。
933葉猫 ◆Jz.SaKuRaM :2006/02/11(土) 14:22:27
ソート関数使わずに最初からデータをソートちておけばいいんじゃないか。

データの追加削除はmemmoveで。
934仕様書無しさん:2006/02/11(土) 15:00:42
マジで痛い
935仕様書無しさん:2006/02/11(土) 15:04:18
【プログラマー】 - このスレ見るのを止めようと思ったレス #1
936仕様書無しさん:2006/02/11(土) 15:04:20
なんでこのコテはここまで自分の無知を披露しに来たがるんだろう。
素朴な疑問。
937仕様書無しさん:2006/02/11(土) 15:06:06
1000とりがっせんかな?
938葉猫 ◆Jz.SaKuRaM :2006/02/11(土) 15:10:20
データを1件追加つる程度でqsortつるより、挿入ソートを行うほうが安定ちて早い (・∀・)
939仕様書無しさん:2006/02/11(土) 15:28:17
はいはい。キミは首つるべし。
940仕様書無しさん:2006/02/11(土) 15:28:26
程度の低い釣りか、マジボケ?
941仕様書無しさん:2006/02/11(土) 15:34:20
本人はマヂなんだと思うよ
何度となくアホな発言繰り返して叩かれてる
ほとぼりが冷めたころにまたアホ発言投下して叩かれに来るマゾ
まさに阿呆の無限ループ
942仕様書無しさん:2006/02/11(土) 15:38:06
焼いた○○を10台のPCにインストールする作業を指示された時
3ヵ月後に辞めたけど
943葉猫 ◆Jz.SaKuRaM :2006/02/11(土) 15:43:52
例えば、

番号  名前
1,    りんご
4,    みかん
7,    いちご
9,    なし
  :
999,   ぶどう

というソートされたデータがあったとちよう。
ここに 3, メロン を追加つる場合、1と4の間にデータを挿入つるのが普通でつYO
ちみたちウンコ プログラマって最後にデータを追加ちてからqsortなんかつかってるの(´・ω・`)ショボーン
944仕様書無しさん:2006/02/11(土) 15:44:33
int i;
for(i=0;i<10;i++){
switch(i){
case 1:

case 2:

case 3:

}
}
945仕様書無しさん:2006/02/11(土) 15:46:31
どーみても釣りです。ありが(ry
946仕様書無しさん:2006/02/11(土) 15:48:53
常に整列しているという条件があるのなら
B木でもやりゃ良いのに配列しか使えないんかのぉ
947仕様書無しさん:2006/02/11(土) 15:49:25
今日は糞コテが機嫌がいいのか粘着するようです。
住民の皆様お気をつけくださいませ。
948仕様書無しさん:2006/02/11(土) 15:51:23
>>933
挿入先のオブジェクトをコピーし直しする時点で既に負け組では?
小規模やっつけプログラム?
949仕様書無しさん:2006/02/11(土) 15:53:25
たいがいアホなコテだなとは思ってたが
ここまで低レベルだったとは思わなかったよ・・・
950仕様書無しさん:2006/02/11(土) 16:04:18
前後にポインタつけた構造体が必要ですか?
どこの「はじめてのC」ですか?
951仕様書無しさん:2006/02/11(土) 16:11:19
は?
952仕様書無しさん:2006/02/11(土) 20:27:25
叩かれたい年頃なんだろう
そんなことより、しりとりしよーぜー

くいっくそーと
953仕様書無しさん:2006/02/11(土) 20:40:59
ここまでの流れをまとめようとしたが、>>933を見ると頭が真っ白になるので断念した。
>>929はまだ耐えられるのだが……

>>943
マジレスする。
>>943で、あなたは、ごく常識的な、当たり前すぎて説明する価値もないような内容を得意げに説明した。
普通はそんなことしない。「こんなことみんな知ってるだろうなあ」と気づくからだ。

あなたの周辺には、そんな知識すら知らない人間しかいないのか?
あなたの周辺には、「最後にデータを追加ちてからqsortなんかつかってる」ような人間しかいないのか?
954葉猫 ◆Jz.SaKuRaM :2006/02/11(土) 20:52:37
(゚Д゚)ハァ >>938-941はそんなことも分からないようなアホでつが何か
955仕様書無しさん:2006/02/11(土) 20:54:57
なぁ
そのアンカー自分のレスも入ってるよ?
顔真っ赤にする暇あるんならまともな反論してごらん
956仕様書無しさん:2006/02/11(土) 21:00:28
釣りかと思ったがクイックソートの使い道もわからんほど低能だっただけか
残念だ
957仕様書無しさん:2006/02/11(土) 21:02:11
ほっとけって。
コイツは「自分は優秀な人間で、周囲は全員馬鹿に見える」
精神異常者なんだからさ。
958葉猫 ◆Jz.SaKuRaM :2006/02/11(土) 21:04:59
ソートされた状態でデータを保持ちていれば二分探索で自力でデータを追加、削除つる方が
圧倒的に早いでちょ。そもそもデータは検索の方が圧倒的に使用頻度が高いでつち。
クイックソートなど不要でつYO

普通はDBからソートされた状態でデータは取得ちまつから。
959仕様書無しさん:2006/02/11(土) 21:05:50
>>954
あ、いたのか。
>>933のレスは明らかに「要素挿入するたびにqsort」する人間を想定して書かれている。
だが、それ以前のレスで、そのような話題はまったく出ていない。
あなたはいったいなぜ、そんな人間を想定する必要があったのか?
そしてなぜ、ごく当たり前のことを発言するだけでこうも得意げになれるのか?

ここからひとつ見えてくることがある。
一概に「常識」といっても、その中身は環境によって左右される。
普通の環境にいるプログラマから見れば「何を当然のことを」ということであっても、
あなたのいる環境ではそうではないのではないか。

「データを1件追加つる程度でqsortつるより、挿入ソートを行うほうが安定ちて早い (・∀・)」
「すごい!なんて天才的な意見なんだ!」「そんなこと思いつきもしなかったぜ」「
「ここに 3, メロン を追加つる場合、1と4の間にデータを挿入つるのが普通でつYO」
「なんてわかりやすい説明なんだ!」「先輩かっこいいっす!」「信じられない。こんなアルゴリズムを思いつけるなんて」

ご愁傷様です。
960仕様書無しさん:2006/02/11(土) 21:05:53
>ソートされた状態で
これが保証されている状況しか前提にないのか
本格的に低能だな
961仕様書無しさん:2006/02/11(土) 21:06:51
まつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちて
まつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちて
まつまちでつでちょちてまつまちでつでちょちてまつまちでつでちょちて・・・


キモすぎて話にならん
962仕様書無しさん:2006/02/11(土) 21:07:48
>>958
スゲエ!なんてわかりやすい説明なんだ!俺はそんなこと思いつきもしなかったぜ!あんた天才だよ!
963仕様書無しさん:2006/02/11(土) 21:08:07
低レベル業務系しか経験ないんだろうな
このアホコテ
964仕様書無しさん:2006/02/11(土) 21:08:36
別に辞めたくなたわけじゃないけど、
今のプロジェクト、日本語を3〜4文字のアルファベットに
超短縮して変数名やメソッド名にするのがしきたりなのな。
「コーヒー」だと "cfe" みたいな。

「内訳」ていう単語があったんだけど、こう略されてた。

    UTY

あー、「うちやく」と読んだんだな、と思た。
965仕様書無しさん:2006/02/11(土) 21:10:29
>>964
そのコーディング規約の時点でやめたくなる
966仕様書無しさん:2006/02/11(土) 21:20:12
>>965
そか。
俺の会社、いろんなところに協力会社として出向いてんだけど、
頭のおかしいリーダーのいるところだと
こういうのがあたり前だから、俺はなんかどうでもよくなった。
略語に慣れれば、きちんとコード読めるし。

もちろん俺漏れの趣味のコードでは
こんな事はしないけどね。。。
967仕様書無しさん:2006/02/11(土) 21:26:04
>>965
だな
作った順に連番つけてくほうがまだマシだと思う
968仕様書無しさん:2006/02/11(土) 21:29:14
>>967
普通そうだよな。
おれも
A001
から初めて
A999
までいったら
B001
に移る。
969仕様書無しさん:2006/02/11(土) 21:31:22
>>958
> 二分探索で自力でデータを追加、削除つる方が

検索はともかく、あんたに追加や削除ができるとはとても思えない
970仕様書無しさん:2006/02/11(土) 21:32:14
うちの「プロジェクト名+連番」で全ての命名を片付けようとする規約を
なんとかしてください
971仕様書無しさん:2006/02/11(土) 21:35:59
ttp://pc8.2ch.net/test/read.cgi/prog/1129569742/50

>50 : 葉猫 ◆Jz.SaKuRaM [sage] DATE:2006/02/11(土) 21:33:52
>最近、アニメ板やマ板でいじめられていまつ。。。。。


イタタタ
972仕様書無しさん:2006/02/11(土) 21:42:46
D:\>defragment < 961.txt
  [゚д゚] <デフラグガカンリョウシマシタ
 /[_]ヽ
  | |
ぎすちちちちちちちちちちちちちちちちちちちちちちちちちちちちちちちちちちちちちち
ちちちちちちつつつつつつつつつつつつつつつつつつつつつつつつつつつつつつてててて
てててててててててててででででででででででででででででででででででででででででで
でなにままままままままままままままままままままままままままままままょょょょょょょ
ょょょょょょょょらんキモ・・・話

D:\>
973仕様書無しさん:2006/02/11(土) 21:44:28
デフラグさんでもキモ成分は消せなかったのか
974仕様書無しさん:2006/02/11(土) 22:02:49
DB項目やクラス名でローマ字で書くのだけは辞めて欲しいなとは思う
975仕様書無しさん:2006/02/11(土) 22:08:23
英語考えるの面倒だから
Furigana とか KôzaBangô とか平気で使う。
976仕様書無しさん:2006/02/11(土) 22:21:24
FuriganaとHuriganaが混在したりして
977940:2006/02/11(土) 23:43:53
うわぁ、アフォ認定された(笑)
葉ネコかかじゅネコか知らないが変なネコばっかりだ
978仕様書無しさん:2006/02/12(日) 00:30:39
お前らNGname使えよ、正直邪魔

どうしても遊びたい場合はレスに「糞猫」って単語を入れてくれ、それで弾くから
979仕様書無しさん:2006/02/12(日) 00:31:41
>>976
ありえそう(w
「ti」と「chi」や「tu」と「tsu」なんかも危ないな(w
980仕様書無しさん:2006/02/12(日) 00:32:39
わざわざ自爆しに来てるエンターテイナーを笑わないのは可哀想だろ?
981仕様書無しさん:2006/02/12(日) 02:04:47
時に気が付けば次スレの季節だな
982仕様書無しさん:2006/02/12(日) 02:11:51
最後に人に会社辞めようと思わせるようなことを
抜かす奴が出てきたからなぁ
983仕様書無しさん:2006/02/12(日) 04:10:00
>>974 長いカラム名になるからやめとくれ
984仕様書無しさん:2006/02/12(日) 12:09:40
>>983
長くなると邪魔なので中途半端に省略したローマ字になるわけだな

例: 最終データ提出日 → Last Data Teishutsu Day → D_LstDatTsht
985仕様書無しさん:2006/02/12(日) 12:11:36
>>976
経験上FuriganaとFuriGanaが混在する確率の方が高い。
986仕様書無しさん:2006/02/12(日) 12:39:05
>>984
そういう中途半端な省略はやめて欲しいよな。
単語の一文字を略す位なら、その単語位はそのまま書いて貰いたい。
987仕様書無しさん:2006/02/12(日) 12:50:07
ちょっと関係ないかもしれんが「sequencial」と書く奴が意外と多いような気がする・・・
988仕様書無しさん:2006/02/12(日) 15:29:01
つ 「プログラマ的よくあるスペルミス」
http://pc8.2ch.net/test/read.cgi/prog/1111139540/l50
989仕様書無しさん:2006/02/12(日) 15:31:39
>985
そして Kana でいいじゃん派とか出てくるわけだ
990仕様書無しさん:2006/02/12(日) 17:37:33
#define kurikaesi for
#define kurikaesi2 while
#define mosi if
#define denakereba else
#define bunki switch
#define baai case
991仕様書無しさん:2006/02/12(日) 17:57:59
>>990
そこまでするならいっそUTF8とかの日本語で書けよ。。。
992仕様書無しさん:2006/02/12(日) 18:15:00
ソートは1000件くらいずつをクイックソートし、全体は1000件を単位に分割。
ブロック内は昇順。
ブロック内1位を集め、挿入ソートで並べる。
そのリストの最上位を、総合1位から順に並べていく。
総合順位に1件入れたら、クラス1位が抜けたところの2位を1位とし、
クラス1位のリストに挿入ソートする。
これでコピーを最小限に実装する。

めちゃ速。
993仕様書無しさん:2006/02/12(日) 18:16:31
俺頭悪いからlistとかでいいや
994仕様書無しさん:2006/02/12(日) 18:31:43
Javaだと自分で頑張ってロジック作っても、
Collectionsのsortになかなか勝てない
995仕様書無しさん:2006/02/12(日) 18:56:35
>>992
それなんてマー(ry
996仕様書無しさん:2006/02/12(日) 19:25:24
>>995
ジソー
997仕様書無しさん:2006/02/12(日) 19:30:00
(・∀・)カエレ!
998仕様書無しさん:2006/02/12(日) 19:54:50
>996
999仕様書無しさん:2006/02/12(日) 19:59:54
生まれて初めて1000を取ってしまった。
俺はハッピーだ!!
この世で一番の幸せも野田!!!
1000仕様書無しさん:2006/02/12(日) 19:59:59
ネコちゃんダメだな♥
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。