- - PR -
変数名に変数の型のプレフィックスを付けることに関しての質問および投票です
投票結果総投票数:128 | |||
---|---|---|---|
賛成 | ![]() |
23票 | 17.97% |
反対 | ![]() |
84票 | 65.62% |
機能限定なら賛成 | ![]() |
17票 | 13.28% |
その他 | ![]() |
4票 | 3.12% |
|
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-02-10 02:50
VisualStudioは殆ど触った事ないですが、
逆にaでもbでも、IDEで型が一発で分かりますよね? 動機付けがとても弱い気がします。 ソースコードを印刷して、マーカーで色つけてみたり、 テキストエディタで机上デバッグなんてやらないですよね? 今まで一番ウザかったのが、ループカウンタでもハンガリアン記法を要求されたときです。
iでいいだろ・・・と。 | ||||||||
|
投稿日時: 2008-02-10 16:44
やるときあります。画面だと一部しか見えないのがつらい ソースコードにマーキングもできないし | ||||||||
|
投稿日時: 2008-02-11 13:01
「反対」に投票しました。
意図がハンガリアン記法の賛否だと判断しましたので… (ハンガリアン記法)「反対」の理由は、 まず、なぜ、読みやすいのか直感的に分からないからです。 いくら、説明されても「szXXX」が文字列だと分かるのは、 単なる「慣れ」なのではないかという気がしてなりません。 直感的でも感覚的でも本能的でもないので、 どこかでストレスが溜まってしまいそうです。 アジャイル開発では何度となくソースコードを見ることになるので、 たとえローカル変数であろうと、ハンガリアン記法使用には反対です。 また、命名は、「型」ではなく「意味」をもとに考えるべきだと思います。 意味のある名前をつけることと、ハンガリアン記法を使わないことは、 別の問題ではありますが、こんな経験がありました。 あるとき、後輩から、 「意味のある名前にハンガリアン記法を付けるのならいいか」と聞かれて、 「ダメだ」と答えましたが、 彼は、それを無視して、ハンガリアンなコードを大量生産していました。 それはいいのですが、問題は「意味のある名前」になっていなかったことです。 どうも、型を意識すると、意味のある名前を思いつき難いのかと… ハンガリアン記法でなくても「str」など型をもとにした変数名は よく見かけますが、 ハンガリアン記法を好む人が、「意味のある名前」を付けない傾向が あるとすれば、それも「反対」の理由ですね。 基本的に、クラス名にせよメソッド名にせよ変数名にせよ、 意味を表すのは必須ですが、型を表すのは必須でないと考えています。 | ||||||||
|
投稿日時: 2008-02-11 17:49
偏見かもしれませんが、同意です。 dtDateとか、strWorkとかよく見かけます。 | ||||||||
|
投稿日時: 2008-02-12 09:30
プロパティ変数は慣例的にはアンダーバーをつけることになっていますね。(今回は '型' に限った話ですので、ここに関して異論はないと見ていますが念のため...) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2008-02-12 09:36
先にも書いたとおり、メソッド名から自明であれば特に問題ないと思います。 個人的にはそういった場合は単に value などと統一するか (プロパティと同じですね) とにかく意味を含めるようにするかどちらかにして欲しいとは思っています。 # 私の偏見ですが、ワーク変数と称して work や wk を使う方の多くが...(ry _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2008-02-12 09:56
プロパティはアンダーバーを付けることに異論はありません。
ですが、アンダーバー+プレフィックス+変数名となります。 ハンガリアン記法を好まれる方は、どうぞiでもsでもお好きなプレフィックスを お付け頂いて結構だと思います。 ただ開発規約で強制されるのは、開発者にとってすごくストレスに感じませんか? 会社によりStringのプレフィックスがstrだったり、sだったり・・・ いちいちプレフィックス一覧からプレフィックスを探して・・・面倒ですよね!? | ||||||||
|
投稿日時: 2008-02-12 10:31
型を示すプレフィックスをつけるのは、近代においては非現実的。
C++/CLIなんかを使っていると文字列を示す型だけで10種類近い。全部の型をプレフィックスで区別できるようにしようとすると、軽く百種類近くになる。これに構造体や共用体、クラスを含めると、あっという間に管理不能になりますよね。私も一時期は簡易的に文字列方は全部strとしてたけど、それってプレフィックスをつけた当初の目的を見失ってますよね。 |