@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- PR -

グローバル変数は使っても使わなくても、どちらもOKです

1
投稿者投稿内容
ひでよん
会議室デビュー日: 2002/01/11
投稿数: 8
お住まい・勤務地: 東京
投稿日時: 2004-04-15 12:57
※すみません、別スレッドを立ててしまいましたが、ご意見は『なぜ「グローバル変数」を使っては、いけないのですか?』http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=10915&forum=25 へどうぞ。

----ここから意見です----------------------------------------------
結論は、使っても使わなくても、どちらもOKだと思っています。
※私の意見を述べるときには、具体的に進めます。なのでこれがすべての分野のソフトウェア開発に通じるとは思っていませんので、怒らないでくださいね。

LINUXのPCIドライバーを書くのに、C++でカプセル化したclassのプライベート変数とプライベート列挙変数しか触るな!とかは、ちょっと無アリな気がします。
Windowsの場合で、
 ※Win32APIで500行ぐらいの、サンプルプログラムを提供するとき。
「すべてのウィンドウプロシージャやハンドル変数をclass化して、グローバル変数をひとつも作るな!」とか
 ※MFCで、500行ぐらいの、サンプルプログラムを提供するとき。
「MFCではtheApp変数以外、変数をグローバルに定義しちゃだめよん」
などは、なにか堅苦しい気がします。
なのでこの時は、「グローバル変数を使う」になります。

しかし、C++で
「画像処理ライブラリで、サーチ関数(引数と戻り値など)を100機能つくれ!」
ってなれば、サーチ関数のひとつひとつが、グローバル変数を変更しているのを想像すれば、デバッグ時に自分が追い込まれるのは、初めからわかりますよね? 
なんでこの時は、できるだけ「グローバル変数は使わない」になります。

以上です。


[ メッセージ編集済み 編集者: ひでよん 編集日時 2004-04-15 14:20 ]
1

スキルアップ/キャリアアップ(JOB@IT)