0

ASP.NET でセッション変数に名前を付ける規則はありますか?

私の頭に浮かぶオプション:

Session["myValue"] = "value";
Session["MyValue"] = "value";
Session["my_value"] = "value";
Session["MY_VALUE"] = "value";
4

5 に答える 5

3

IMO、DRY 原則を適用することが重要です。

public class SessionVariables
{
    public const string MyStoredSessionVariable = "MyStoredSessionVariable";
    ...
}

その後:

Session[SessionVariables.MyStoredSessionVariable] = ...

他の人が述べたように、それが十分に一意であり、一貫した方法でそれを行う限り、使用する文字列リテラルはそれほど重要ではないと思います。

于 2012-05-08T12:11:18.367 に答える
3

正式な命名規則はありませんが、列挙型を使用して文字列リテラルを持たないようにすることを検討できます。これにより、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;
        }
     }
}
于 2012-05-08T12:12:42.873 に答える
2

コンベンションのようなものはありません。開発者によって共有されたり、プロジェクト チームによって構成されたりして、誰にとっても簡単になる慣習です。
おっしゃるとおり、私の組織ではアンダースコア付きの大文字を使用しています。

于 2012-05-08T11:58:31.230 に答える
0

キャメルケースは良いオプションです。

Session["MyValue"] = "値";

キャメルケース参照:

http://en.wikipedia.org/wiki/CamelCase

于 2012-05-08T11:58:21.413 に答える
0

通常、これらの規則はコード全体で一貫性を保つためにチームによって決定されますが、既存のコードを拡張またはカスタマイズする場合は、既存の記述されたコードが従うようにすることをお勧めします。もう 1 つのことは、従うべき規則を決定したい場合、通常は定数の場合は大文字の命名規則に従い、それ以外の場合は読みやすくするために Camel 表記法に従います。

于 2012-05-08T12:03:15.090 に答える