2011-06-21 31 views
6

Khi chia lớp ra thành các tệp, tôi tự hỏi quy ước đặt tên là gì đối với các tệp lớp chỉ chứa các enums. Chúng có nên khớp với tên enum, giống như bất kỳ lớp nào khác không, hoặc chúng nên được gắn với 'Enum' sao cho nhà phát triển biết rằng tệp chỉ chứa một enum?Tên tệp lớp Enum có nên được thêm vào 'Enum' không?

Ví dụ:

namespace MyCompanyName.MyApplication 
{ 
    public enum Colors 
    { 
     Red, 
     Blue, 
     Green, 
     Yellow 
    } 
} 

Bạn có nói các tập tin chứa mã trên nên được đặt tên là 'Colors.cs' hoặc 'ColorsEnum.cs'? Ngoài ra, có lẽ có một quy ước đặt tên được chấp nhận khác cho các tệp như vậy?

+0

No. Bạn đã chọn ví dụ tồi tệ nhất có thể, không ai hiểu tại sao Colors.Orange không hợp lệ. Gọi nó là ColorsEnum không giúp được gì. Nhưng tất cả được sắp xếp bởi IntelliSense. Bạn có thể giả định nó được sử dụng. –

Trả lời

5

Trước hết, đây là điều hoàn toàn tùy thuộc vào cá nhân/nhóm.

Điều đó đang được nói:

Cá nhân tôi sẽ đặt tên là Colors.cs. Điều này giữ tên tệp tương ứng với tên loại. Khi tôi đang làm việc trên API, nếu "Màu sắc" là một tập hợp cố định của những thứ được đại diện bởi một enum, tôi có thể biết rằng, và sẽ không có nhầm lẫn.

2

Còn việc tạo thư mục có tên Enums và đặt tên tệp là Colors.cs thì sao?

+0

Tôi đồng ý với điều này. Nếu một tập tin chỉ chứa một khai báo đối tượng đơn, tôi thấy hữu ích khi tên tập tin giống như đối tượng. – Derrick

7

Tên tệp theo ý kiến ​​của tôi phải giống với tên của Enum, mà theo - Enum Naming guidelines nên không có hậu tố Enum. Ngoài ra, hướng dẫn cho thấy enum của bạn nên là số ít vì vậy hãy tính cả hai vào tài khoản phải là Color.cs

1

Tạo thư mục có tên Enumerations, Enums hoặc mô tả gì đó là đủ. Ngoài ra bạn có thể làm theo các C# đặt tên tiêu chuẩn mà nói:.

"Tên của Enumerations Không sử dụng một tiền tố vào tên giá trị liệt kê Ví dụ, không sử dụng một tiền tố chẳng hạn như quảng cáo cho enumerations ADO, hoặc rtf cho người giàu enumerations văn bản, và vân vân.

này cũng ngụ ý rằng bạn không nên bao gồm tên kiểu enumeration trong những cái tên giá trị liệt kê. sau các mã ví dụ chứng tỏ không đúng cách đặt tên giá trị của một liệt kê. đang

C# như sau

public enum Teams 
{ 
    TeamsAlpha, 
    TeamsBeta, 
    TeamsDelta 
} 

Tham khảo: Names of Classes, Structs, and Interfaces

+0

Tôi biết rằng tên loại không được chứa tiền tố hoặc hậu tố, nhưng câu hỏi này đặc biệt yêu cầu liên quan đến tên tệp. –

+0

Bạn không thể chỉ sao chép nội dung của người khác và phân phối lại nó như thế này, đó là ý nghĩa của “Bản quyền X, tất cả các quyền”. Bằng cách đăng trên Stack Exchange, bạn tuyên bố rằng bạn có quyền phân phối nội dung bài đăng theo giấy phép [CC BY-SA] (http://creativecommons.org/licenses/by-sa/3.0/). Vui lòng viết câu trả lời theo cách của bạn (và có thể liên kết đến một trang web bên ngoài để biết thêm thông tin). – Gilles