Trong bài viết Hằng số (Hướng dẫn lập trình C #) , Microsoft đưa ra ví dụ sau:
class Calendar3
{
const int months = 12;
const int weeks = 52;
const int days = 365;
const double daysPerWeek = (double) days / (double) weeks;
const double daysPerMonth = (double) days / (double) months;
}
Vì vậy, đối với các hằng số, có vẻ như Microsoft đang khuyến nghị sử dụng camelCasing
. Nhưng lưu ý rằng các hằng số này được xác định cục bộ .
Có thể cho rằng, việc đặt tên các hằng số nhìn thấy bên ngoài được quan tâm nhiều hơn. Trong thực tế, Microsoft ghi lại các hằng số công khai của nó trong thư viện lớp .NET dưới dạng các trường . Dưới đây là một số ví dụ:
Hai cái đầu tiên là ví dụ về PascalCasing
. Phần thứ ba dường như tuân theo các Công ước viết hoa của Microsoft cho một từ viết tắt gồm hai chữ cái (mặc dù pi không phải là một từ viết tắt ). Và cái thứ tư dường như gợi ý rằng quy tắc cho một từ viết tắt hai chữ cái mở rộng thành một từ viết tắt hoặc một từ định danh, chẳng hạn như E
(đại diện cho hằng số toán học e ).
Hơn nữa, trong tài liệu ước vốn hoá của mình, Microsoft rất trực tiếp khẳng định rằng tên vùng nên được đặt tên qua PascalCasing
và đưa ra các ví dụ sau đây cho MessageQueue.InfiniteTimeout và UInt32.Min :
public class MessageQueue
{
public static readonly TimeSpan InfiniteTimeout;
}
public struct UInt32
{
public const Min = 0;
}
Kết luận: Sử dụng PascalCasing
cho các hằng công cộng (được ghi lại dưới dạng const
hoặc static readonly
các trường).
Cuối cùng, theo như tôi biết, Microsoft không ủng hộ các quy ước đặt tên hoặc viết hoa cụ thể cho các định danh riêng như trong các ví dụ được trình bày trong câu hỏi.