C#のコード規則と命名ガイドライン(C# Coding ConventionsとNaming Guidelines)に対応するいくつかのmsdn記事と、数ヶ月後のスタックオーバーフローに関するsimilar questionを参照しました。同じデータだが異なる種類の変数の命名規則
[概念的には同じ]異なる種類のデータを保持する2つの変数を同時に処理する方法はわかりません。
この問題の説明に役立つ例は、最初は文字列として保持されますが、その後は整数にキャスト/解析される識別子です。
私は3つの可能な行動コースを考え出しました。私は確かな選択肢がないと確信しています。
COA#1:変数の一方または両方が、タイプの略語の接頭辞
int iRecordId;
string sRecordId;
。これは、ハンガリー語の表記法でパラメータ名の前に接頭辞を付けないことを示すMSコーディングガイドラインに違反します。
COA#2:変数の一方または両方が明示的に名前を入力を述べる
int recordId;
string recordIdString;
。これはちょうどklunkyと思われ、ハンガリー表記を使用しない間は、以前のCOAの精神に違反しているようです。
COA#3:各変数は、データがどこから来た、または起こっている場所によって修飾遠い
int recordIdForDatabase;
string recordIdFromUrl;
。
提案
私の考えは、私が最終的には、明示的に型情報を持つ変数の接頭辞ない状態なガイドラインがありますが、私が傾いてるだけなので、種類によって異なる2つの変数を区別したいということですハンガリーの接頭辞を使用します。それはコードの残りの命名規則とははっきりとは対照的であるので、それは崇拝的な状況を強調するであろうと思われる。これは合理的なアプローチですか?
怒りの質問、コメント、叫びはすべて歓迎されます。
ええ、私はただ書いたものを読んだだけです。それでもtrueを保持する必要があります。ストアするのはint _or_文字列だけで、両方をストアすることはできません。その後、必要に応じて変換します。 ToString()は失敗するため、Int32.Parse()は簡単に失敗する可能性があるため、int値を保持します。 –