[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 20:37 / Filesize : 190 KB / Number-of Response : 646
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

タスクシステム総合スレ part7



1 名前:名前は開発中のものです。 mailto:sage [2009/05/07(木) 13:33:06 ID:u3YZJr5E]
タスクシステムについての議論、相談、質問、雑談などのスレです

part6 pc11.2ch.net/test/read.cgi/gamedev/1238725539/
part5 pc11.2ch.net/test/read.cgi/gamedev/1234977661/
part4 pc11.2ch.net/test/read.cgi/gamedev/1233459490/
part3 pc11.2ch.net/test/read.cgi/gamedev/1226199100/
part2 pc11.2ch.net/test/read.cgi/gamedev/1196711513/
part1 pc11.2ch.net/test/read.cgi/gamedev/1173708588/


・タスクと呼ばれる実装は、非常に多岐に渡ります
 古典タスクシステムについての話題は「>>2」と明示してください
 そうでない場合はカスタム版であることを明示してください

・人を憎んで言語を憎まず

159 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:14:44 ID:IEIMR7tl]
>>157
でも一度作ったら、あとはハンドルでやり取りするだろ。

160 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:18:28 ID:xh4G82o4]
まあ、引数を使う理由の1つは>>144
徹底すればプロジェクトでバグ数が1000とか4桁は
絶対にいかないようになるぐらい効果絶大俺オススメ
単純だけどプロの技術ですよ
まあ、これが一番大事かなぁ

後は、引数を通してはいるけど型を誤魔化してるってのもやらないほうがいいぞ
たしかに実装はほんのちょっと楽にはなるが
実行してみるまで何がくるのかわからないプログラムになってしまうぞ
ということはいくらコードレビューなんてやろうともソースを丁寧に整備しようと
そのプログラムは動かしてみるまでどうなってるのかほとんどわからない
プログラムになってしまう
汎用性をつけるっていってもそりゃMSが提供するライブラリならわかるけど
個人が作る関数にそんなもんいらないからはっきりいってやらないほうがいい

>>158
>引数の指定ミスったらどうするんだよ。
コンパイル時にエラーが出るんじゃない(笑)

161 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:23:47 ID:IEIMR7tl]
>>引数の指定ミスったらどうするんだよ。
>コンパイル時にエラーが出るんじゃない(笑)

普通ならコンパイルエラーが出る筈だが、お前のやり方だと、
型として纏まってた筈のデータをintやcharに分解して引数で渡すから、
コンパイラの型チェックを殺してしまう。

162 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:26:02 ID:QPxFjGuq]
void hoge(int x1, int x2, int x3);



{
 hoge(x1, x1, x3);
}

163 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:26:24 ID:C+Rvd4dM]
不毛すぎる

現代版の最強でない、シンプルなタスクシステムの代替アルゴリズムをみんなで考えろよw

最強を考え出すと喧嘩になるから

164 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:28:49 ID:YPKwIylL]
で、結局引数君はprintfやmallocは使えない、と。

あぁ、標準入出力やヒープの概念を理解してないから
なんでグローバル変数と関係があるか、すらわからないか

165 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:29:30 ID:C+Rvd4dM]
>>164
そういうあおりはいらんというに

166 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:38:04 ID:C+Rvd4dM]
前向きな提案したら静かになった

167 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:44:47 ID:IEIMR7tl]
しょうがないな。

シンプルなタスクシステムをお求めなら、型ごとにリストを持つスタイルがお勧め。



168 名前:142 mailto:sage [2009/06/06(土) 02:01:22 ID:LkHpnJAV]
>>144
全く噛み合わないレス返されても困る。
俺はそんな所にふれてないしな
それともプリミティブとオブジェクトの区別もつかない人?

169 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 02:06:35 ID:5AeUfGm+]
引数君は知障だから触らないほうがよくね?

170 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 02:08:38 ID:C+Rvd4dM]
>>169
この際明確な答えを出す方がいい。

リスト、キュー、ソートなどなどのようなのに加えてしまえばいいだけ。

あとは自分なりにそこから派生として考えればいいだけ。
タスクシステムというのだって根本的な部分は動的に変化する
オブジェクトを効率よく管理するためのアルゴリズムでしかないんだし

171 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 02:21:46 ID:YPKwIylL]
ここはおつむの弱いアンチタスクや引数君みたいなのを隔離して遊んでやるスレ。

まともな話をこのスレで初めてもおつむの弱い子たちのコンプレックスの餌食になるだけだ。

まぁ前スレでフルボッコにされたアンチタスクがゲ製作技術の別スレに逃げ出して
迷惑かけたみたいだから、逃げ出さない程度に加減して遊んでやろう。

172 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 02:23:06 ID:C+Rvd4dM]
>>171
アンチとは失敬な
名前が嫌いなだけで同様の手法は必要だと思ってるぞw


173 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 09:36:40 ID:qdRKJ34Y]
>>150がスレの主題に合っているかは知らないが
言っていることは、非常によくわかる。
これは、他人が作ったソースを読むときに
出てくるんであって、俺ソースのメンテナンスだけでは
わからない。

174 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 10:57:01 ID:yoFXLlZ9]
久しぶりに本家の引数クンが出現してるなぁwww

相変わらずの無能っぷりでワロタwwwww

175 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 11:05:51 ID:yoFXLlZ9]
>160
ちょっとここでいわゆる『タスク』という言葉を使わせてもらうが、まぁ個々に内部状態を保持した
何かの動作単位だと思ってくれればいいよ。

タスクの内部の状態によって必要なパラメータが変わる場合は、その都度引数を変えた関数を用意
して、呼び出し側が『タスクの内部状態を参照』して呼び出す関数を変更するんですねwww

さすが、引数クンのそのストイックさにシビレル、アコガレルゥwww

176 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 11:21:09 ID:yoFXLlZ9]
おっと、強調する部分を間違えたw

×呼び出し側が『タスクの内部状態を参照』して
○『呼び出し側がタスクの内部状態を参照』して

こっちの方が通りがいいな。

さあ、引数クンのストイックさにあこがれて引数でパラメータを渡そうと思ってるオコチャマは、
ナニが問題なのかよ〜く考えてみようw

177 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 15:47:20 ID:LkHpnJAV]
>>175
> タスクの内部の状態によって必要なパラメータが変わる場合は、
問題になるほどこういう状況が発生していいのだろうか…?
それはタスクシステムを使った場合においても破綻するぞ
柔軟性の無い思考を否定するために自らが根本を間違えてしまうのはどうなの?




178 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 17:14:27 ID:yoFXLlZ9]
>177
例) 状態Aでは外部情報a,b,cを参照して、状態Bでは外部情報a,c,d,eを参照する

なんていうのは、AI作ってれば(AIでなくとも)よくあることだよ。

その際、引数クンはそれぞれ異なった引数を持つ状態更新関数
 UpdateWithStateA( a, b, c )

 UpdateWithStateB( a, c, d, e )
を作成して、外から状態に応じて呼び分けるんだろ。
なにせ『引数しか使っちゃダメ』で、しかも『不必要な情報を引数で渡したらダメ。コンテキストをまとめて
渡すなんてもってのほか、誰がその情報を変更したか分からなくなるよ!!!』なんだからwwwww


179 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 17:24:03 ID:5AeUfGm+]
> 誰がその情報を変更したか分からなくなるよ!!

これなのだが、分からなくなっていいと思うのだが。
引数君は本当にプログラム1行でも書けるんだろうか…。

180 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 17:42:40 ID:LkHpnJAV]
>>178
論理的に成り立ってない
君はただの勝ち馬乗りだよ
間違いに間違いでの応酬は無意味

181 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 17:45:47 ID:LkHpnJAV]
手段が一通りしかないという飛躍した考えは
初期のスレからずっとある

議論にならないのもよくわかる

しかもそういう奴に限って後出しのために含みを残している
これではコードも示せない

182 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 19:08:52 ID:xh4G82o4]
ID:xh4G82o4だけど

>>178
それであってるよ
ステータスが代わるなら呼び出す関数を替える
仮に

Q.ステータスが1000個あったらどうするか?
A.関数を1000個(および必要なもの)すべてを用意します(使いまわしは絶対にしません)

でFA
仮に引数を共通化して

//1つ目の引数はステータス、2つ目の引数はステータスに必要なデータの束
changeState(int state,void* date);

みたいなもんを使っても内部でswitchかそれに代わるものが絶対に必要になるから
こっちのがいい
もし、こうなっていない・これを面倒だと思うプログラムがあったら
それは非常に危険なコードを抱えてる可能性がある

183 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 19:11:05 ID:xh4G82o4]
あ、こっちのがってのは関数をステータスの数分用意するほうね

184 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 20:10:44 ID:yoFXLlZ9]
>182
呼び出す関数が1000個あるということは、呼び出し元が1000箇所か。
頑張って呼び分けてくれwww

それとも、それら上位に一つ関数を作ってそこでコンテキストを受け取って、その中で1000個の
ステータスごとの関数を呼び分けるつもりなのかな?

まぁ、どっちにしてもお疲れさんってことでwww

>178
> 論理的に成り立ってない

wwwww
>182を見習えよwww

185 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 20:11:37 ID:yoFXLlZ9]
>178じゃ事故レスじゃねぇかwww
>180だwww

>180
>182を見習えよwww

186 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 22:32:13 ID:DjY3tAB7]
>引数君
君のやり方は認めるから
実際に作った上でどうメリット・デメリットがあったか語ってくれ

187 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 23:19:34 ID:qdRKJ34Y]
まあ、引数分けはメリットないし、そもそも無理かな?
boost::variantとかで、十分安全に出来ると思うし
そっちで妥協して。



188 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 02:05:11 ID:W179Gh2Y]
引数君のやり方に従ってコーディングされている
プログラムを逆に見てみたいなぁ。
引数のうちの型が一つ変わっただけで
一体どれだけの修正の手間が掛かって
それをどうやって解消しているのだろう?
今の世にあるコードリファクタリング機構じゃ歯が立たないよ。
ゲーム開発なんて仕様変更は日常茶飯事なのになあ。

189 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 02:08:38 ID:3ohyM900]
>>186
ID:xh4G82o4だけど

メリットというか引数を無くすことがデメリットであって
メリットなんてない
引数無しは引数がないことによるデメリットが生まれるだけでメリットは一つもない
上のほうで馬鹿が何も考えずに「1000個用意するの?馬鹿じゃね?w」的に煽ってるけど
ぶっちゃけ代わらない
絶対に関数の中で分岐が必要になる
もし、なくしたらバグが止まらない
仮に開発資料でステータスごとの初期化パラメータ一覧を出せといわれたら
この馬鹿は何を出すのか?多分こいつのプログラムはすべての処理を追いかけて
やっと1つのステータスの初期化状態がわかるといったプログラムになってる
恐ろしいほどダサいソースになってるはず

190 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 02:09:50 ID:3ohyM900]
>>188
タスクなんて使わないで組めばいいよ
タスクを使わないバージョンは前にこのスレでも書いてあげたんだけど
参加してなかったんなら暇なときに比較ソースをあげるよ

191 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 02:27:59 ID:atKK+Qwb]
>>188は、クラスのメソッドにも同じことをしているの?

192 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 02:36:39 ID:cdPek4Sb]
クラスのメンバ変数は、自クラス内でグローバルだからな。

193 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 08:40:48 ID:mwRZn/c6]
引数君って発言を見る限りゲームはおろかまともな規模のプログラムを完成させたこともなさそう。
ゲームなり何なりを完成まで作ってみれば、ここにいる人たちの発言も理解できるようになるんだろうけど…


194 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:11:24 ID:aehXa9i/]
>189
> 引数無しは引数がないことによるデメリットが生まれるだけでメリットは一つもない
> 上のほうで馬鹿が何も考えずに「1000個用意するの?馬鹿じゃね?w」的に煽ってるけど
> ぶっちゃけ代わらない

1000個の関数を呼び分けるのに、分岐を使わないのか。
スゲー、ミラクルテクニックだな。

195 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:15:45 ID:aehXa9i/]
あるいは、1000個の状態更新関数を、

 Task* t;

 Task_Update0( t, a, b );
 Task_Update1( t, b, c, d );
 ...
 Task_Update999( t, zxy, ztt, zbc );

と書いておいて、それぞれのTask_Update#(...)の中で、

void Task_Update0( Task* t, InfoA a, InfoB b )
{
  if ( t->state != 0 )
    return;
  // do something if state is 0
  ....
}

とかやるつもりなんだろうか?

196 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:20:43 ID:kY8Q/AF4]
>>194
いちいち煽らんでよろしい。
先のレスに「1000個の関数を呼び分けるのに、分岐を使わない」とは
一言も書いていない。
仮に1000の関数を省いたとしても、代わりに1000の分岐が生まれるんじゃ
余計に悪くなる、と書いている。

大体、1000の機能を提供するなら1000の関数が必要になるのは
当たり前。そこは問題じゃない。

197 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:28:41 ID:m2Sg/1Dm]
引数君って明らかに知障なんだが、どんなプログラムを書くんだろうか。

ブロック崩しぐらいでいいから書いたソース見てみたいな。



198 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:34:26 ID:aehXa9i/]
>196
オマエもバカのお仲間か。

> 仮に1000の関数を省いたとしても、代わりに1000の分岐が生まれるんじゃ
> 余計に悪くなる、と書いている。

引数の異なる1000個の関数を、分岐無しで呼び分ける方法を教えてくれ。

199 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:36:29 ID:aehXa9i/]
>196
あぁ、自分がこの点に粘着しているのは、引数クンの言う『異なるパラメータが必要な関数は
全て異なる関数として作る』という主張に沿っているだけだから。

引数でしかデータを渡したらいけない。グローバルなものは一切使わない。

まぁ、頑張って考えてみてくれよ。

200 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:39:07 ID:QCME1dhS]
ID:xh4G82o4 に聞きたいんだが

具体的に何を非難してるん?
下みたいな関数がアンチパターンだっつってんの?なんで?

void moveForward(SomeObject* obj);
void SomeObject::moveForward();

それとも単に古典タスクのTCB実装を非難してるん?
それなら>>1を読めよ

201 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:46:22 ID:kY8Q/AF4]
>>197
別に奴の主義は間違ってない。つーか、正しい。
ただ、今回のようなプログラムによる動的呼び出しには
組み込めないだけで。
だから、機知外の戯言的な受け取りは誤り。

202 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 12:58:44 ID:m2Sg/1Dm]
>>201
引数君はどう見ても知障。

あんたも、どうも言ってることがおかしい。
基地外同士、二人で仲良くやってなよ。

203 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 13:02:37 ID:aehXa9i/]
>201
> 別に奴の主義は間違ってない。つーか、正しい。

キチガイは、一匹見たら30匹は居ると思わないといけないのか?

204 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 13:16:25 ID:m2Sg/1Dm]
>>203
> キチガイは、一匹見たら30匹は居ると思わないといけないのか?

それだ!

205 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 14:11:07 ID:kY8Q/AF4]
まったく、
君らは、相手に何を伝えたいの?
自分の主張の正しさか?
それとも自分は負けてないってことか?
もうちょっと、大人になれよな。
まず、知障だの30匹だの
そういった言葉を外すところから始めるんだな。

206 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 14:18:06 ID:aehXa9i/]
>205
建設的な意見の一つも出せない池沼クンは、早くググって最適解でも見つけてきてください。

207 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 16:36:26 ID:3ohyM900]
ID:xh4G82o4だけど

>>200
>>144>>160

レス読まないで書き込んだのか>>144>>160が理解できないのか
どっちなんだマジで?



208 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 17:18:05 ID:IBZXm9gK]
>>205
今まで何本ゲーム作った?

209 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 17:23:00 ID:IBZXm9gK]
>>207
あ、お前も何本ゲーム作った?

210 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 18:20:04 ID:aehXa9i/]
>207
オマエは、呼び出し側の実装PGに、『こっちで作った1000個の関数を、状態に応じて正しく呼び分けてくれ』、と
伝えるのか。

スゲー厚顔無恥だな。

211 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 18:21:24 ID:3ohyM900]
>>209
カウントに入れるのも微妙なのあるが5本ぐれーか?
中途半端に関わったのも入れると10本だ
もう30前半

212 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 18:29:25 ID:3ohyM900]
>>210
ステータスが1000個あったらそうなるね
回避は不可能
どう組もうがこれの省略はできない

ステータスが1000個あって1000個発動関数がない(もしくは分岐がない)プログラムは
なにかと何かのステータスの処理を暗黙に共有してるとかいう恐ろしいことになってる
せめて1000個の発動関数の中で共通なら共通なりの関数を呼ぶべきだろ
この1000個は絶対に省略できない処理だし、しても意味がない

213 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 18:35:15 ID:aehXa9i/]
引数クンの前提は、

1. 更新関数に渡す情報は、全て引数で渡さないといけない

であり、さらに、

いわゆるタスク(でも何でもいい、内部状態を持つ独立した何か)の更新処理について、
2. 1000個の状態があったら、それぞれの状態にあわせて1000個の更新関数を作る
2a. グローバル変数やそれに準ずるものの使用は不可
2b. コンテキストでまとめて、一つの引数として渡すことも不可

と主張し、しかも

3. 1000個の更新関数は、最悪の場合全て異なった引数を取る
3a. 1000個の更新関数は、内部状態に応じて正しく呼び分けなければいけない
3b. >182によると、内部で状態を見て分岐するのも不可

であるそうだ。

これを見て、ID:3ohyM900=ID:xh4G82o4がキチガイでないと思えるヤツは、センス無いとしか
言いようが無い。


214 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 20:13:20 ID:3ohyM900]
>>213
いいよ
そのまとめで問題ない
全部あってるよ

215 名前:名前は開発中のものです。 [2009/06/07(日) 20:47:03 ID:gdjwroFS]
>>46
タスク絡みで読む価値があるのは
三宅さんが書いた黒須さんインタビュー記事だけだな
なかなか痛快な内容

216 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 21:22:45 ID:gdjwroFS]
>>58
preemptiveでない、協調的なマルチタスキング(マルチスレッディング)は
貧弱ターゲット向けの組み込みシステム、OSではわりと使われてると思う

>>59
RTOSのキューも基本的に同じ。というかマルチタスキングするOSのレディキューを
説明するときの概念図は基本的にリング状になってる。
「条件がそろうまでは残る感じ」の周期タスクは別段珍しいものではない

217 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 22:30:17 ID:cdPek4Sb]
>>213 をみて、終には擁護していた奴も逃げ出したな。



218 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 22:55:45 ID:cdPek4Sb]
とくにありえないのが、
 >2b. コンテキストでまとめて、一つの引数として渡すことも不可
で、

・コンパイラの型チェックの機能が死ぬ
・関数がネストすることを考えると、上位関数の引数の数がとんでもないことになる
・プログラマは大概intな途轍もない数の引数を間違えずに指定する必要がある
・呼び出し元は、呼び出し先モジュールの内部構造に依存したコードを書かされる
 →モジュール化、カプセル化不可能
・モジュール化、カプセル化出来てないから、バグがあった場合、
 それが呼び出し元のバグなのか、呼び出し先のバグなのか判断が付かない。
・とりあえず、今まで生きてきたなかで、
 そんな仕様のプログラムなりライブラリなりは見たことない。

219 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 23:02:46 ID:cdPek4Sb]
matrix_add( &m1_1, &m1_2, &m1_3, &m1_4, &m1_5, &m1_6, &m1_7, &m1_8, &m1_9, &m1_10, &m1_11, &m1_12, &m1_13, &m1_14, &m1_15, &m1_16,
m2_1, m2_2, m2_3, m2_4, m2_5, m2_6, m2_7, m2_8, m2_9, m2_10, m2_11, m2_12, m2_13, m2_14, m2_15, m2_16,
m3_1, m3_2, m3_3, m3_4, m3_5, m3_6, m3_7, m3_8, m3_9, m3_10, m3_11, m3_12, m3_13, m3_14, m3_15, m3_16);

うげげげげげ。

220 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 23:28:53 ID:mwRZn/c6]
そーいえば取引先中小デベロッパのプログラマで
変数名からクラス名まで全てをアルファベット1文字で書くのがいたなぁ…
class A { int B; void D(float E) { ... } }; とか。
周りがどんなに説得しても「コンパイラにかかる負荷が…」どーのこーの言って
けっして屈しないらしい。

普通ならそんな偏屈プログラマ、クビにして終わりなんだが、その中小デベロッパの社長が
人情の人でクビはしない主義らしいからまだプログラマ続けてるらしいけど…

引数君を見てたら彼を思い出した。

221 名前:名前は開発中のものです。 mailto:sage [2009/06/07(日) 23:59:01 ID:aehXa9i/]
>214
> いいよ
> そのまとめで問題ない
> 全部あってるよ

こんなキチガイと一緒に仕事したくねぇwwwww

222 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 00:40:53 ID:cRHoD8w8]
>>219
それはちがくね?
まず

・MATRIX管理構造体の何か?
・MATRIX構造体

の2つがあってMATRIX構造体のほうにまず入れる必要があるんだよね?
だったらまずMATRIX構造体にmX_Xの変数を入れる処理がどっかにあるんだよね?

ところがそのコードはいきなりMATRIX管理構造体に突っ込む想定をしてるじゃん

223 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 01:52:36 ID:wcKZ/hFx]
>>222
何わけの分からないこと言ってるんだ?誰か解読してあげて。

ともかく、例の彼のやりかただと、
例え構造体使ったとしても、関数呼び出すたびに構造体のメンバがバラバラになるんだから、
初めから構造体なんて意味ない。だからきっと使わないのだろう。

こんなかんじで。

some_function(
 ・・・
 &m1_1, &m1_2, &m1_3, &m1_4, &m1_5, &m1_6, &m1_7, &m1_8, &m1_9, &m1_10, &m1_11, &m1_12, &m1_13, &m1_14, &m1_15, &m1_16,
 m2_1, m2_2, m2_3, m2_4, m2_5, m2_6, m2_7, m2_8, m2_9, m2_10, m2_11, m2_12, m2_13, m2_14, m2_15, m2_16,
 m3_1, m3_2, m3_3, m3_4, m3_5, m3_6, m3_7, m3_8, m3_9, m3_10, m3_11, m3_12, m3_13, m3_14, m3_15, m3_16
 ・・・)
{
  ・・・
  matrix_add( &m1_1, &m1_2, &m1_3, &m1_4, &m1_5, &m1_6, &m1_7, &m1_8, &m1_9, &m1_10, &m1_11, &m1_12, &m1_13, &m1_14, &m1_15, &m1_16,
  m2_1, m2_2, m2_3, m2_4, m2_5, m2_6, m2_7, m2_8, m2_9, m2_10, m2_11, m2_12, m2_13, m2_14, m2_15, m2_16,
  m3_1, m3_2, m3_3, m3_4, m3_5, m3_6, m3_7, m3_8, m3_9, m3_10, m3_11, m3_12, m3_13, m3_14, m3_15, m3_16);
  ・・・
}

224 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:00:16 ID:cRHoD8w8]
>>223
違うってよく考えろ
matrix_addなんて関数があったらそれにmatrix構造体の
メンバを突っ込むなんてプログラムスタイルがねーんだよ
無意味なことをやってる
おそらくmatrix_addでそんなメンバが用意されてるなんてのは
アフォな開発者が多分で便利であろうとでも思って用意したアフォ関数だろ
(DirectXでもありだけどなw)

必ず、@「matrix構造体にセットする関数を実行」してから
A「matrix管理構造体にセット」する流れになる

自分のプログラムみてみろ絶対にそうなってる
なってなかったら無駄プログラム

そのスタイルも別にいいっちゃいいけど
構造体の中に内包するものが増えるたびに同じ引数を延々と書かなきゃいけなくなるぜ

225 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:00:41 ID:wcKZ/hFx]
>まず

>・MATRIX管理構造体の何か?
>・MATRIX構造体

>の2つがあって

まず、この時点で意味不明なんだが。C言語or日本語が不自由なの?
なんでmatrixに管理構造体が必要なの?キャッシュ?メモリプール?何を管理するの?

226 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:03:43 ID:674pJASz]
抽象化の苦手な人間はどこにでもいる

227 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:04:44 ID:cRHoD8w8]
>>225
matrix_addってことはmatrix構造体をなにかに登録してるんだよね?
って意味でmatrix_addがmatrix構造体の管理下にないって意味で書いた



228 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:05:18 ID:wcKZ/hFx]
>必ず、@「matrix構造体にセットする関数を実行」してから
>A「matrix管理構造体にセット」する流れになる

>自分のプログラムみてみろ絶対にそうなってる
>なってなかったら無駄プログラム

意味分からん。ひぃ〜〜助けて。

229 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:06:22 ID:bPMhUw6r]
前々前向きじゃないなあ・・・
時間があったらソース書くとか言った人も来てないのか・・・



230 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:07:19 ID:wcKZ/hFx]
>>227
アフォすぎて話にもならない。
普通 matrix_add っつったら足し算だろ。

231 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:23:19 ID:bPMhUw6r]
ゲームでいうタスクシステム(笑)って下手すると引数なし関数が
処理順で積まれてるだけとかそんなんでしょ?
OSのような物を設計するわけじゃないんだし、お互いの主張を言い合っても無駄なような。
むしろ言い合うってことはすでに2ケースに対する表現方法が違うんだし
その2方式の雛形にでもなるようなのを出してしまえばそれで終わる気がするんだが。


232 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 02:38:00 ID:52Y54V93]
取り敢えず引数君は>>218の指摘に答えを出したほうがいいよ。
MATRIX管理構造体が何かをまず皆に理解させたりするより絶対手っ取り早いよ?

233 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 05:42:45 ID:ivE9pf3b]
引数君は日本語の不自由な知障だから触らないほうがいいよ。

234 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 06:54:34 ID:cRHoD8w8]
>>230
え?w
ノードでも追加するのかと思ったw

でもだったら

matrix_add(&mat,足すヤツ);

でよくね?
別に型も誤魔化してないじゃん
俺の言ってること違ったっけ?

235 名前:名前は開発中のものです。 [2009/06/08(月) 08:28:28 ID:rJj1ChuH]
なんで全部展開する話になったんだ?

236 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 08:54:31 ID:RKbP76xN]
>>235
オブジェクト指向のカプセル化とか隠蔽化を理解できないから。

237 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 08:55:36 ID:nNQXSyqJ]
>>220
お前騙されてて
オブファスケータ使った後のソースしか見せられてないんじゃね



238 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 21:32:36 ID:wcKZ/hFx]
>>234
それはそうなんだが、>>213を主張する通称引数君が現れてだな・・・。
>>219は反面教師的な意味で書いたコードなんだ。

ところで今思ったんだけど、
・すべての情報は引数で渡す
・構造体で渡すのは禁止
ってことは、処理に必要な情報は、一時的にでもすべてスタックに乗せる必要があるよな。
スタックオーバーフローとか大丈夫なんだろうか。
画像とか音楽とか、どうやって関数に渡すつもりなんだろう。

239 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 21:57:45 ID:cRHoD8w8]
>>238
>・構造体で渡すのは禁止
マジで?w
型を誤魔化すなとは言ったが・・・
でもまあ、ある意味それもアリなんだよね
ちょっと複雑な言い分になるけど

240 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 21:58:56 ID:ivE9pf3b]
構造体渡すの禁止とか言ってる奴、頭おかしいから触らないほうがいいよ。

そいつプログラム1行も書けない。

241 名前:213 mailto:sage [2009/06/08(月) 22:01:21 ID:iv6sA5z4]
>238
いやいや、幾らなんでもそれは無い…、と信じたい。

『コンテキストとしてまとめたモノがダメ』というのは、『そのコンテキストの中に処理に関係ない情報が
混ざっているのがダメ』という意味らしいから、matrix_addみたいなのは構造体そのまま引渡しできる…、
と信じたい。そして全てが引数で渡される必要があるからといって、全てを代入渡ししなければいけない
ワケではない…、と信じたい。参照渡しを禁止したりはしないだろう…、と信じたい。

242 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 22:23:28 ID:dIDrAXVe]
どうせこんな言動とプログラミング能力じゃ
社会人としてやっていけないから何も心配することはない。
放っておいても現実に被害を被る事なんてないさ。
そんな能力なんて無いよ。

243 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 23:50:28 ID:cRHoD8w8]
>>241
その通りだけど
なんか構造体渡し禁止になってるんだよね
余計なものを渡すのが駄目ってことなんだけどね

244 名前:名前は開発中のものです。 mailto:sage [2009/06/08(月) 23:51:54 ID:cRHoD8w8]
>>242
そうやって人格否定から入って相手の発言を潰すくせどうにかならんの?

245 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 00:22:09 ID:Klhc/GyU]
引数君みたいな基地外、まともに相手するだけ無駄。

引数君みたいなプログラムが1行も書けない基地外の議論が
有意義だと思ってる時点で ID:cRHoD8w8も頭おかしい。

プログラムが1行も書けない自称プログラマはすみやかにお引き取りください。

246 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 00:33:30 ID:cuID72xD]
一行も書けないのはさすがにその人がクズw

247 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 00:33:30 ID:MBMwWKo7]
>>245
でも面倒臭い(かもしれないイメージが強い)以外に欠点ってないでしょ?
引数無しにするのは「面倒臭い」からでしかないでしょ?
これを諦めたプログラムってやっぱり制御不能になりやすいと思うんだよね

引数は大事だよ
無視してしまったらそもそも制御なんてしなくていいじゃん
ヘッダファイルもマスターヘッダ作って全部インクルードして
構造体も全部そこで定義してすべてをまとめたもん作って
インスタンスホルダーに対して読み書きって作り方ってもう駄目なのわかるじゃん

もうそろそろ汎用化できない処理と汎用化できる処理の判別がついてもいいころだと思うのよ
タスク信者もさ
いつまでもおっさんみたいにそこで足踏みしてるとスキルあがらないぜ
大事なのは書き比べて検証して自分なりの答えを出すことだと思うけどね
引数をなくしても結局手間は変わらないってすぐに理解できる



248 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 00:55:18 ID:Klhc/GyU]
>>247
> でも面倒臭い(かもしれないイメージが強い)以外に欠点ってないでしょ?

本当にあんた、プログラム、1行でも書けるのか?全然話にならないんだが。

> ヘッダファイルもマスターヘッダ作って全部インクルードして

あ!お前、このスレのpart3当たりに居た、総合ヘッダ君か。通りで言ってることがおかしいと思った。

このスレ、引数君と総合ヘッダ君が居なくなれば、まともなスレなんだろうけどな。
この二人の基地外のせいでレベルが大幅ダウンだよ。

249 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 00:56:29 ID:7ufIYPer]
つーか前向きになれw

250 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 01:27:18 ID:GsDiyf17]
引数君と総合ヘッダ君って同一人物じゃなかったの?

251 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 05:02:55 ID:X2fb91bq]
その人ってそれが駄目って言ってんじゃん
総合ヘッダ君じゃないんでは

252 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 05:42:54 ID:Klhc/GyU]
>>251
むむ・・そうかも知れん。だとしたらその件についてはID:MBMwWKo7に謝る。スマソ。

253 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 06:42:20 ID:MBMwWKo7]
>>252
お前、読解力0だろw

254 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 06:44:33 ID:SajZ+q78]
総合ヘッダ君は、何でもかんでもぶち込んだ総合ヘッダを使うしか方法を知らないから総合ヘッダ君
だったような気がする。公開用のヘッダファイルとプライベートヘッダに分ける方法を知らない。

その意味で行けば、>247も充分総合ヘッダ君と同等だと思うけどね。


255 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 07:07:38 ID:MBMwWKo7]
>>254
はぁ?

256 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 07:08:40 ID:s3lVRyLD]
お前らつまらん



257 名前:名前は開発中のものです。 [2009/06/09(火) 07:26:35 ID:7ptmeyyR]
馬鹿よりましだろ



258 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 12:43:14 ID:4xDwQnN3]
人はこんなピンポイントで争えるんだぜ

259 名前:名前は開発中のものです。 mailto:sage [2009/06/09(火) 19:38:02 ID:CxjpUjFg]
どっちにしても、
hoge_update( &hoge.x, &hoge.y );
はキモイ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<190KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef