2012-01-20 39 views
5

Chúng ta có chu kỳ sau trong mã:biến theo từ khóa như C#

foreach (var event in events) 
{ 
... 
{ 

Trong cources chúng ta không thể đặt tên cho biến "sự kiện" như nó là một từ khóa. Cách nào phù hợp hơn trong trường hợp này: sử dụng tiền tố @ (@event) hoặc sử dụng tên khác như "currentEvent"?

+1

Cá nhân tôi sẽ cấu trúc lại mô tả chi tiết hơn, nhưng nếu tôi làm một cái gì đó như P/Invoke bindings và tham số được gọi là 'event', Tôi sẽ biến '@ event' thành nhất quán với phương thức gốc. –

Trả lời

15

Chắc chắn sử dụng tên khác.

Biến từ khóa là tính năng thực sự thú vị của C# nhưng chúng nên được sử dụng cho khả năng tương tác.

3

Vì tiền tố @ quá hiếm, điều này có thể gây nhầm lẫn cho các nhà phát triển khác. Tôi sẽ khuyên bạn nên sử dụng một tên biến khác ở đây.

Điều này khác khi tên là một phần của giao diện công khai của bạn. Trong trường hợp đó, bạn muốn sử dụng đúng tên, ngay cả khi đó là một từ khóa. Tuy nhiên, nếu bạn làm điều này bạn làm cho nó khó khăn cho những người muốn sử dụng giao diện của bạn, vì họ phải sử dụng @ ở khắp mọi nơi.

1

Cá nhân, tôi khuyên bạn nên đặt tên nó dựa trên ngữ cảnh của nó và nội dung đại diện cho nó. Nếu nó đại diện cho một sự kiện sẽ được thực thi, tôi có lẽ sẽ đặt tên nó là executableEvent, làm ví dụ.

Cách khác, nếu bạn chỉ sử dụng nó cục bộ để gọi từng sự kiện - ví dụ - có thể chấp nhận cho nó một phiên bản viết tắt của tên như evt. Thông thường tôi sẽ bỏ phiếu chống lại loại quy ước đặt tên này, nhưng nếu nó chỉ là tạm thời và địa phương những người khác có thể coi nó là tốt.

1

Cá nhân tôi không thích sử dụng @ và _ làm tiền tố chỉ để có thể sử dụng từ khóa. Tôi nghĩ rằng trong hầu hết các trường hợp, bạn có thể đổi tên nó, hoặc là:

foreach (var uiEvent in uiEvents) 
{ 
... 
{ 

(cụ thể hơn)

hoặc

foreach (var evt in events) 
{ 
... 
{ 

(một số loại viết tắt)

+0

Vâng, tránh '@'. Nó được sử dụng như một tiền tố ở nơi khác và có thể gây nhầm lẫn cho mọi người. Tôi; Tôi bỏ qua nguyên âm: 'foreach (var evnt in events)' – BaBu

5

tôi sẽ thường giật lùi bằng cách sử dụng tiền tố @. (Đôi khi tôi sử dụng nó để đặt tên cho tham số đầu tiên trong một phương thức mở rộng @this, nhưng thậm chí là khá hiếm.)

Xem bạn có thể nghĩ ra cách khác để mô tả sự kiện không. Đây có phải là một sự kiện cụ thể là loại không?

1

Tôi sẽ sử dụng e, _event hoặc currentEvent

0

tôi thực sự sẽ tư vấn cho bạn chống lại sử dụng @ vì vậy bạn phải chọn tên khác. Giống như một số đã nói, bạn có thể nhập tên của mình vào một loại sự kiện cụ thể hơn

Các vấn đề liên quan