- - PR -
シグネチャが同一なイベントのハンドラプロシージャ
1|2|3|4
次のページへ»
投票結果総投票数:47 | |||
---|---|---|---|
すべき | 0票 | 0.00% | |
コード量が減るのでOK | 2票 | 4.26% | |
考え方がおかしいだろ | 41票 | 87.23% | |
気にすることではない | 4票 | 8.51% | |
|
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-09-27 15:42
お世話になっております。
例えば、ClickとDoubleClickはシグネチャが同一なわけですが 次のようなイベントプロシージャを認めますか?
私は「きっかけ」が異なるのでそうなってたら「一緒にするな」と言うほうですが 今の請負のコーディング標準が「まとめろ!」となっていたので ご意見を伺いたいと思いました。 ※実例 リストビューのダブルクリック時に明細の変更ボタンが押されたのと同じ挙動する仕様で リストビューのダブルクリックにbtnModify.PerformClick()を書いていたら 「まとめろ!」と言われた。 #実例を追加 16:38 [ メッセージ編集済み 編集者: まどか 編集日時 2006-09-27 16:37 ] | ||||
|
投稿日時: 2006-09-27 15:49
社内のフレームワーク的なものを作ろうとした場合に同じ話が出てきたりしますね。
利用しているコンポーネントによっては、同じシグネチャで別イベント名があったり その逆(別シグネチャで同じイベント名)もあったりしますね。 目的が「コーディングをまとめる」ということであればOKかな、と個人的には思います。 #好き嫌いで言えばデフォルトで用意されているイベント名は使いたくないですが | ||||
|
投稿日時: 2006-09-27 15:57
「考え方がおかしいだろ」 に投票させて頂きました。 イベントの概念からすると違和感があります。(まどかさんと同じ意見です) ゆえに、個々のプロシージャから、同じメソッドを呼び出した方が良いと考えます。 逆にまとめた時の利点は、コードが簡素化できる程度のものと思っています。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-09-27 16:02
質問の意味を取り違えていたので削除・・・
違う名前(起こるタイミングが違う)のイベントを統合するのは許せないな。 [ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2006-09-27 16:04 ] | ||||
|
投稿日時: 2006-09-27 17:06
私は、リストビューのダブルクリックと明細の変更ボタンが押されたのと同じ挙動をするなら、まとめるという作り方もありかな〜と思います。 この「同じ挙動」という表現について誤解のないように説明しますが、 「リストビューのダブルクリックの時にAの処理をする」 「変更ボタン押下の時にAの処理をする」 というような仕様になっている場合はまとめちゃだめです。 これは、ユーザーがAの処理を指示する方法としてたまたまリストビューのダブルクリックとボタンの押下という2つの方法を割り当てているだけだからです。 「変更ボタン押下の時にAの処理をする」 「リストビューのダブルクリックの時に変更ボタンを押下と同じ挙動をする」 という仕様ならまとめるという方法もあり・・・かも。 私はやらないと思いますが。 | ||||
|
投稿日時: 2006-09-27 17:18
おっしゃりたいことは理解できますが、実際の例が思い浮かばない。。。です。 というか、それぞれのイベントハンドラがあるとして 片方でPerformClickを書いていい場合とだめな場合があるよ、ということですよね? [ メッセージ編集済み 編集者: まどか 編集日時 2006-09-27 17:20 ] | ||||
|
投稿日時: 2006-09-27 18:55
激しく同意します。 作ってる最中ならまだしも、直感的に解り難く変更があった場合にも余計な手間が かかりそうな気がします。 他人の書いたそんなソースを見たら激怒しそうな予感。 | ||||
|
投稿日時: 2006-09-27 19:02
前者は2つのイベント発生時にAの処理を行う、後者は2つのイベント発生時に同じ処理をすると言っていると思います。 前者は間接的であり、後者は直接的だと私は捉えました。 #上記は設計者の思惑と技術者の捉え方・スキルにより、多少違いが出るかも知れませんね。 しかしながら、あくまでもイベントの発生源は違うわけですから、Aメソッドを作成しそれを利用する方法が綺麗なコーディングと私は考えます。 #もしも、仕様変更等発生したらどうするのでしょうね?w |
1|2|3|4
次のページへ»