- - PR -
プログラムの書き方でご指導お願いします。
投稿者 | 投稿内容 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-09 17:48
がるです。
難しいですよね(苦笑 しばらくWeb系にどっぷりなせいか、3桁のエラーコード体系が 割合に肌になじんではいるのですが。 業務によっては「それでは到底どうにもならない」ケースもあって(苦笑
あ、失礼をば。 enumとかで普通に列挙してくれると楽なのですが、時々定数を そのまんま文字列で打ち込まれるケースとかがあって(苦笑 # ……ええありましたともさつい最近。 ちょっと近日のトラウマがあったので、言葉足らずでした。 で。
なりません。 文章読解能力と、それ以上に「[常識|思い込み|偏見]を拭い去る力」 を磨きましょう。
この部分からもおおよそ想定できるのですが。 # 別に私が建て増しを考えているわけではありません。 # 「だれが」という質問に解答するつもりなどもはやありませんが。 今までの未記入氏の発言を拝見している限り、自らの中にある [常識|思い込み|偏見]というフィルターを通してこちらの意見を 読み、しかる後にそのフィルター越しに返答をされています。 議論は双方が「冷静に相手の発言を理解し、必要に応じて"理解 するために必要な質問"を織り交ぜつつ」行うものです。 然るに、未記入氏はそのような行為をせずに自らの[常識|思い込み|偏見] を基準に勝手な憶測をし、或いは補完をし、そこからよくわからない 発言を繰り返されています。 時々「使えないSE」の間にもこういったタイプを散見しますが。 以前も少なからず感じておりましたが、明らかに議論をするに 足るとは判断しがたいことがわかりました。 出来れば「これを読んだほかの方が後日にでも参考になれば」 と思いある程度続けてきましたが、このようなおかしな会話は かえって混乱を招くばかりであると判断いたします。 よって、未記入氏への私からのレスは、これをもって終了させて いただきます。 なお「どの辺がおかしいんだろう」という疑問を持たれた方は、 どうかお気軽にがる宛てにプライベートメッセージなど頂戴できれば、 可能な限りお答えさせていただきます。 以上。 | ||||||||||||||||||||
|
投稿日時: 2005-11-09 18:06
なりませんとは? is_true() の仕様変更にはなりません、という意味ですか。ついに発言自体が論理破綻してしまいましたね。 「ちょっとまった」導入の前は(例外が発生していない正常系において) is_true() と is_false() は背反な関係にあったはずです。(このふたつのメソッドが同じ値を返すことは当初考えられていません。) 「当初から同じ値を返す可能性を考慮していた。だから is_true() と is_false() ふたつのメソッドがある」とか言い出しそうですね。先に書いておきますが、もしそのような状態を初期段階で想定しているのであれば、あなたが書いた次のコードは誤りになります。
もし、is_true() と is_false() が背反でないとはじめから想定しているなら、次のように書かなければならなかったはずです。
なぜ、はじめのコードでは is_false() をチェックせずに「認証NG」というフローに流れているのですか? これは is_true() と is_false() が背反だという性質を利用しているからではないですか?
「では改修パターンを。ステータスに「ちょっとまて(wait)」が混入したとします。」と自信を持って例示されたように感じていましたけど、だれかの失敗例を持ち出しただけなんですか? その失敗例を前面に押し出して、(反面教師としてではなく)何を主張しようとしていたのでしょう? もしかして、都合が悪くなったら「私ではありません」ですか? 挙句の果てに、自分の理論を理解してもらえないと「相手が冷静でない」「偏見」「思い込み」ですか。自分の論理が破綻している可能性というのは眼中にないようですね。それもひとつの「思い込み」ではないかと思いますけど。
議論にすらならなかったのは事実ですが、それは私の偏見によるものではなく、あなたの破綻した論理によるものだと認識しております。 お疲れ様でした。 | ||||||||||||||||||||
|
投稿日時: 2005-11-09 18:11
さき程から見させていただいていました。
私的にはがるがるさんも未記入さんも同じことを言っているように思えました。 相違点は以下のように受け取りました。 【未記入さんの場合】最初にTARGETを宣言しておいて警告を受ける 【がるがるさんの場合】if〜else if〜の最後に「// ありえないしここに入るのは」として警告を促す なぜなら極端な話 「switch文はコンパイラーを通すとifに置き換わる」 と聞いたことがあるからです。 的はずれでしょうか? | ||||||||||||||||||||
|
投稿日時: 2005-11-09 18:30
どもです。がるです。
んっと。ゆっきーさんが書かれている部分については 概ねその通りかと。 ほかの部分への言及は避けますが。
コンパイラを持ち出す以上、その先は「マシン語」になるかと 思われるのですが。 その場合「switch文はコンパイラーを通すとifに置き換わる」 は正しいです、多分。 多分というのは、私が知っているマシン語(アセンブラ)の 限りにおいてはswitchなどという便利な命令セットは存在 していなかったので。 ただ、マシン語(というかアセンブラ)でコーディング しまくっていたのは随分と昔なので。 # いわゆる8bitCUPとかそーゆー時代です(苦笑 昨今の32bit CPUの命令セットを知らないので、或いは switch命令セットなどというものがあるのかもしれない です。 以上、簡単ですが。 | ||||||||||||||||||||
|
投稿日時: 2005-11-09 19:11
的はずれな気がします。 未記入 さんの意見は、要件的にboolean型の戻り値がふさわしくないならば、 Enum 列挙型の使用をオススメします。であって、 switchがどうとか、ifがどうとか が本質ではないでしょう。 少なくともJavaにおけるプログラミングで、議論にあがっているような仕様 変更が発生した場合の対応は、未記入 さんの意見が正道(正解とは言いません) だと私は思います。 | ||||||||||||||||||||
|
投稿日時: 2005-11-09 20:36
こんばんは。
話が脱線してしまいますが、スイマセン。 部分的反応です。
Javaのバイトコードレベルではどうかは知りませんが、 マシン語(アセンブラ)レベルでは、if文もswitch文にも該当する命令はないでしょう。 #私の知っている限りのCPUでは。 かわりに「条件付ジャンプ命令」によって処理の分岐がおこなわれます。 比較命令などを行った後、フラグレジスタの内容をみてジャンプを行うわけです。 マシン語(アセンブラ)でswitch命令があったら、可変長のオペランドが必要になってしまいませんか? そんなCPUって設計できるのかな? 昨今の32bitCPUなどでは、MMU(メモリ管理ユニット)などの命令が追加されていますね。 | ||||||||||||||||||||
|
投稿日時: 2005-11-09 21:02
どもですがるです。
ちと脱線へのレスで恐縮ですが。
むぅ失礼をば。その「条件付ジャンプ命令」をさしてif文って 言ってます(苦笑 昔(Z80a)はアキュムレータに対して演算して0だったら ジャンプとか(JPZ)そういうのでif文実装してたですよねぇ(遠い目 # ほかにもいくつかあったような気がしたけど…忘れた(笑
そっか、そうですねぇ。それを考えると限りなく無理に近いのかな? 無理やり実装すると仮定すると… LD IX, てけとうなアドレス LD IY, てけとうなアドレス2 LD (IX), 0x01 LD (IY), てけとうなオペランド1 LD (IX+1), 0x10 LD (IY+1), てけとうなオペランド2 LD (IX+2), 0x20 LD (IY+2), てけとうなオペランド3 SWT IX, IY, 0x3 とかって感じにして「IXからスタートして3つあるからそれぞれ 比較して一致したら対応するIYのラベルにジャンプ」とか。 ……我ながら汚くて惨い実装だ ;; # 多分最近のマシン語だともうちょっときれいにいくんだろうなぁ # とか色々思いつつ。
んむぅこの辺はぜんぜん知らなかったです。 以上、余談でした。 | ||||||||||||||||||||
|
投稿日時: 2005-11-09 22:06
未記入の勝ち
がるがるの負け ということで、皆様OKですか? |