ネタ元 → ぼけ損ねたエントリにつっこみ損ねた件
イベントハンドラ名は
イベント センダ名、アンダースコア、およびイベント名を組み合わせた
標準名前付け規則を使用します。(あくまで推奨です。)
例: Private Sub member_DisplayNameChanged(....)
ゴーマンかますのを許していただけるなら、
「こんなケッタイな名前付け規則を推奨すんなよ」と。
たとえば、だ。腕をマムシに噛まれたとするわ。
class 兵士 : 国民 {
public 兵士() {
腕.Onマムシに噛まれた += new 噛まれたハンドラ(腕_マムシに噛まれた);
}
private void 腕_マムシに噛まれた() {
傷口をナイフで切り裂き
急いで口で吸え
}
}
...違うだろ。そのメソッド名は違うだろ。
メソッド名は"なにをする"かを表す名前であるべきで、
"デキゴト"の名前であってあっちゃならんだろ。
class 兵士 : 国民 {
public 兵士() {
腕.On毒蛇に噛まれた += new 噛まれたハンドラ(対毒蛇応急処置); // ※
}
private void 対毒蛇応急処置() {
傷口をナイフで切り裂き
急いで口で吸え
}
}
でなくちゃならんだろ。
こうしておけば腕噛まれようが太腿噛まれようが、
マムシが噛もうががハブが噛もうがメソッド名は安定するわな。
"デキゴト"とそれが起きたら"なにをする"かの対応は
イベントとハンドラを対応付けた※んとこで表現されてるやんか。
void ボタン_押された() { 歌う }
なんてコード書いといて、お客さんのわがままで歌わす条件が
コロコロ変わるたんびにメソッド名を書き換えろってか!?
# と、キレーゴトを抜かしてみる ^^;