0

イベントハンドラと言えばなんとなくonXXXというイメージがありますが、onが何を意味しているのか
よくわかっていません。

現在作成している機能のメソッド名の命名に悩んでおり、onを用いるのが妥当なのか気になったため質問をすることにしました。
コールバックっぽいメソッドは何となくonXXXにしたくなってしまいますが、コールバック = onというわけもないような気がしています。

user3270390
  • 1,088
  • 3
  • 17
  • 34

1 Answers1

2

on は英語的なニュアンスではしばしばタイミングを表す場合に使われるようです。
たとえば onClick なら「クリックしたとき」という意味が生じるでしょう。
しかしこれはイベントの名前であって機能の名前ではありません。

たとえば GUI フレームワークなら操作が中心になるので「クリックしたとき」という名前が妥当なのかもしれませんが、より高い抽象度ではクリックしたときに何が起きて欲しいのかが名前になっていたほうが分かりやすいということもあるでしょう。
実態が同じであってもそれをどのような視点で見るかによって妥当な名前が違うということもあるということです。

結局のところは場合によるとしか言えません。
明瞭な規則で場合分けされているわけでもありません。
言語や分野でなんらかの習慣があるのであればそれに従うのが好ましいですし、少なくともひとつのプロジェクトの中ではなんらかの一貫した規則を持っているべきですが、一般論としてこうあるべきと言えるような基準はありません。

齊藤敦志
  • 1,298
  • 1
  • 8
  • 12