トップ回答者
プリフィックスなど、ネーミング方法について

質問
-
VB2005、2008で開発しています。
今まではVB6.0で開発していまして、
プリフィックスを以下のように3文字で付けていました。
String → str
Integer → int
Textbox → txtVB2005以降になっても同様に3文字のプリフィックスを付けようかと
考えていたのですが、
コントロールやデータ型が増えて3文字では
被ってしまったりして、不都合を感じております。
プリフィックスを付けないというのも1つの手かなとも考えております。そこで質問なのですが、
皆様はどのように変数やコントロールに名前を付けていますか?
参考にしたいと思っておりますので、
もしよろしければ教えて下さい。ぜひよろしくお願い致します。
回答
-
コンドル さんからの引用 String → str
Integer → int
Textbox → txtいわゆるシステムハンガリアンであり、今はあまり推奨されていません。.NETでも推奨されていません。
なぜなら、コーディングの途中で型が変わったりすることはよくあることですし、その度に変数名を直すのはコストの割りに得られるものがほとんどないからです。また、.NETはコンパイラが型チェックをきっちりと行いますので、システムハンガリアンから得られるものはあまりありません。
ただ、Textbox → txtはアプリケーションハンガリアンに近いものがあると思いますので、このようなプリフィックスを私は付けています。Textboxという種類を明確にしたいからです。
よくサンプルにMyTextBoxというのが出てきますが、この名前もTextBoxという種類を明確に表しています。
システムハンガリアンとアプリケーションハンガリアンの違いでよく言われることですが、変数名で型がわかるようにするのではなく、変数の種類がわかるようにすることが大事だと思います。型のチェックはコンパイラがしてくれますが、種類のチェックはコンパイラにはできません。したがって、変数の種類を明確にわかるようにしておくことで、バグを生みにくくすることができます。
-
コンドル さんからの引用 そこで質問なのですが、
皆様はどのように変数やコントロールに名前を付けていますか?コントロール等のUI部品のように、その型であることを強調するような場合はMainFormのように型の名前を後ろにつけたりします。
変数名とかプロパティ名とかには型を示唆する単語・略語はつけていません。
型を表す略語をつけるくらいであれば、長くなってもその変数が示唆する意味を表す単語を付け加えます。
よく言われていますが、IntelliSenseで入力が補完されるし、変数名にカーソルを合わせればツールヒントで型名等出てきますし、型を意味する略語をつける意味がないかなーと。
他、検索で色々とサイトが引っかかるので命名規則を定める・改訂する参考にして見てください。
-----
Googleで検索「プレフィックス 命名 変数 C#」
.NETの命名規則
http://dobon.net/vb/dotnet/beginner/namingrules.html
投票:変数名に変数の型のプレフィックスを付けることに関しての質問および投票です
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=43470&forum=7
-
変数は以下のガイドラインに従ってプリフィックスはつけていません。
http://msdn.microsoft.com/ja-jp/library/ms229042(VS.80).aspx
すべての返信
-
コンドル さんからの引用 そこで質問なのですが、
皆様はどのように変数やコントロールに名前を付けていますか?コントロール等のUI部品のように、その型であることを強調するような場合はMainFormのように型の名前を後ろにつけたりします。
変数名とかプロパティ名とかには型を示唆する単語・略語はつけていません。
型を表す略語をつけるくらいであれば、長くなってもその変数が示唆する意味を表す単語を付け加えます。
よく言われていますが、IntelliSenseで入力が補完されるし、変数名にカーソルを合わせればツールヒントで型名等出てきますし、型を意味する略語をつける意味がないかなーと。
他、検索で色々とサイトが引っかかるので命名規則を定める・改訂する参考にして見てください。
-----
Googleで検索「プレフィックス 命名 変数 C#」
.NETの命名規則
http://dobon.net/vb/dotnet/beginner/namingrules.html
投票:変数名に変数の型のプレフィックスを付けることに関しての質問および投票です
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=43470&forum=7
-
変数は以下のガイドラインに従ってプリフィックスはつけていません。
http://msdn.microsoft.com/ja-jp/library/ms229042(VS.80).aspx
-
コンドル さんからの引用 String → str
Integer → int
Textbox → txtいわゆるシステムハンガリアンであり、今はあまり推奨されていません。.NETでも推奨されていません。
なぜなら、コーディングの途中で型が変わったりすることはよくあることですし、その度に変数名を直すのはコストの割りに得られるものがほとんどないからです。また、.NETはコンパイラが型チェックをきっちりと行いますので、システムハンガリアンから得られるものはあまりありません。
ただ、Textbox → txtはアプリケーションハンガリアンに近いものがあると思いますので、このようなプリフィックスを私は付けています。Textboxという種類を明確にしたいからです。
よくサンプルにMyTextBoxというのが出てきますが、この名前もTextBoxという種類を明確に表しています。
システムハンガリアンとアプリケーションハンガリアンの違いでよく言われることですが、変数名で型がわかるようにするのではなく、変数の種類がわかるようにすることが大事だと思います。型のチェックはコンパイラがしてくれますが、種類のチェックはコンパイラにはできません。したがって、変数の種類を明確にわかるようにしておくことで、バグを生みにくくすることができます。