VBScriptで同じ関数名があってもエラーが出ずに、処理が実行されてしまいます。(呼び出しが早い方が実行されるみたい。)
自分で関数名の管理をやっておればよいのですが、プログラム自体が大きくなっていくと、関数の重複によるプログラムエラー?(意図しない動き)が懸念されます。
また、クラス内ではPrivate関数と同じ関数名があった場合などクラスでの問題もおきてくるのではないかと考えます。(Private関数の方が優先される?←試していないのでわからない。)
変数に関しても同様です。
これらの問題を回避する方法として、関数名/変数を管理する技術等はありますでしょうか?ご教授のほど、よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
大規模のASP開発も進んでいくと、管理が煩雑になり、言われているような問題が
起きるかもしれないですね。
力になれなくてすみません・・・。
是非、いい方法が思いついたら私にも教えてください。
では、失礼致します。
ご回答ありがとうございました。
>力になれなくてすみません・・・。
そんなことありません。現場での開発内容を少し知ることができまし、貴重な意見を多くもらえたことに感謝しています。
これからも、試行錯誤しながら、調べながら、やっていこうと思います。
これ以上、回答がないと思いますので、一度、締め切らせて頂きます。
またのご協力のほど、よろしくお願い致します。
No.2
- 回答日時:
#1です。
私もVBScriptでASP開発を結構やっています。
数社で共同開発を行っており、規模は大きいです。(具体的な総ステップすうはカウントしておりませんが・・・)
ネーミングルールでほぼ問題ないと考えています。
実際の開発において関数名の重複はおきたことがないです。共通関数はCM~とかサブシステムIDをプリフィックスにすることで問題ないと思いますが。
そんなに機能が似ていて、名前つけようとすると同じ名前になってしまう関数があるのでしょうか?
ちなみに名前を確認する作業って一覧を検索するだけなので、ファイル開く時間含めても10秒もあれば終わるとおもいます。10秒くらいで開発効率にはそれほど関係ないですよね。
クラスについてですが、知りませんでした(^^;
ステートメントがあったんですね・・・。お恥ずかしい限りです。
クラスの変数ですが、クラス内とクラス外で同じ変数名を使っても問題ないですよね。
クラス.変数名の形で使いますから。
(そーいう意味ではないですかね?)
この回答への補足
たびたびのご回答ありがとうございます。
>名前を確認する作業って一覧を検索するだけ
同一のEXCELにまとめておけば、問題ないと思います。
ただ、他のシステムのプログラムを流用しようとした場合、次のような作業になると考えています。
使用するプログラム内の関数と変数をまとめた資料を探す。または、プログラム自体を見る。
↓
開発中のプログラム内の関数等と重ならないか確認する。
流用するプログラム1つでも、10もの関数が使用されていた場合、10の関数について確認しなければならない。
また、容易にグローバル関数などを使用することができなくなる。
・・・でクラスステートメント内でも他のファイルから関数を呼び出すことができる。←プロパティは問題ないのですが、クラスを流用しようとしたとき、そのクラスが他のファイルの関数を呼び出しており、クラスを使用するほうのファイルでも同じ関数を使用している場合になったら問題があるなと考えていた次第です。
大規模なプログラムでもネーミングルールで問題なくやられているみたいですね。
No.1
- 回答日時:
関数、変数のネーミングルールはありますよね?
ネーミングルールである程度重複は防げると思います。
また、関数に関しては関数一覧を作って管理し、関数を作る前に一覧で重複がないか確認するようにすれば防げますよね。
変数は難しいですね。
変数を定義する位置を決めてしまって、ここ以外には変数定義しないっていうルールを作ってしまえば重複は防げますね。
ちなみに、VBScriptの話をされているんですよね?
クラスとは何のことでしょうか?VB6.0で作ったクラスモジュールを言ってますか?ちょっと分かりませんでした。
この回答への補足
ご回答ありがとうございます。
自分で関数や変数を管理するしかないんですかねぇ?
この場合だと、関数を作る度に、自分で確認しなけらばならないんですよね。多くの関数を流用した開発を行ってしますと、確認回数が増えてしまって開発効率が落ちてしまう上、本質問でしました懸念が出てくると考えています。
VBScriptはベーシックなClassは使えるようになっています。↓(複雑?な操作はできないみたいです。)
http://www.interq.or.jp/student/exeal/dss/ref/vb …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Indirect関数について、Formulatextで抽出した数式を参照したい。 1 2022/12/15 11:16
- Visual Basic(VBA) vba Sleep関数について教えてください 1 2023/01/18 10:18
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- その他(教育・科学・学問) 関数、写像について 1 2022/04/10 23:45
- 不動産業・賃貸業 賃貸契約契約の解除 1 2022/11/07 18:02
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- 数学 原始関数の存在性の証明について 数学科の3回生です。院試の勉強でつまづいたので助けてほしいです。 R 6 2022/11/13 19:19
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FriendとPublicの違い。。。
-
ダイアログ表示時にチェックボ...
-
[MFC] CWnd::MessageBoxの警告...
-
不要になった、普通の構造体の処理
-
名前空間について
-
C++ protectedにアクセス不可
-
MessageBoxを継承したい
-
C++で継承元のクラスの代入演算...
-
MFCのCListCtrlでスクロールを検出
-
C++/CLIからC++の呼び出しで例外
-
既定のコンストラクタがない?
-
(UWSC) 「#32770」の意味わかり...
-
OnInitDialog()の関数の組み込み方
-
クラスのアドレスを引数として...
-
MFCのドラッグ&ドロップについて
-
VB.NETでC#のイベントをオーバ...
-
openFrameworks-複数台Arduino...
-
CreateObjectとはどういう意味...
-
メモリリークが発生するのはど...
-
Eval関数を使いたい!ドキュメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
(UWSC) 「#32770」の意味わかり...
-
クラスのアドレスを引数として...
-
エディットコントロールのイベ...
-
ダイアログ表示時にチェックボ...
-
イベントにAddHandlerされてい...
-
ダイアログクラスのコントロー...
-
C++ protectedにアクセス不可
-
DebugクラスとTraceクラスの違い
-
DataGridViewのセルに斜線を引...
-
【ASP.NET】 独自で作成したク...
-
このコンパイルエラーの意味に...
-
エディットコントロールでEnter...
-
継承を重ねた場合のコストはど...
-
C#で通常のbuttonコントロール...
-
ボタンのオーナードローについて
-
MFCのCListCtrlでスクロールを検出
-
【C++】相互参照
-
SetTimerの行でアサートエラー...
おすすめ情報