何となく Blog by Jitta
Microsoft .NET 考

目次

Blog 利用状況
  • 投稿数 - 761
  • 記事 - 18
  • コメント - 37042
  • トラックバック - 222
ニュース
  • IE7以前では、表示がおかしい。div の解釈に問題があるようだ。
    IE8の場合は、「互換」表示を OFF にしてください。
  • 検索エンジンで来られた方へ:
    お望みの情報は見つかりましたか? よろしければ、コメント欄にどのような情報を探していたのか、ご記入ください。
It's ME!
  • はなおか じった
  • 世界遺産の近くに住んでます。
  • Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2011
広告

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

その他

わんくま同盟

同郷

 

元ネタ→【PHP】 変数の受け渡しについて!

グローバルにスコープを持たせる方法をご存じでなかったらしい。それは、今回関係ない。関係あるのは、この言葉。(グローバルって)便利ですねこれは!

便利なのか?


確かに、「便利!」と思うかもしれない。

C 言語から C++ に以降したての頃・・・いや、移行していないな。移行しようとしていた頃、クラスの中に定義すると、インスタンスを作成しないと見えない、クラスの外から見えない、というのが、非常に使いづらかった。

で、まぁ、C++ だから、みんながインクルードするヘッダ ファイルに書いちゃうわけだ。

ん。。。今考えると、C でも、とっても怖いことしていたなぁ。。。

「あれも、これも、あっちでもこっちでも使いたい。でも、見えない。だから不便。」そんな風に思っていた。

オブジェクト指向の「カプセル化」に慣れてくると、それがいつの間にか、「あっちからもこっちからも変更できてしまう。なんて危険!!」に変わっている。。。

ん~!おもしろい!!

まぁ、確かに、作るときは、作るときは、作るときは、…これくらい強調しておけばいい?作るときは、どこからでも参照できるのは、便利。でも、デバッグするとき、機能追加するときに、地獄が見られる。かもしれない。

修正するときに一番気を使うのは、「他の機能に影響を及ぼさないか」ということです。どこでも参照できる変数というのは、保守するときには「どこで参照されているかわからない変数」に変わります。そして、「作っている期間」より、「保守している期間」の方が、遙かに長いです。

つまり、「この、global スコープで定義されている変数の内容を、ここで変えていいのだろうか?」ということをず~~~~っと考えながら保守しなければなりません。

「どこで使われているか、grep かければわかる」ですって?

確かに、どこで使われているかは、わかります。でも、「いつ使われているか」までは、わかりません。

「cflow かけて(まだあるのか?)呼び出し図つくればええやん」ですって?

あれ?cflow となんだっけ?よくお世話になったのに、忘れちまった...

で、結局、コードを読まないと、変更していいのかどうかは、わからないわけです。

この辺でね、地獄になるのですよ。


DLL-Hell といい、怖いもの見たさはいいと思います。見るのは、いいと思います。でも、体験する必要は、ないと思いますよ?

投稿日時 : 2008年6月5日 22:12
コメント
  • # コメントの間違いは、プログラムのバグに等しい
    何となく Blog by Jitta
    Posted @ 2008/06/06 23:27
    コメントの間違いは、プログラムのバグに等しい
タイトル
名前
Url
コメント