在 ASP.NET 中命名会话变量是否有任何约定?
我想到的选项:
Session["myValue"] = "value";
Session["MyValue"] = "value";
Session["my_value"] = "value";
Session["MY_VALUE"] = "value";
在 ASP.NET 中命名会话变量是否有任何约定?
我想到的选项:
Session["myValue"] = "value";
Session["MyValue"] = "value";
Session["my_value"] = "value";
Session["MY_VALUE"] = "value";
IMO,应用 DRY 原则很重要:
public class SessionVariables
{
public const string MyStoredSessionVariable = "MyStoredSessionVariable";
...
}
进而:
Session[SessionVariables.MyStoredSessionVariable] = ...
我认为您使用哪种字符串文字并不重要,只要它足够独特并且您以一致的方式进行操作,就像其他人提到的那样。
没有任何正式的命名约定,但您可以考虑使用枚举,这样您就没有任何字符串文字,这 1) 可以更容易地记住键的名称,并且 2) 不会出现运行时错误,因为您的密钥名称中不能有错字。
例如
public enum SessionKey
{
FirstName,
LastName,
BusinessId
}
然后做:
Session[SessionKeys.FirstName.ToString()] = "Rob";
或者自己创建一个 SessionHelper 类,使整个过程更加整洁:
public static class SessionHelper
{
public static void SetSessionKey(SessionKey sessionKey, object value)
{
HttpContext.Current.Session.Add(sessionKey.ToString(), value.ToString());
}
public static String GetSessionKey(SessionKey sessionKey)
{
return HttpContext.Current.Session[sessionKey.ToString()] as string;
}
}
}
没有什么比得上公约了。它是由开发人员共享或由项目团队制定的约定,以便每个人都可以轻松使用。
就像您提到的那样,我的组织使用带有下划线的大写字母。
通常这些约定是由团队决定的,以保持整个代码的一致性,但如果假设您正在扩展或自定义现有代码,那么最好遵循现有的书面代码正在遵循。另一件事是,如果您想决定遵循哪种约定,通常会遵循常量大写命名约定,否则遵循骆驼表示法以提高可读性。