皆さんはシステム/プログラム内で使用する定数値についてどのような管理方法を取られているでしょうか。管理されていると思います。ついて書いてみたいと思います。単体テスト機能を使用しています。巷でよく見るソースよくあるプログラムソースの記述として以下の様なものを見ると思います。"HOGEHOGE";主な用途としては外部にデータ化するまでもないコード/名称の組み合わせを定数として管理するというものですね。こんなレベルの内容であれば確かにこれでもいい気はします。追加になるとか、説明という項目を追加したくなるとどうでしょうか?途端に面倒になりますね。変更漏れや追加漏れなどミスをしやすい内容になると思います。使用することが多いです。使用してもコードと名称の変換処理をなくすことはできず、内容の追加や変更に対して手間がかかりますね。カスタム属性を定義して名称などの追加情報を保持することができました。上でもこの方法をよく見掛けた気がします。拡張メソッドが使用可能となり、属性を使う記述はあまり見なくなりました。私的には少し疑問も感じています。・拡張メソッドを使用した記事を見るとほとんどの場合は拡張メソッド内にマジックナンバーが復活してしまっている。・拡張メソッド内で変換処理を記述してしまうと上記の「巷でよく見るソース」と大して変わらない。定義するよりも多くのコードを書いて拡張メソッドを使用する意味がありません(>;_<)なので、以下の様に記述することを考えてみました。派生クラスのコンストラクタから呼び出す。派生クラスのコンストラクタから呼び出す。付属の情報を持たせる方法とその使用方法を記述しています。付属の情報を持たせる方法とその使用方法を記述しています。コンテキストを取得または設定します。シンプルになったと思います。値に関連情報を色々持たせる方法について書いてみました。値の中身が判らないと困るらしいのですが、そんなこと意識しながらプログラミングしなければならないことが間違いだと私は考えています。意味のある名前をなぜつけるのか、そのメリット/デメリットについてもう少し真剣に考えてみましょう。比較したデメリットはコードの記述量が少し増えるだけですよ。いっていいほど存在しているスニペットの機能を使えば無視できるレベルだと思います。:コメントありがとうございます。クラスで実装する方法については、次の記事で触れさせていただきました。コメントをキャンセルメールアドレスが公開されることはありません。