関数名や変数名がかぶらないためには#

さほど遠くない昔のことですが、プログラムは1個のファイルにまとめて書かなければいけない時代がありました。 他の人が書いた便利そうなプログラムを見つけたプログラマーは、自分のプログラムにその一部を取り込もうとするのですが、それには面倒な問題が待ち構えていました。

変数名がかぶってしまうのです。

誰もが変数名に"i"とかを使うので、思わぬところで頂き物のプログラムが自分の使っている変数を書き換えてしまうという問題に悩むようになりました。

プログラムの基礎を習った人なら、こう思うかもしれません。

「関数に閉じ込めればいいんですよね」

しかし問題は残ります。関数名もかぶってしまうのです。debug()みたいな関数もみんなが作るので真っ先にひっかかるでしょう。

そこで、namespace(名前付き空間)という考えが現れました。

namespace(名前付き空間)#

おおざっぱな考え方としては、こうです。

keiが書いたプログラムにはkeiというnamespaceを付ける。
alphaが書いたプログラムにはalphaというnamespaceを付ける。
具体的には、二人がecho()という関数を作ったとしたら

function main(){
    kei.echo("abc");
    alpha.echo("abc");
}
といように書くというものです。
これなら、おたがいの作った変数名や関数名がかぶらなくて済むことになります。

関係のある関数や変数を束ねるには#

IT戦記 - Prototype.js を使った JavaScript OOP 講座 #01

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-2) was last changed on 04-Nov-2009 22:11 by kei