じゃんぬねっと Blog

しょーもない日記

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  983  : 記事  4  : コメント  21216  : トラックバック  277

ニュース

My Website

初心者向けのサイトです。

C# と VB.NET の入門サイト

最近のできごと

年収がもうすぐ 4 桁万円 (残業はありません)。技術、コンサルに自信ある人は連絡して。


最高の配偶者、可愛い娘、ハンサムな息子と幸せな日々を送っています。



ゴリラ?そんなの飼っていません!

Sponsored Link1

Sponsored Link2

Archive

書庫

プログラミングにおいての、コーディングの手法に、ハンガリアン記法 (ハンガリー記法) というものがあります。

ハンガリアン記法 (ハンガリー記法) は、変数の型を略号化してプリフィクスとして組み入れる方法です。
昔は、Microsoft 社などで好んで使われていた表記法ですが、現在は推奨されていません。

ハンガリアン記法 (ハンガリー記法) に関する Microsoft の見解

まったくダメというわけではないですが、効果がない、または逆効果であるならばやめるべきです。
少なくとも、.NET 言語では MSDN にある「名前付けのガイドライン」に違反した命名しかできません。

私は、VB6 ですら、ハンガリアン表記はお勧めできません。
VC++ であれば、致し方ないと言っておきます。

投稿日時 : 2005年5月23日 12:00

コメント

# re: ハンガリアン記法 2005/05/23 14:42 om
私は、コントロールに限ってはハンガリアン表記を使っています。
変数名とかぶったりしそうなので。

# re: ハンガリアン記法 2005/05/23 14:50 じゃんぬねっと (C#, VB.NET)
# トラップ成功。(^^)

コントロールのハンガリアン表記とは、
txtTokuiCode とか、lblBushoName とかですかね?
コントロールの種類の略号をプリフィクスとして付けるんですよね?

しかし、コントロールは、Form に属するメンバですよね?
どうなんでしょう? (^^)

でも、GUI 絡みのコーディングはしやすいですね。

# re: ハンガリアン記法 2005/05/23 16:36 石坂@日本ベーレー
C#でコードを書くようになってから
コントロールもhogeTextBoxとか、fooListBoxと言う変数名にするように自然に変わりましたね。
ただこの辺もわかりやすければプリフィックス付けてもいい気がしますね。
ADO.NETの各オブジェクトなんかもプリフィックスを付けた方がわかりやすいですね。cnFooとかdaBarとか。

ただ単純なデータ型を示すプリフィックスはやっぱり止めた方が良いですね。見やすい見にくいの前に、本来変数のスコープが適切ならデータ型のプリフィックスなんて付けなくても変数のデータ型を覚えてられるはずですから。

もっともC + Win32 APIではハンガリアンでないと死んでしまうかもと言う感じで、あれはあれでそういう時代背景があったと。

# re: ハンガリアン記法 2005/05/23 17:08 om
> コントロールもhogeTextBoxとか、fooListBoxと言う変数名にするように自然に変わりましたね。

最初こんな感じで書いていたんですが、結局一緒じゃんって思ってPrefixに戻りました。
UIコンポーネントにメンバーという考えを持たせる必要がない場合も多いので。


# re: ハンガリアン記法 2005/05/23 17:16 じゃんぬねっと (C#, VB.NET)
うーん。
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=29624#29661

難しいなぁ、結局プロジェクトのポリシに因るのかなぁ。(^-^;)

# re: ハンガリアン記法 2005/05/24 1:36 中博俊
dwにしろ、lpにしろ実質同じってな問題が根深いのでハンガリアンはするべきかもしれませんね。>石坂さん

わたしは、名前ラベル、名前テキストボックスです。!!

# re: ハンガリアン記法 2005/05/24 1:56 NAL-6295
2,3年前はハンガリアン表記当たり前な感じでしたが、最近は全く使ってません。


# re: ハンガリアン記法 2005/05/24 13:51 じゃんぬねっと (C#, VB.NET)
> わたしは、名前ラベル、名前テキストボックスです。!!

もちろん、日本語変数ですよね? (^^)

# re: ハンガリアン記法 2005/05/25 14:38 入海
同感!ハンガリアン記法はUIプログラミング以外は使えないですね。oCustomerとかって醜いし、絶対いらないと思う。

# re: ハンガリアン記法 2005/05/25 14:43 じゃんぬねっと (C#, VB.NET)
ローカル変数でのみ使う場合があります。
オリジナルなハンガリアン記法ではないですけど...

int iLength;
long lReturn;

とか。

int length;
long return;

だと、ちょっと困ることとかあるんで... (^^)

それ以外のスコープでは一切使いませんね。

# re: ハンガリアン記法 2005/05/26 22:47 88Kouji
 私も、UIに限ってはハンガリアン表記を使っています。 コントロールっていい名称が浮かばないのでこうしてます。
 その他のローカル変数などは、かなり長めにします。
(よく、長すぎといわれますが・・・・ )

# re: ハンガリアン記法 2005/05/27 14:46 じゃんぬねっと (C#, VB.NET)
> その他のローカル変数などは、かなり長めにします。

ローカル変数って、メソッド内に関わる処理のみにしか使用できませんので、
そんなに長くはならないんじゃないでしょうか?
とりあえず、メソッドが「何が」を示していれば、
ローカル変数でそれを書く必要はないですよね?


# re: ハンガリアン記法 2005/05/27 18:03 88Kouji
>ローカル変数って、メソッド内に関わる処理のみにしか使>用できませんので、
>そんなに長くはならないんじゃないでしょうか?
>とりあえず、メソッドが「何が」を示していれば、
>ローカル変数でそれを書く必要はないですよね?

 そうですね。
長くなるのは、センスのある名前が思いつかないからです。恥ずかしいですが。

どっちかっていうとわたしはローカル変数は、あまり使わないで、メソッドを使います。
そういった意味では、短めでいいですね。今後はそうしてみます。
 名前にこだわれと先輩に叩き込まれたのでパブロフの犬のように癖付けされたみたいです。


# re: ハンガリアン記法 2005/05/27 18:30 じゃんぬねっと (C#, VB.NET)
ちょっと痛い例を晒してみます。

Option Strict Off

Public Class clsDatabase

  '/ この辺りにパブリックな変数が 200 行とか。
  '/ とりあえず、なんでもかんでもパブリック。
  '/ むしろ、Dim という曖昧な表記がされていたり。

  Public Function Fnc_KoshinSyori() As Boolean
    Dim lngKBN As Long
    Dim intCD As Integer
    Dim i As Integer

    For i = 1 To 10
      省略
    Next

    Fnc_KoshinSyori = True
  End Function
End Class

突込みどころ満載 (w
COBOL がどうのこうのって言われちゃうのも無理はないかもしれませんね。

# re: ハンガリアン記法 2005/06/03 14:58 グラスオニオン
はじめまして
VB6のことからプログラムをはじめて、現在VB.NETでプログラムをしています。

VB6の時はバリバリハンガリアン記法を使っていました。
関数名もfncKansuとかsubKansuみたいな名前の付け方をしていました。

.NETに変わってからは自然と使わなくなって行きました。
最近のJAVAやオブジェクト指向関連の本でハンガリアン記法が使われてることがほとんどなく、その影響だと思います。

ただコントロール名はいまだにハンガリアン記法を使っています。そのほうがわかりやすいです。
コントロールに関しては、わかりやすい他の表記方法が思いつかないです。


# re: ハンガリアン記法 2005/06/06 15:25 にしざき
UIでもつけてないなぁ。
カスタムコントロールとかの略語で悩むくらいなら、xxxTextBox みたいにしたほうがいいかと思っています。
もっというと、xxx だけにすることのほうが多いかなぁ。
TextBox に対する Labal なんかは xxxLabel とかつけてるけど。

# re: ハンガリアン記法 2005/06/18 0:03 はんがり案
わたしも日本語変数使ってます。がんばって辞書でしらべて意味がわかりずらくなるくらいなら、臨機応変に日本語な変数でもいいのではないでしょうか。

あと、すごい局所的に使用される変数で、気を使って名前をつける必要がないと判断した場合は、アルファベット一字だったりとか。

ハンガリアンで書いたほうがわかりやすいなあと判断したときはハンガリアンを利用するようにしてます。

要するにプログラムを組む上に重要なのは、自分(もちろん他人も)がわかりやすいと思うことだと思います。


# re: ハンガリアン記法 2005/10/16 21:38 素人
私自身は、メンテナンス時に有効などと考えてつけていますが?どうでしょう?


# re: ハンガリアンについてつれづれ 2008/02/12 21:49 へぼろっぱぁ
re: ハンガリアンについてつれづれ

# re: ハンガリアン記法 (ハンガリー記法) 2008/03/06 18:04 いまさらながら
本当の意味でのハンガリアン記法は、型を明示的にするだけのものではありません。
知らないようであれば、"アプリケーションハンガリアン"で調べてみてください。
きっと意味のあるものだと理解できるはずです。

# re: ハンガリアン記法 (ハンガリー記法) 2008/03/06 18:08 じゃんぬねっと
一応ここを読んでいながらして、敢えてこんなタイトルをつけています。
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3%E3%82%AC%E3%83%AA%E3%82%A2%E3%83%B3%E8%A8%98%E6%B3%95

# re: ハンガリアン記法 (ハンガリー記法) 2008/03/30 5:01 SKNOWN
うんうん。
じゃんぬねっとさんは「効果がない、または逆効果であるならばやめるべきです。」と言ってますもんね。
全くその通りです。
プログラムを組む人間なら「○○に書いてあったから」とか「誰々に言われたから」じゃなく、実際に効果があるかどうかで採用するかどうか決めるべきですよね。

ワタシには効果がめっちゃ有るので.NETでもバリバリ使ってますがヽ(゚∀゚)ノ
#上手く使えるようになるとコメント無くても、処理を追わなくても、変数名や関数名を見るだけで理解できるソースになります。

# システムハンガリアン記法 2008/10/21 0:32 やじゅ@アプリケーション・ラボ わんくま支局
システムハンガリアン記法

# tGxAoUFVEzDiGMeF 2014/08/28 13:20 http://crorkz.com/
Osw4Xk This site is known as a stroll-by means of for all of the info you needed about this and didn't know who to ask. Glimpse here, and also you'll undoubtedly discover it.

# aCbBsoCfBFgDcVNfzV 2014/09/09 12:36 http://vente-sur-internet.com/luis-souto/
whoah this blog is magnificent i like reading your posts. Keep up the great paintings! You know, a lot of persons are looking around for this information, you can help them greatly.

I've learn a few good stuff here. Definitely value bookmarking for revisiting. I surprise how much effort you place to make the sort of wonderful informative site.

# Holidays 2014/12/29 18:59 michael mayrof
Thanks a lot for this blog post. Keep on writing.

# QhWfUNMjie 2015/05/02 6:39 chaba
EIvA44 http://www.FyLitCl7Pf7kjQdDUOLQOuaxTXbj5iNG.com

# what is cartier love bracelet replica 2015/08/04 3:38 kxkyszqup@aol.com
Wow, this really caught me off guard to see Mochi is such a healthy treat! I already have the adzuki beans and rice flour too (except I don’t think it’s glutenous rice flour, need to look for that). And I too pre-ordered Heather’s book and can’t wait to get my hands on it in May. She is amazing. ~Lili
what is cartier love bracelet replica http://www.beauty-jewelry.org/category/about-fake-cartier-love-collections

# cartier love bracelet price 2011 replica 2015/08/05 2:29 srwamfb@aol.com
Very energetic post, I liked that bit. Will there be a part 2?
cartier love bracelet price 2011 replica http://www.guard-bracelet.com/

# cartier string love bracelet replica 2015/08/08 18:33 rfmsagyde@aol.com
Hi, I’m 16 yrs old I had my first abortion at 14. The farther did not want the child but I did. I was a private patient so my family paid for my abortion. I feel like I was forced to do this and pressured, and now I can never have my unborn child back. I’m emotionally distressed & I need help. A year before this when I was 13 I was raped & this has been a whole lot to cope with. Please help !!
cartier string love bracelet replica http://www.blu-dvds.com/tag/cartier-love-bracelet-rose-gold

# cartier love armreif preis 2015/08/28 17:07 swktlkv@aol.com
Well so far still says me that I have DSL problems, so, I think I'm going to be fighting with AT&T anyways
cartier love armreif preis http://www.bestcartierlovebracelet.cn/de/

# カルティエ 時計 レディース 革ベルト 2017/06/05 1:11 fwolormov@icloud.com
ブランド偽物(コピー商品)激安市場
バッグ、財布、腕時計人気貴族店
2017ブランド偽物バッグ財布時計コピー激安
★最高級のバッグ 財布 時計大量入荷超人気!!!★
超人気のブランド店実物写真ブランド店
■2017年の超人気ブランド新品■
┏━━━━豪華贅沢品━━━━┓
◎━バッグ :ブラダ、イースト、アウトドア、コーチ、ディーゼル
◎━財 布:カルティエ、ブルガリ、グッチ、ブラダ、コーチ
◎━時 計:ロレックス、パネライ、シャネル
■◎━━◎低価格 低価格◎━━◎■
■◎━━◎年末引割り◎━━◎ ■
☆●●●●●運賃無料実施中●●●●●☆
↓↓↓
カルティエ 時計 レディース 革ベルト http://www.gooshop001.com

# nefmix@docomo.ne.jp 2017/06/25 17:54 メンズベルト ブランド激安
ブランド偽物(コピー商品)激安市場

━…━…━…━…━…━…━…━…━…━…━…
ルイ.ヴィトン、シャネル、グッチ、エルメス、クロエ、ブラダ、ブルガリ ドルチェ&ガッバ―ナ、バレンシアガ、ボッテガ.ヴェネタ偽物(コピー商品)のブランドのバッグ、財布の販売、通販。
━…━…━…━…━…━…━…━…━…━…━…
○各種のブランド偽物(コピー商品)の指輪.ネックレス
○各種のブランド偽物(コピー商品)のベルト
○各種のブランド偽物(コピー商品)のマフラー
○ スタイルが多い、品質がよい、価格が低い!
○ S品質 シリアル付きも有り 付属品完備!
○必ずご満足頂ける品質の商品のみ販売しております.
○ 品質を最大限本物と同等とする為に相応の材質にて製作している為です.
○ 絶対に満足して頂ける品のみ皆様にお届け致します.

人気の売れ筋商品を多数取り揃えております。全て激安特価でご提供.お願いします。

# ctsxohkpc@excite.co.jp 2017/10/22 2:07 ブラダコピー
サイフを購入したのですが、発送~受け取りまでとてもスムーズでした。梱包もしっかりしていて、袋でしたが箱が左右に動かないようにエアキャップを詰めてあったり、手紙が添えてあったりと、とても心遣いを感じられて気持ち良く買い物できました!また機会があればこちらで購入したいと思います(^_^)ありがとうございました!

Post Feedback

タイトル
名前
Url:
コメント: