環境:VB6
自作関数作成での引数名の付け方ですが、皆さんはどういったつけ方を
していますか?
Stringだとstr何とかなど。
> Stringだとstr何とかなど。
str をつけるのは、いわゆるハンガリー記法(ハンガリアン記法)ですね。
http://www.radiumsoftware.com/hungarian_notation.html
私の場合、引数にプレフィックスは付けないですね。
# サンプルコードやDeclare宣言などでは、意図的にプレフィックスを
# 付ける場合もありますけど。
たとえば、VB6 の CreateObject 関数を見ると、引数名は
「Class, ServerName」
となっていますし、ADODB.Recordset の Open メソッドなら
「Source, ActiveConnection, CursorType, LockType, Options」
といった命名になっています。
いずれもプレフィックスは無く、いわゆる "Pascal 形式" の命名に
なっていますので、私もこれに倣うようにしています。
ちなみに MSDN Library には、ActiveX コンポーネントを作成する際の
「パラメータの名前」に対する解説があり、その中には
》 C/C++ 開発者は誘惑に駆られるかもしれませんが、通常はパラメータ名に
》 ハンガリー記法を用いるのは避けるべきです(ハンガリー記法では、
》 パラメータ名の先頭に、パラメータのデータ型または機能を示す
》 一連の文字を付けます)。ハンガリー記法は、既存のコンポーネントで
》 一般的に使用されておらず、特に Visual Basic 開発者はこれに
》 当惑してしまうでしょう。
という説明がありますね。
http://www.microsoft.com/japan/msdn/library/ja/jpdncomg/htm/basicpmd.asp
昔はハンガリー記法も使っていましたが、最近はJavaとVB6を行ったり来たりしているのでハンガリー記法は使いません。
Javaの時は fileName みたいに先頭が小文字。VB6の場合は基本は単語の先頭を大文字で連結ですが、名前の大文字小文字の強制統一との兼ね合いで、
一度変数や引数の宣言ではない場所で単独でその名前を入力して、
Private Sub Form_Load
FileName '←このように単独で名前だけ入力
End Sub
既存の名前と同じ物があれば大文字小文字の組み合わせが変換されるので、それで特に問題がなければそれを宣言に使います。
# こうすると宣言済みの名前(時プロジェクト内で定義したEnumのメンバーを除く)に揃います。
# Enum のメンバーの時はとにかく気を付けるしかありませんが。
ForMother と FormOther の様に複数の単語の区切りが考えられる組み合わせで
既に違う単語の区切りの名前が存在していた場合は同じような意味の違う語句に変更します。
例:FromOther を OtherFormにする
回答ありがとうございます。
私も魔界の仮面弁士さんのようにプレフィックスは付けていないのですが、
付けたい名称が予約キーワードとかぶるような場合があるので、今は決まった
名称を頭につけています。
こういった場合などはどうしてますか?
ひろさんが書いてるように同じような意味になるように変えたりまたはそれに何か付け加えたりしているとかでしょうか。
ツイート | ![]() |