- C言語相談室(上級者専用)
379 :131 (ワッチョイ 7f7b-bDB9)[sage]:2019/05/21(火) 22:28:52.93 ID:ff2E85uv0 - >>373
ここは初心者に荒らされるのでもう諦めてる。 ゆとり/さとりはモラルがなさ過ぎて、どうしようもない。 とはいえ、おそらく彼等は「糞なネット」しか見たことがなく、「ましな状態」を想像出来なくての事だ。 当人達は全く荒らしている自覚がないのでどうにも救いようがない。 (治安の悪い地区に住む者が、その治安の悪さを問題視出来ないのと同じ。そういう物だと思ってる) だから、初心者をBAN出来る掲示板があればそっちでやりたい。 (そこでゆとり/さとりにも「ましな状態」を見せないことには改善しない) redditか8ch等で既にあればそこを利用するのが楽でいいから指定してくれ。 なければ自前で用意する事になるが、それならついでに色々準備したいからあと数年かかる。 なお再度言うが、「初心者は全員BAN」してくれるところな。「初心者用」のスレがあるだけでNGだ。
|
- C言語相談室(上級者専用)
380 :131 (ワッチョイ 7f7b-bDB9)[sage]:2019/05/21(火) 22:29:12.17 ID:ff2E85uv0 - が、ちょっと気になったことを言っておく。
131の時に見た限りでは、正直、あのコードで今君がやってるようなアジャイル開発は無理だ。 コード分岐が無駄に多すぎる。 (念のため言っておくが、今のコードを見たわけでない) > 座標変換は何か間違えている。 これについて、単純には ・変換式を間違えている ・変換式は合っているが、コードが抜けている の2通りのバグり方があるわけだが、どっちか認識出来てるか? 君はアフィン変換も怪しかったのでいまいち信用ならないが、 普通は変換式なんて仕様通り記述すればいいだけで、間違えないし、間違うものでもない。 また、変換式自体を間違っている場合は全部failするからすぐ分かる。 通ったり通らなかったりする場合は後者、つまり、あるべき場所でコードが抜けてるとか、コードの記述場所を間違えているとかだ。 これが発生するのは、コードに無駄に分岐があるからであり、言ってしまえばコードが汚いからだ。 アジャイルで今後とも少しずつ機能を追加していく気なら、いつかコードを整理しないと破綻すると思うぞ。 全仕様をそろそろ完備ならそのままやりきってしまうのも手だが。 綺麗にするのなら、まずは以下で。 ・C流の分岐をケチるのは止めて、とにかく関数を小さく切り出してOAOOを厳密に守る ・すると中/上位関数は、AやってBやってCやって終わり、みたいなアホな関数だらけになる ・そうなると、上記「変換式」を書くにはここしかない、というのが唯一1ヶ所に確定する 結果、抜けたり、間違った場所に配置してしまう、ということがあり得なくなる。 逆に言えば、抜けたり、間違った場所に配置出来るのはコードが汚いから。 OAOOが徹底された場合、ほぼ常に「この機能を追加するならここに唯一1回だけ書く」状況となり、 正しく書けば機能追加終了、間違えば全failとなり、動作は非常に分かりやすくなる。 よく分からん動作になってデバッグに手こずるのは、コード構成に問題があるんだよ。
|
- C言語相談室(上級者専用)
382 :デフォルトの名無しさん (ワッチョイ 7f7b-bDB9)[sage]:2019/05/21(火) 22:44:33.89 ID:ff2E85uv0 - >>381
そういうのは少しでも役に立つ可能性のある情報を書いてから言え お前らゆとりはそこが駄目なんだよ といっても聞かないし、聞かない理由も分かってきたので対策をするわけだ なおさとりはゆとりとはちょっと違い、ゆとりよりはましになってる ただ、いずれにしても「まともなネット」を見せないことには先に進まない お前らもそれを見えば俺らがなんでゆとりに対して怒っているか分かると思うぜ
|
- C言語相談室(上級者専用)
383 :デフォルトの名無しさん (ワッチョイ 7f7b-bDB9)[sage]:2019/05/21(火) 23:15:28.05 ID:ff2E85uv0 - >>373
さらについでに言うと > LOGFONT.lfWidth、LOGFONT.lfEscapement、WorldTransformなど > さまざまな変形があるため、本当に複雑なものになっている。 これも根本的にやり方を間違ってる。 普通はスーパーセットを整備してから、サブセットを使うんだよ。 いちいち別に整備しない。 例えば、回転と平行移動が必要なら、アフィン変換を準備して、回転または平行移動として使う。 勿論、速度面でオーバーヘッドは出るが、 究極に速いコードと構成が美しいコードはあまり両立しない。 アジャイルの場合は後者、つまりコードを優先しないと開発が破綻する。 様々な変形があると分かっているのなら、最初から全部対応出来る構成で行くんだよ。 それはコーディングする前にちゃんと考えないと駄目なんだ。 アジャイルは「一つずつやる」事ではない。 未来の仕様なんて分からないから、 「現在確定している仕様を全て満たすにはこれが最適」をひたすら繰り返してるだけだ。 Windows互換だと最初から分かってるのなら、 win32APIを全部眺めた上で最初から「最適構造」でコーディングするのが一番効率がよく、 これはまさにウォーターフォール設計そのものだ。 仕様が確定している以上、ウォーターフォールを選択しないのは間違いだが、 最終的にも糞どうでもいいAPIなんて実装する気がない、というのならアジャイルもありだ。 ただ、アジャイルならアジャイルなりの構成にしないと無理で、君のコードはそれが出来てない。 もっと上位のコーディング戦略がおかしいんだよ。 だからそれをまず直せといっている。 なおウォーターフォールの場合は「仕様変更はしない」という大前提なので コードなんて汚かろうがコピペだらけであろうが全く問題ない。そして君のコードはこれだ。
|