2009-03-16 7 views
6

Дважды на этой неделе я читал, как люди пишут, что событие (.net) было «брошено». Я всегда думал, что глагол для использования с событиями - либо «огонь», либо «рейз». Я думал, что «брошен» используется для исключений, но не для событий («рейз» может быть использован для обоих).Терминология - события могут быть «брошены»?

Осталось ли кому-то еще смущать события, которые нужно «бросить»?

+2

Нет, их нельзя бросать, но, подобно гномам и хоббитам, их можно бросить. –

ответ

18

Согласен, события подняты/запущены/запущены. Если что-то брошено, это исключения.

+0

Я думал о том, чтобы говорить истерики и исключения! –

+0

Болен ли говорить хомяков? – Xetius

3

Raise - это глагол, который, как представляется, наиболее распространен в документах MSDN.

Я согласен - если я слышу, что что-то было брошено, я предполагаю, что это исключение. Язык C# делает этот очень явный бросок зарезервированным словом, используемым с исключениями.

1

Обычно вы слышите, как люди обращаются к событиям, которые были уволены или подняты. Но, на мой взгляд, бросить все отлично. Ключ, если они говорят, что событие было брошено.

Не пытайтесь разделить на многие волоски. Наша профессия достаточно сложна с тысячами технологий, не говоря уже о том, чтобы думать о крошечных нюансах того, как мы общаемся.

+0

+1 - Пока вы поняли, что человек хочет сказать, тогда вас не должно волновать. –

5

Еще один термин - «Вызывается». Поскольку события являются дельтами, они вызываются, чтобы называть их, но да, общий термин либо «уволен», либо «поднят».

Кроме того, использование слова «бросок» в этом контексте сбивает с толку, поскольку оно будет смущено ключевым словом «бросить». Вы не можете выбросить событие с ключевым словом throw.

3

Хотя возможно, что throw вещи, не являющиеся исключениями, совершенно ясно, что throw предназначен только для использования с исключениями. Raise действительно является термином, который вы использовали бы для обозначения того, что произошло событие.

3

Нет, их нельзя бросать, но, подобно гномам и хоббитам, их можно бросить.

1

Я бы сказал, что вы опубликовать Событие.

2

Я думаю, что события могут быть брошены, но это некомпетентное кодирование, если вы действительно это делаете.

Позвольте мне объяснить. В C++ вы можете использовать любой тип. Вы можете бросить булевы. Вы можете бросить enum error_type. Вы можете бросить std::exception. И, конечно, вы можете бросить struct XEvent.

Но вы, скорее всего, делаете что-то ужасно неправильно или ужасно сбиваете с толку (и, следовательно, ошибаетесь), если вы действительно это делаете.

Я все не перегружаю значения слов, чтобы избежать двусмысленности (там, где это не нужно).

Я думаю, что «бросать» обычно понимают, что подразумевают разворачивание стека вызовов (если у вас есть четко определенный стек, но я думаю, что он может быть распространен на односвязный список неограниченной степени, т. Е. дерево родительских указателей). Давайте придерживаться этого.

Слово «рейз» также используется для сигналов. Было бы неплохо, если бы можно было не использовать это для событий.

Я предпочитаю «срабатывать», когда происходит событие («только событие onMouseOver»), и, возможно, «было сигнализировано», когда слушатель событий уведомляет потребителя («событие XMouseMotionNotify было передано клиенту»).