2009-08-12 42 views
6

Trong C# (. NET), chuẩn "định dạng" thông thường là gì?Các chuẩn C# "định dạng" là gì?

Ví dụ: đối với tên thông số, cho đến nay tôi nhận thấy camelCase không có tiền tố, đúng không? Đối với tên đối tượng, camelCase và không có tiền tố, phải không?

Đối với không gian tên, lớp, chức năng và thuộc tính, chữ cái đầu tiên của từ được viết hoa và không có tiền tố, phải không (lại)?

Đối tượng "tạm thời" được định dạng như thế nào?

Ví dụ:

namespace TestNamespace 
{ 
    class MyOwnCoolClass 
    { 
     MyOwnCoolClass(int length, BinaryWriter writer) 
     { 
      BinaryWriter tempbw = new BinaryWriter(length); 
      return tempbw; 
     } 
    } 
} 

(Lưu ý: Mã này là không hợp lệ, tôi biết, nó chỉ là để chứng minh định dạng). Cảm ơn!

+1

Tìm "Mã hoàn thành 2" của Steve McConnell -> http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?ie=UTF8&s=books&qid=1250101785&sr = 8-1 – Zack

Trả lời

13

Nếu bạn sử dụng StyleCop, bạn sẽ nhận được sự nhất quán tốt với Microsoft .NET Design Guidelines for Developing Class Libraries. StyleCop cũng thực thi một số điều bổ sung như khoảng cách, thứ tự các mục trong một tệp và đặt tên các phần tử mã không công khai.

+0

+1 lấy các từ ngay từ ngón tay của tôi! – curtisk

+0

Tôi không có kế hoạch sử dụng StyleCop, nhưng liên kết sẽ điền chính xác những gì tôi cần. Cảm ơn bạn! – Lazlo

5

Hướng dẫn đầy đủ từ Microsoft có thể được tìm thấy trong Class Design Guidelines. Đó là cũ, nhưng tôi chưa tìm thấy bất cứ điều gì cập nhật trên MSDN, và tôi tin rằng nó vẫn là tiêu chuẩn thiết lập đề nghị

+0

Xem bài đăng của tôi để có liên kết đến các nguyên tắc được cập nhật. :) –

+0

Đây là liên kết được cập nhật: http://msdn.microsoft.com/en-us/library/ms229042.aspx –

+0

Cảm ơn bạn đã trả lời, nhưng câu trả lời của 280Z28 được trang bị câu hỏi của tôi nhiều hơn. :) Tuy nhiên, +1 – Lazlo

0

tôi sẽ xem xét những điều sau Coding Practices.

Nó bao gồm hầu như tất cả mọi thứ mà tôi nhìn thấy trong hầu hết các mã C# mà tôi đọc ... bao gồm tiền tố yếu tố UI. Cá nhân tôi không tuân theo nó với lá thư nhưng nó cho bạn ý tưởng tốt về tiêu chuẩn chung và thực hành tốt/xấu.

0

Có tham chiếu đến các tiêu chuẩn mã hóa của Microsoft. Visual Studio 2005 và 2008 có một công cụ phân tích mã được xây dựng trong đó sẽ hướng dẫn bạn thông qua các tiêu chuẩn mã hóa và cũng chỉ cho bạn hướng tới một số thực hành tốt nhất. Nhấp chuột phải vào dự án của bạn và nhấp vào "Chạy phân tích mã trên dự án".

Bất cứ khi nào một phần mã không hợp lệ hoặc ít được ưu tiên được phát hiện, nó sẽ không chỉ cảnh báo bạn, mà chỉ cho bạn một Tài nguyên trợ giúp trên trang FxCop.

0

MSDN: Naming Guidelines

tôi có xu hướng đi theo cách .NET framework được mã hóa do đó, mã của tôi là phù hợp với .NET Framework.

Tùy chọn cá nhân duy nhất của tôi là đặt tên biến lớp mà tôi sử dụng tiền tố "m_" trước mỗi biến như private int m_count.

2

Tôi đã viết these guidelines trong năm qua sử dụng các nguyên tắc khác nhau từ MSFT và các nguyên tắc được chấp nhận rộng rãi khác. Bạn có thể muốn kiểm tra xem nó ra, nó cũng có những thứ khác, như thiết lập dự án và không có điều gì, nhưng tất cả các hướng dẫn đặt tên cũng có trong đó.

chỉnh sửa: Tôi nhận thấy rằng đây là phiên bản cũ, tôi có phiên bản mới mà tôi đã viết trong một thời gian và nó chứa rất nhiều tính năng, nhưng chưa xong. Tôi sẽ cập nhật bài đăng này khi nó được xuất bản mặc dù.

+1

Là một nhà phát triển solo chưa bao giờ có ai cho anh ta bất kỳ hướng dẫn hay công ước nào tôi thấy điều này rất thông tin. Tôi tò mò mặc dù làm thế nào bạn sẽ đối phó với 'var' và các trang mã của một mẫu. Tôi thấy phần "Bố cục tệp nguồn" và tôi tự hỏi điều đó có đúng với các trang mã WinForm không. Ngoài ra, trong "Kiểm soát và thành phần", bạn nói rằng 'ux' nên được sử dụng để ngăn chặn thay đổi mã hóa sau này. Có phải đó, sau đó, cùng một tâm lý để sử dụng var? Cảm ơn vì doc! –

+0

Vâng, cũng vậy với các biểu mẫu. Phiên bản mới sẽ chứa nhiều tính năng như thế. Tôi thường kiểm soát khu vực sự kiện tách biệt với phương pháp. Thông thường các biểu mẫu của tôi không bao giờ có các phương thức, bởi vì tôi luôn tạo một lớp dịch vụ tách biệt với lớp UI. Tôi muốn hoàn thành phiên bản mới nhất nhanh hơn một chút, vì vậy tôi sẽ đăng lại ở đây khi được xuất bản. Mở to mắt cảnh giác. ;) Cảm ơn bạn đã nhận xét tuyệt vời bằng cách này! –

+0

@Refracted Paladin: Chúng tôi sử dụng tiền tố "ux" để ngăn chặn việc thay đổi Kiểm soát giao diện người dùng sau này trong quá trình phát triển. ví dụ. Công ước Hungary sử dụng có nghĩa là nếu bạn thay đổi một hộp văn bản thành một hộp kết hợp, bạn sẽ thay đổi tên từ "txtMyTextBox" -> "cmbMyComboBox" nếu bạn là người gắn bó để đặt tên cho các quy ước. Ngoài ra, "m_" và "ux" tiền tố biến nhóm và điều khiển trong Intellisense. – Zack

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