Một đồng nghiệp vừa tạo cấu trúc sau trong C# (mã ví dụ được đơn giản hóa). Mục tiêu của ông là rút ngắn ký hiệu cho tất cả các chuỗi được xác định trước trong phần còn lại của mã.C# Lớp tĩnh so với cấu trúc cho chuỗi được xác định trước
public struct PredefinedStrings
{
public const string VeryLongName = "Very Long Name";
public const string AnotherVeryLongName = "Another Very Long Name";
public const string TheLastVeryLongName = "The Last Very Long Name";
}
public static void MethodThatUsesTheNames()
{
Console.WriteLine(PredefinedStrings.VeryLongName);
Console.WriteLine(PredefinedStrings.AnotherVeryLongName);
Console.WriteLine(PredefinedStrings.TheLastVeryLongName);
}
Mặc dù nó có vẻ làm việc tốt cho anh ta, tôi không thể ngừng tự hỏi liệu anh ta nên đã sử dụng một lớp tĩnh thay vì một struct hoặc nếu có một cách thanh lịch hơn để đạt được điều này.
Cách ưa thích để làm điều này là gì? Cũng vui lòng giải thích lý do.
Kudo với đồng nghiệp của bạn! Đồng nghiệp của tôi hiếm khi sử dụng các const và chúng tôi có các chuỗi ký tự xâu chuỗi rải rác khắp mã của chúng tôi! lol Tôi nghĩ rằng, mặc dù, lớp tĩnh là loại tiêu chuẩn. –
Tôi cũng đang nghĩ đến việc làm điều này nhưng cảm thấy tôi đang quá kỹ thuật. Tôi thường có một cuộc đình công 2/3 và cách tiếp cận refactor trong đó tôi scatter chuỗi literals ban đầu sau đó một khi tôi cần cùng một chuỗi một lần nữa trong một phương pháp hoặc lớp sau đó tôi sẽ giải nén nó vào một lớp tĩnh.Nó có thể là một chút tẻ nhạt mặc dù. – ozzy432836