■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#738-2関数のまとめ方と変数の良い名前の付け方あずさ2001-10-30(火) 15:24
     #741-2RE#738:関数のまとめ方と変数の良い名前の付け方よねKEN2001-10-30(火) 16:38
     #742-2RE#738:関数のまとめ方と変数の良い名前の付け方くりちゃん2001-10-30(火) 16:57
     #748-2RE#738:関数のまとめ方と変数の良い名前の付け方せつら2001-10-31(水) 01:13
     #741-0RE#738:関数のまとめ方と変数の良い名前の付け方よねKEN2001-10-31(水) 01:38
     #742-0RE#738:関数のまとめ方と変数の良い名前の付け方くりちゃん2001-10-31(水) 01:57
     #752-2RE#738:関数のまとめ方と変数の良い名前の付け方魔界の仮面弁士2001-10-31(水) 02:10
     #748-0RE#738:関数のまとめ方と変数の良い名前の付け方せつら2001-10-31(水) 10:13
     #752-0RE#738:関数のまとめ方と変数の良い名前の付け方魔界の仮面弁士2001-10-31(水) 11:10
#738-2
関数のまとめ方と変数の良い名前の付け方
はじめまして、あずさといいます♪

今回教えていただきたいのは、関数のうまいまとめ方と変数の名前の付け方なのです。

どこかで紹介されているところとかってないでしょうか?

私は私なりに注意してうまく共通したグループでまとめよう…とか気を使っているので
すがなかなうまくいっていないようで…
また変数の名前のつけ方が悪いとよく指摘されたりします。
工場名NOというのがあったのですが、そのまま strFactoryCodeNoとつけたらそのまま
じゃないかと注意されたり、また関数名にも絵の番号を取得するというのがあったのですが
そのまま GetImageNo とつけたらまたまた注意を…

なにかこの問題について良い方法やいいサイトがあれば紹介してください。お願いします。
#741-2
RE#738:関数のまとめ方と変数の良い名前の付け方
> 今回教えていただきたいのは、関数のうまいまとめ方と変数の名前の付け方なのです。
> 
> どこかで紹介されているところとかってないでしょうか?

Javaの有名なコーディング規約(というかコーディングの方針全般を扱った文章ですが)
http://www.alles.or.jp/~torutk/oojava/codingStandard/index.html
は参考になると思います。

これをそのままVBに導入とは行かないでしょうし、
場合によっては、毛嫌いされるかもしれませんが、
私はよい考え方だと思いました。

> 私は私なりに注意してうまく共通したグループでまとめよう…とか気を使っているので
> すがなかなうまくいっていないようで…
> また変数の名前のつけ方が悪いとよく指摘されたりします。

「どんな風に悪い」と指摘されるのでしょうか?

> 工場名NOというのがあったのですが、そのまま strFactoryCodeNoとつけたらそのまま

コードの流れを見ていないので言い切れるものではありませんが、
単純に見る限りは、この変数名は妥当なように思えます。

というか、本当に内容をそのまま表した変数名なら、それが一番です。
素直に付けるのが一番わかりやすいですから。

「そのまんまじゃないか」以外にはどういう指摘を受けたのでしょうか?(その前後関係)
その変数の役割が、単に工場NOではなくて、もう少し込み入った意味があるなら、
そのまんまじゃないか→もう少し厳密に変数の役目を意味する名前を付けるべき
といったあたりでしょうか?
この情報からではどういう意味合いでそういう指摘になったのかがわかりません。

> じゃないかと注意されたり、また関数名にも絵の番号を取得するというのがあったのですが
> そのまま GetImageNo とつけたらまたまた注意を…

これも単にこれを見ただけならそう悪い命名とは思えません。

まずは、なぜ指摘されたのかをはっきりさせてはどうでしょうか?
なぜなのか理解できているなら、それを直す方向で考えればよいでしょうし、
理解できていないなら、指摘をした人にその指摘の意味を問いただすべきでしょうし。
#742-2
RE#738:関数のまとめ方と変数の良い名前の付け方
MSDNライブラリで"プリフィックス"をキーワードにして検索を実行するといいかもしれませんね。
#748-2
RE#738:関数のまとめ方と変数の良い名前の付け方
strFactoryCodeNo、う〜ん、Code と No と、番号が2つ入っているのはちょっと嫌かも知れません。
私だったら cFactoryNo か strFactoryNo ですね。 あんまり長いのも嫌ですし。 ちなみに、共通
変数の場合は cpFactoryNo です。

GetImageNo の方はいいんじゃないでしょうか。 まぁ、私の場合は関数なら頭に f を付けるし、サブ
ルーチンの場合は s を付けて、fGetImageNo なんですけど。
#741-0
RE#738:関数のまとめ方と変数の良い名前の付け方
> 今回教えていただきたいのは、関数のうまいまとめ方と変数の名前の付け方なのです。
> 
> どこかで紹介されているところとかってないでしょうか?

Javaの有名なコーディング規約(というかコーディングの方針全般を扱った文章ですが)
http://www.alles.or.jp/~torutk/oojava/codingStandard/index.html
は参考になると思います。

これをそのままVBに導入とは行かないでしょうし、
場合によっては、毛嫌いされるかもしれませんが、
私はよい考え方だと思いました。

> 私は私なりに注意してうまく共通したグループでまとめよう…とか気を使っているので
> すがなかなうまくいっていないようで…
> また変数の名前のつけ方が悪いとよく指摘されたりします。

「どんな風に悪い」と指摘されるのでしょうか?

> 工場名NOというのがあったのですが、そのまま strFactoryCodeNoとつけたらそのまま

コードの流れを見ていないので言い切れるものではありませんが、
単純に見る限りは、この変数名は妥当なように思えます。

というか、本当に内容をそのまま表した変数名なら、それが一番です。
素直に付けるのが一番わかりやすいですから。

「そのまんまじゃないか」以外にはどういう指摘を受けたのでしょうか?(その前後関係)
その変数の役割が、単に工場NOではなくて、もう少し込み入った意味があるなら、
そのまんまじゃないか→もう少し厳密に変数の役目を意味する名前を付けるべき
といったあたりでしょうか?
この情報からではどういう意味合いでそういう指摘になったのかがわかりません。

> じゃないかと注意されたり、また関数名にも絵の番号を取得するというのがあったのですが
> そのまま GetImageNo とつけたらまたまた注意を…

これも単にこれを見ただけならそう悪い命名とは思えません。

まずは、なぜ指摘されたのかをはっきりさせてはどうでしょうか?
なぜなのか理解できているなら、それを直す方向で考えればよいでしょうし、
理解できていないなら、指摘をした人にその指摘の意味を問いただすべきでしょうし。
#742-0
RE#738:関数のまとめ方と変数の良い名前の付け方
MSDNライブラリで"プリフィックス"をキーワードにして検索を実行するといいかもしれませんね。
#752-2
RE#738:関数のまとめ方と変数の良い名前の付け方
> 工場名NOというのがあったのですが、そのまま strFactoryCodeNoとつけたらそのまま
> じゃないかと注意されたり、また関数名にも絵の番号を取得するというのがあったのですが
> そのまま GetImageNo とつけたらまたまた注意を…

Office XPの開発ガイドには、
》 変数名には Noun (名詞) または NounVerb (名詞、動詞) の形式で、
》 大文字と小文字を組み合わせて、変数の種類と機能を指定します。
という記述があります。

同様に、関数に関しては、
》 プロシージャに名前を付ける際に、NounVerb (名詞、動詞) または
》 VerbNoun (動詞、名詞) の形式を使用して、プロシージャの機能を
》 明確に示す名前を付けてください。戻り値のデータ型を指定する
》 プリフィックスやサフィックスを使用する必要はありません。
とあります。

少なくともこれらと同様の規則にそっているので、私自身は、
その命名に関しては、それほど悪い印象は持ちませんでした。


といっても、コーディング規約というのは、グループ単位で決められる物です。

他人の意見が、必ずしも参考になるとは限りませんので、ここで聞くよりも、
その指摘してくださった、開発グループの方に尋ねるのが、妥当かと思います。


実際、命名規約というものは、開発現場によって、かなりの違いがあります。

例えば「ナンバー」ですが、これを No と記述するのを嫌う人が居ます。
Number の省略形なら、本来は No. ですし、また、"No" だと Yes/No の
"ノー"と読むこともできるからです。
# 特に、Jetデータベース(MDBファイル)のフィールド名として使うのは危険です。
# SELECT NO FROM 〜 は、SELECT FALSE FROM 〜 と同義になってしまいますから。
## まぁ、角括弧付きで、SELECT [NO] FROM 〜 とすれば良いのですけどね。

また、旧い言語には、長い変数名を使えない物があり、そうした言語を
囓っていた人は、単語を並べたような変数名を嫌う向きがあります。
変数名が長すぎると、コードが横方向に長くなるので、可読性が落ちる、などと言って。

それとは逆に、変数名を省略表記するのを嫌い、長い変数名を多用する人も居ます。
これは、下手に省略しすぎると、元の単語の意味が類推できなくなってしまうからです。


開発の初期段階であれば、「こっちのコーディング規約の方が、良いのではないか」という
意見の交換を行うのは、良いことだと思いますが、既に開発が始まっている場合は、
特別な理由でも無い限り、現状のコーディング規約に倣った方が無難です。
一度決まったコーディング規約を変更するのは、混乱の元になり、バグを産みやすくなります。


逆に、コーディング規約を全く決めていない場合は、次のプロジェクトの
開発時からでも良いので、積極的に規約を定めた方が良いかと思います。
そしてその規約を、開発者全員で徹底した方がよいです。(たとえ開発者が1人だけでも)


> なにかこの問題について良い方法やいいサイトがあれば紹介してください。お願いします。
書籍紹介のページで以前紹介した、[Visual Basic バグ退治法]という書籍に、
(若干ですが)コーディング規約の一例が記述されています。
http://www2j.biglobe.ne.jp/~little-g/vbsho.html

# バグの出にくい開発技法について載っているので、一度、図書館等で眺めてみると良いかも。
#748-0
RE#738:関数のまとめ方と変数の良い名前の付け方
strFactoryCodeNo、う〜ん、Code と No と、番号が2つ入っているのはちょっと嫌かも知れません。
私だったら cFactoryNo か strFactoryNo ですね。 あんまり長いのも嫌ですし。 ちなみに、共通
変数の場合は cpFactoryNo です。

GetImageNo の方はいいんじゃないでしょうか。 まぁ、私の場合は関数なら頭に f を付けるし、サブ
ルーチンの場合は s を付けて、fGetImageNo なんですけど。
#752-0
RE#738:関数のまとめ方と変数の良い名前の付け方
> 工場名NOというのがあったのですが、そのまま strFactoryCodeNoとつけたらそのまま
> じゃないかと注意されたり、また関数名にも絵の番号を取得するというのがあったのですが
> そのまま GetImageNo とつけたらまたまた注意を…

Office XPの開発ガイドには、
》 変数名には Noun (名詞) または NounVerb (名詞、動詞) の形式で、
》 大文字と小文字を組み合わせて、変数の種類と機能を指定します。
という記述があります。

同様に、関数に関しては、
》 プロシージャに名前を付ける際に、NounVerb (名詞、動詞) または
》 VerbNoun (動詞、名詞) の形式を使用して、プロシージャの機能を
》 明確に示す名前を付けてください。戻り値のデータ型を指定する
》 プリフィックスやサフィックスを使用する必要はありません。
とあります。

少なくともこれらと同様の規則にそっているので、私自身は、
その命名に関しては、それほど悪い印象は持ちませんでした。


といっても、コーディング規約というのは、グループ単位で決められる物です。

他人の意見が、必ずしも参考になるとは限りませんので、ここで聞くよりも、
その指摘してくださった、開発グループの方に尋ねるのが、妥当かと思います。


実際、命名規約というものは、開発現場によって、かなりの違いがあります。

例えば「ナンバー」ですが、これを No と記述するのを嫌う人が居ます。
Number の省略形なら、本来は No. ですし、また、"No" だと Yes/No の
"ノー"と読むこともできるからです。
# 特に、Jetデータベース(MDBファイル)のフィールド名として使うのは危険です。
# SELECT NO FROM 〜 は、SELECT FALSE FROM 〜 と同義になってしまいますから。
## まぁ、角括弧付きで、SELECT [NO] FROM 〜 とすれば良いのですけどね。

また、旧い言語には、長い変数名を使えない物があり、そうした言語を
囓っていた人は、単語を並べたような変数名を嫌う向きがあります。
変数名が長すぎると、コードが横方向に長くなるので、可読性が落ちる、などと言って。

それとは逆に、変数名を省略表記するのを嫌い、長い変数名を多用する人も居ます。
これは、下手に省略しすぎると、元の単語の意味が類推できなくなってしまうからです。


開発の初期段階であれば、「こっちのコーディング規約の方が、良いのではないか」という
意見の交換を行うのは、良いことだと思いますが、既に開発が始まっている場合は、
特別な理由でも無い限り、現状のコーディング規約に倣った方が無難です。
一度決まったコーディング規約を変更するのは、混乱の元になり、バグを産みやすくなります。


逆に、コーディング規約を全く決めていない場合は、次のプロジェクトの
開発時からでも良いので、積極的に規約を定めた方が良いかと思います。
そしてその規約を、開発者全員で徹底した方がよいです。(たとえ開発者が1人だけでも)


> なにかこの問題について良い方法やいいサイトがあれば紹介してください。お願いします。
書籍紹介のページで以前紹介した、[Visual Basic バグ退治法]という書籍に、
(若干ですが)コーディング規約の一例が記述されています。
http://www2j.biglobe.ne.jp/~little-g/vbsho.html

# バグの出にくい開発技法について載っているので、一度、図書館等で眺めてみると良いかも。
このページと関連する記事:
#738-0関数のまとめ方と変数の良い名前の付け方2001-10-31(水) 00:24
#9383-0変数名称の付け方2000-04-06(木) 11:30
#16582-0VB のコーディング規約について2000-02-22(火) 10:02
#1665-0変数などの命名規約について1999-09-09(木) 14:37
#241-2変数名のつけ方2003-08-06(水) 13:19
#21269-0始めたばかりで・・・2002-06-24(月) 09:24
#30403-0EOFについて2000-09-21(木) 15:59
#1468-0VB環境・インデント(?)について2004-03-26(金) 09:29
#43-4○件中次の○件を表示させるには・・・2003-07-21(月) 23:49
#467-2長いコントロールの名前2003-12-12(金) 16:26
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)