じゃんぬのどっとてきすと

雑記とネタと時々プログラミング

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

ニュース

My Website

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

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

最近のできごと

少し前に女のコが生まれました。家事と育児と仕事にと奮起しています。めちゃくちゃかわいいです。あと Blog の更新は全然してませんが、Twitter とかでアホなこと呟いています。見つけることができたら、ぜひフォローしてあげてください。けっこう喜びます。

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

Post Feedback

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