2009-03-16 2 views
6

이번 주에 두 번, 나는 사람들이 "이벤트"(.net)가 "던져졌다"는 글을 읽었습니다. 나는 항상 이벤트와 함께 사용하는 동사가 "불"또는 "인상"이라고 생각했습니다. 나는 "throw 된"것이 예외가 아니라 이벤트 ("raise"는 둘 중 하나에 사용될 수 있음)에 사용되었다고 생각했습니다.용어 - 이벤트를 "발생"시킬 수 있습니까?

"던져 질 이벤트"가 혼란스럽지 않습니까?

+2

아니요, 던져 질 수는 없지만 드워프와 호빗처럼 던져 질 수 있습니다. –

답변

18

동의합니다. 이벤트가 발생/실행/실행됩니다. 어떤 것이 던져지면 예외가됩니다.

+0

나는 울부 짖음과 예외를 말하는 것을 생각했다! –

+0

햄스터를 말하는 것이 아플까? – Xetius

3

Raise는 MSDN 문서에서 가장 일반적인 것으로 보이는 동사입니다.

나는 동의한다 - 나는 무언가가 던져 졌다고 들었을 때 예외라고 생각한다. C# 언어는 그 중 하나를 매우 명시 적으로 만듭니다. throw는 예외와 함께 사용되는 예약어입니다.

1

일반적으로 사람들은 해고되거나 제기 된 이벤트를 참조합니다. 하지만 내 의견으로는 완벽하게 훌륭합니다. 그들이 사건이 발생했다는 것이 핵심이다.

많은 머리카락을 사용하지 마십시오. 우리의 직업은 수천 가지 기술로 충분히 복잡하여 의사 전달 방법에 대한 작은 뉘앙스를 생각할 필요가 없습니다.

+0

+1 - 그 사람이 무슨 말을하는지 분명히 밝혀야 만 걱정할 필요가 없습니다. –

5

다른 용어는 "호출 됨"입니다. 이벤트는 델리게이트이기 때문에 호출하기 위해 호출되지만, 일반적인 용어는 "해고 됨"또는 "제기 됨"입니다.

또한 "throw"키워드와 혼동되기 때문에이 문맥에서 "throw"라는 단어를 사용하는 것은 혼란 스럽습니다. throw 키워드로 이벤트를 throw 할 수 없습니다.

3

throw 예외는 아니지만, 예외가있는 경우에만 throw을 사용해야한다는 것이 분명합니다. Raise은 실제로 이벤트가 발생했음을 나타 내기 위해 사용할 용어입니다.

3

아니요, 던져 질 수는 없지만 드워프와 호빗처럼 던져 질 수 있습니다.

1

나는 이벤트를 게시합니다.

2

이벤트가 발생할 수 있다고 생각하지만 실제로 코딩하면 무능한 코딩입니다.

설명해 드리겠습니다. C++에서는 모든 유형을 throw 할 수 있습니다. 불법 복제품을 던질 수 있습니다. enum error_type을 던질 수 있습니다. std::exception을 던질 수 있습니다. 물론 struct XEvent을 던질 수 있습니다.

하지만 실제로는 끔찍하게 잘못되었거나 끔찍하게 혼란 스럽습니다.

저는 모호함을 피하기 위해 (단어가 존재할 필요가없는) 단어의 의미를 과부하시키지 않았습니다.

"throw"는 일반적으로 스택 스택 해제를 의미하는 것으로 이해한다고 생각합니다 (잘 정의 된 스택이있는 경우에 대한 것이지만 무한대 속 도의 단일 링크 된 목록으로 확장 될 수 있다고 생각합니다. 부모 포인터의 트리). 그것에 충실합시다.

"raise"라는 단어가 신호에도 사용됩니다. 이 이벤트를 이벤트에 사용하는 것을 피할 수 있다면 좋을 것입니다.

이벤트가 발생했을 때 ("onMouseOver 이벤트가 방금 시작되었습니다"), 이벤트 수신기가 소비자에게 알릴 때 ("XMouseMotionNotify 이벤트가 클라이언트에 신호를 보냈습니다") "신호를 받았다"는 경우를 선호합니다.