
No.2ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。ご質問のように変数にプレフィックスを付ける表記をハンガリアン表記法
と呼び、MS がかつて推奨していたものです。特に Visual Basic 6.0 まで
広く使われていました。
これに従うならば、ご質問にある変数名で良いと思います。
しかし、現在は MS は推奨していません。それどころか、一転してハンガ
リアン表記法はむしろ MSDN にある名前付けのガイドラインに違反した
表記法とされています。
詳しくは、MSDN ライブラリを参照して下さい。
これには賛否両論があり、どちらが良いのかは議論がなされている最中です
が、今後 MS がハンガリアン表記法を推奨しないことを考えれば、いずれは
使われなくなく表記法ですね。
どちらが良いのか、その是非については述べません。ご自身が判断するべき
ことだからです。何より大切なポイントは自分が見ても、他人がみても
「変数名はわかりやすく」
です。このような表記法の変化に振り回されて、このポイントがおろそかに
なるようではどんな表記法も無意味です。その意味で #1 ご回答の
> 1)見たら判る、(2)一貫している、ならばOKではと考えます。
は、的確でまさにその通りだと思います。
個人的な好みの話をすれば、私は通常変数にはプレフィックスを付け、
構造体のメンバには付けません。
Private Type STAFFINFO
ID As Long
Name As String
Address As String
Tel As String
End Type
Sub xxxx()
Dim udtSI as STAFFINFO
With udtSI
.ID = 1
.Name = "名前"
.Address = "住所"
.Tel = "012-3456-7890"
End With
End Sub
のような感じですが、プレフィックスを付けると
With udtSI
.lngID = 1
.strName = "名前"
.strAddress = "住所"
.strTel = "012-3456-7890"
End With
となって、通常変数なのか構造体のメンバなのか見難くなるからです。
余談ですが、構造体のことを VB では「ユーザー定義型」と表現してます。
私見でした。
No.1
- 回答日時:
マイクロソフトが推奨している命名規則に関する質問であれば、それで宜しいと思います。
が、私は、
Dim mudtMenu AS MENU_TYPE
でなく
Dim MyMenu As MENU
としています。
Dim typMenu As MENU
も、「ありかなー」と思います。
要は、(1)見たら判る、(2)一貫している、ならばOKではと考えます。
Private Type MENU
TitleCaption As String * 24 ' トップメニュータイトル
MenuCount As Integer ' メニュー総数
SubItems(5) As Integer ' 各メニューの項目数
MenuNames(5) As String * 16 ' 主メニュー名
' ----+----1----+----2----
LargeIcons(5, 19) As String * 24 ' Icons\Large\xxxxxxxx.ico
SmallIcons(5, 19) As String * 24 ' Icons\Large\xxxxxxxx.ico
IconTexts(5, 19) As String * 12 ' アイコンテキスト
AppTypes(5, 19) As String * 1 ' アプリケーションの種類
AppNames(5, 19) As String * 20 ' アプリケーション名
AppDescs(5, 19) As String * 32 ' アプリケーションの説明
ViewMode As Integer ' 表示モード
End Type
Dim MyMenu As MENU
PCが動かなくなり、IDが分からなくなってしまって
お礼が遅れてしまいました。
ご回答どうもありがとうございました。
参考にさせていただきます(^^)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 英文 構造について In his second novel, one of his characte 1 2023/08/24 20:32
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- 英語 提示文の構造について 3 2022/03/23 00:18
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- 英語 東北大の過去問です。 添付した画像の棒線部①ですが、後半「and for as far back a 2 2023/03/02 14:03
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのプログラムで、DIAG = 1# ...
-
Integer変数をカラにしたいので...
-
構造体のデータを丸ごとコピー...
-
C言語 構造体の中に共用体を定...
-
「#undef」と「#define」の使い...
-
日付チェック関数について
-
整数から16進数への変換 現在c...
-
long型のデータをバイト型の配...
-
構造体の初期化方法について
-
VBAの変数のデータ型を変更する...
-
構造体のポインタにNULLが入らない
-
変数の初期化について
-
異なる構造体のデータのコピー
-
リッチテキストボックスの中身...
-
charとucharの違い
-
値が代入されてない時
-
構造体にする理由・利点・使用例
-
1バイトデータの読み出しについて
-
VBAにてcolorindexを変数に格納...
-
VB6.0の変数、関数の定義位置か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Integer変数をカラにしたいので...
-
VBAのプログラムで、DIAG = 1# ...
-
「#undef」と「#define」の使い...
-
C++ 構造体の一括初期化 {0}
-
構造体のデータを丸ごとコピー...
-
long型のデータをバイト型の配...
-
VBAにてcolorindexを変数に格納...
-
C言語 構造体の中に共用体を定...
-
VBAの変数のデータ型を変更する...
-
VBAで符号無し整数
-
typedefをプログラム中で解除す...
-
構造体のポインタにNULLが入らない
-
変数の初期化について
-
値が代入されてない時
-
charとucharの違い
-
構造体の初期化方法について
-
整数から16進数への変換 現在c...
-
命名規則 VB 構造体
-
日付チェック関数について
-
1バイトデータの読み出しについて
おすすめ情報