「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

システムハンガリアン記法

pointこの用語のポイント

point変数名とかの付け方だよ

point変数名の最初や最後に目印をつけるよ

point変数の型を目印にするよ

スポンサーリンク

簡単に書くよ

システムハンガリアン記法(読:システムハンガリアンキホウ 英:Systems Hungarian notation)とは

変数名(変数の名前)の最初や最後に目印をつける表記法(ハンガリアン記法)の分類のひとつ
であり

変数の型(変数の種類)を目印として付ける、ハンガリアン記法のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

変数
変数の型
変数名
ハンガリアン記法


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

変数は「プログラミング言語における『値を入れておく箱』」です。
処理の途中で値を入れたり、逆に取り出したりできます。

システムハンガリアン記法

変数の型は「この箱(変数)には どんな種類の物を入れていいですよ」な決まりです。

システムハンガリアン記法2

例えば、そうですね。
手ごろな大きさのダンボール箱が あったとしましょう。

システムハンガリアン記法3

ピヨ太君がやってきて、その箱にマジックで大きく「食べ物用」と書きました。

システムハンガリアン記法4

「食べ物用」と書いたので、このダンボールに入れていいのは食べ物だけです。
食べ物以外を入れようとすると、ピヨ太君にメッチャ怒られます。

システムハンガリアン記法5

この話におけるダンボール箱が「変数」です。
マジックで書いた「食べ物用」が「変数の型」になります。

システムハンガリアン記法6

変数の型には いろいろな種類が あります。
数字を入れられる箱、文字を入れられる箱、文字列を入れられる箱、いろいろです。

変数名は「変数に付けた名前」です。

システムハンガリアン記法7

ハンガリアン記法は「変数名の最初や最後に目印接頭辞接尾辞を付けることで、変数の意味をつかみやすくして間違いを減らそう!」な表記方法です。

変数名を付けるときに、例えば

・売上_本店
・売上_支部1


ではなく

円_売上_本店
ドル_売上_支部1


と付けたり

・変数1
・変数2


ではなく

数字_変数1
文字_変数2


と付けたりします。

このようにしておくことで、間違っている部分が間違っていると分かりやすくなるのです。

システムハンガリアン記法8

例えば、そうですね。
以下の2つの処理を見比べてください。

1.売上_全体 = 売上_本店 + 売上_支部1 + 売上_支部2
2.円_売上_全体 = 円_売上_本店 + ドル_売上_支部1 + ドル_売上_支部2

上の処理は一見すると正しそうに見えます。
それに対して、下の処理は間違っているように見えます。

ドルと円が混在していますからね。
きっと、これは間違いでしょう。
ドルの売上に為替レートを掛けて円に換算する必要がありそうです。

2つとも、やっている処理は同じです。
違いは変数名の付け方だけです。
でも、下の処理では間違っている(ように見える)箇所が見つかりました。

もう一例、見てみましょう。
以下の2つの処理を見比べてください。

1.合計 = 変数1 + 変数2
2.数字_合計 = 数字_変数1 + 文字_変数2

こちらも上の処理は正しそうに見えます。
下の処理は間違っているように見えます。

数字と文字を足そうとしていますからね。
きっと間違いでしょう。

2つとも、やっている処理は同じです。
違いは変数名の付け方だけです。
でも、下の処理では間違っている(ように見える)箇所が見つかりました。

このような

1.間違いを見つけやすくする目的で
2.変数名の最初や最後に目印を付けることによって
3.変数の中身をより詳しく表現する


書き方がハンガリアン記法です。

以上を踏まえて、本題に入ります。

もう一度、例で挙げた目印の付け方を見てください。

上の例では

・変数1
・変数2




数字_変数1
文字_変数2


になりました。
目印は機械的に変数の型が付与されています。

下の例では

・売上_本店
・売上_支部1




円_売上_本店
ドル_売上_支部1


になりました。
目印は変数の意味を考えて付けています。
「この変数には日本円が入るから『円_』と付けておくか」です。

一口に「目印を付ける」と言っても

1.機械的に変数の型を目印として付ける やり方
2.意味を考えて変数の内容や種類に合う目印を付ける やり方


の2つのやり方があるのです。

この2つのやり方のうち

1.機械的に変数の型を目印として付ける やり方

が「システムハンガリアン記法」です。

システムハンガリアン記法9

あと、ついでなので書いておくと

2.意味を考えて変数の内容や種類に合う目印を付ける やり方

は「アプリケーションハンガリアン記法」と言います。

システムハンガリアン記法10

ハンガリアン記法を考えた人が意図したのはアプリケーションハンガリアン記法です。
ただし、今の世の中で単に「ハンガリアン記法」と言った場合はシステムハンガリアン記法を指していることが多いはずです。

気が向いたら、セットで覚えてあげてください。

システムハンガリアン記法:変数の型を目印にする
アプリケーションハンガリアン記法:意味を考えて目印を付ける


です。


image piyo2

一言でまとめるよ

まぁ「システムハンガリアン記法」って単語が出てきたら「変数の型(変数の種類)を目印として付けるハンガリアン記法(変数名の最初や最後に目印をつける表記法)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像044
書籍画像024

おまけ

■訳してみるよ

「system(システム)」はカタカナで「システム」と解釈してください。
「Hungarian(ハンガリアン)」の意味は「ハンガリー人」とか「ハンガリー系の人」とか「ハンガリー語」とか「ハンガリーの」とかです。
「記法」は日本語ですね。
何となく くっつけると

システマチックなハンガリーの記法

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
マンガでわかるITパスポート