- - PR -
プログラムの書き方でご指導お願いします。
投稿者 | 投稿内容 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-10 19:43
がるです。
初めてコメントを返させていただきます。
勝ち負けが随分とお好きなようで。 ただ、ブンデス様には大変申し訳ないのですが。 基本的にはこういった議論を「勝ち負け」のレベルでは 見ておりませんので。 そうですねぇ。強いて勝ち負けをつけるのであれば。 私は勝ちました。 この議論で、いくつか得がたい知識が身につけられましたので。 # 勝利条件:得るものがあったか否か そうそう、念のため。 「私は勝ちました」が「未記入氏が負けました」にはつながり ません。勝利条件から考えれば当然ですね。 未記入氏がどのような勝利条件を元にどのように判断を下すか はわかりませんが。 この辺も、前述した逆とかfalseとか不完全性定理とかの概念 から考察していただけると。
別にすり替えも何もないのですが。 というか、このたびの話はOOP言語系であれば「どこであれ 共通して語ることが可能な会話」なので。 もし逃げ切ることを考えた場合、言語を摩り替えた程度で どうにかなるものではないと思うのですが。 # マシン語に摩り替えると逃げ切れるのかも(笑 理論については面倒なので省略します。 リアルで正面切って会話するとまた面白いのかもしれませんが。 # でも「戦うことを」前提にするのなら無意味かな?
ご親切且つご丁寧にありがとうございます。 お言葉、大切に頂戴いたします。 ブンデス様のご多幸を心よりお祈り申し上げつつ。 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2005-11-10 23:28
「true ではない」という程度の意味合い... ですか? 「true でない」は、十分な意味を持ちますよね。 確かに「偽」になる条件がいくつか存在するメソッドはあるでしょう。 ただ「真」でないというのは確かで、それで十分である場合に使いますよね。 「偽でかつ、xx な状態にある」まで表現してはいけません。 それを表現したいならば、ステータスで返すことになります。 また、このステータスを実装するために、 ひとつの検証メソッドに対して 2 つ以上のプロパティで、 そのステータスを表現するのは混乱の元です。
上記の理由から、偽が信用できない (偽になってしまった原因までも取得したい) ならば、 やはり、ブール値で返すメソッドは書くべきじゃないですよね。 偽で返ってきた理由に「例外」があるとすれば、それは例外処理の役目で、 「false が信用できない」には結びつきません。
引用された私の投稿の後に、がるさんが記述されているようで... これもまたタイミング悪かったみたいですね。(;_ _)
これは、ちょっと書き方がまずかったです。 「0 が真になることはないでしょう?」という結論に結びついていませんね。(^-^;) -1 は、無理に「この値だ」と表現した場合の話ですが、 大切なのは、先にも書いたように、"FALSE 以外は TRUE" という考えです。 「論理値」を「数値」で表そうとすることが無意味だということも書きました。
私もプログラマの端くれなので、そこそこの言語は触っており存じています。 C の場合は「TRUE」「FALSE」を自分で定義して、Is 〜 Has 〜なメソッドでは必ず使うようにしてます。 2 値以上の意味を持つ「ステータス」を返す場合は、 STATUS_SUCCESS, STATUS_WARNING, STATUS_ERROR... と、先頭名を仮想的にグループとした定数を作ります。
「0 が成功、失敗した場合は 0 以外の値を返す」という戻り値は、 概念的に「真」「偽」を表すブール値ではありませんよね? これは、ステータスを返すメソッドであり、ブール値を返しているわけではないです。 また、C にそのような関数があるのは、判っていることなのですが、 こちらは "Java" Solution 会議室で、ブール値を使う場合の話をしています。 C にブール値がないことを例に出して「false は、はっきりしない」理由にはなりません。 どうして、がるさんは「既存の関数」を例に持ち出したのでしょうか? 今までの話の流れ的には、"自作の検証メソッドの戻り値" の話をしているはずです。 C の既存の関数の戻り値が「はっきりしないことが多い」ことを "例" として出して、 「true は信用できるが false は信用できない」というのは厳しいのではないでしょうか? 自作のメソッドであれば、C であっても「false は、はっきりしない」にはなりません。 もし、false がはっきりしない検証メソッドがあるとすれば、それは仕様的にまずいのでは?
と、がるさんも「これは良くない」と理解されているのに何故なのでしょうか?
「想定外」は「例外」になりませんか? 例外の場合は評価すらしてはいけませんよね? これは、3 値にはなりませんよね? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2005-11-11 00:08
今まではとても尊敬していたのですが、このスレの流れにはびっくりです。 本当にこのような実装を行っているのですか? ステータスが1個増えるたびに継承クラスを作るということは、ステータス が10個増えたら10個の継承???
状況次第で、今回は楽をしようとした実装とのことですが、 ここで継承を使ったら、呼び出し元がインスタンス化するクラスを変更する ことになり、却って手間がかかることになるような気がするのですが・・・ そのような用途で継承をした場合、クラスの名前は何になるんでしょ。 もしや本当に_1、とか_2とかを付けていたりします? | ||||||||||||||||||||||||||||||||
|
投稿日時: 2005-11-11 01:52
どもです。がるです。
えっと。実際問題ケースbyケースです。 基本的には元クラス書き換えたほうが圧倒的に 楽だしそれが普通だと思うのですが。 稀に「ステータス2つの状態でのチェック」と 「ちょっと条件が増えてステータス3つの状態で のチェック」と…ってのが混在するような 要求がある場合もあって。 そういうときには継承クラス作るです。 # もちろん、この状態でなお「元クラスを # 修正する」手段は選択可能です。 …という例外もあるよという話ですが。 そういう特殊な事情がなければ、素直に 元クラスに手をいれてテストして…っていう 流れに普通に乗っけます。 幸か不幸か、XPが割合に好きな人間なので、 原則、各クラスごとにテストモジュールが 出来上がっているのが普通なので。 ちなみに前回の書き込みで継承を使ったのは 「ただでさえ長文なので少しでも減らしたい」 から、なだけです(苦笑
というわけで、楽云々は、基本的には「掲示板で書く」 という制約下の話です。もちろん、業務状況に よっては「業務的に楽をするため」にやることも ありますが。
いやさすがにそのような名前は付けないです(苦笑 このネーミングも「掲示板」だから、ですね。 # まぁ講座書くときとかそんな風によく名前 # つけますが :-P 前述のケースの場合、どこどこの部署の何々で使う、みたいな 目的が割合にはっきりとしてたので、その辺の名目を 英語表記で作ってクラス名にしていた記憶があります。 以上。 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2005-11-11 02:09
まさか、俺に返信が来るとはな(藁
嘘つくな。 キミ負けたくなくて必死じゃないか。 ごまかしても皆わかってるぞ。
勝手にルールを自分で決めて、「勝ちました」かよ。 そんなわけねーだろ。 誰が見たってお前の負けだよ。
だから、キミそんなこと思ってねーだろ。 本当に「ご親切」だと思ってるんなら 書込みばっかりやってないで仕事すれば?
キミに祈られると逆に不幸になりそうで怖いです。 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2005-11-11 09:40
なるほど、確かにあんまり長いと読むのが辛いですね。 ただ、その分誤解を招きやすくなることもあるので、注意が必要だと感じました。
うーん、 どこどこの部署の何々で使う みたいなクラス名を付けてしまうと、拡張性、再利用性がまったく 無くなってしまうような気がしますが、どうなんでしょうか。 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2005-11-11 10:09
すいません、これだけ...
継承したクラスを xx 専用だという名目にするということですね。 やむなくやるにしても、package (J) か、namespace (.NET) などにしないのでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2005-11-11 10:27
またブンデス出てきたのか。
いいから早く宿題終わらせろよ(藁
お前のほうが十分必死だけどな(藁 話に乗れないんならノコノコ出てくるなよ。 そもそもお前に「皆」「誰が見たって」とかいう言葉を使われると皆が同レベルと思われて、虫唾が走るんだがな。
なら、不幸になってくれ。 そのほうが俺は嬉しいから(藁 [ メッセージ編集済み 編集者: 未記入 編集日時 2005-11-11 10:28 ] |