ちゃっぴの監禁部屋

ガチガチに締めすぎて動きがとれなくなる。。。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  405  : 記事  5  : コメント  12114  : トラックバック  134

ニュース

記事カテゴリ

書庫

日記カテゴリ

Communities

Personal Information

ネタ元 [我留流][がるパタ]まずはご挨拶

動的言語が全盛になりつつありますが、動的言語であろうと option でもかまいませんが、変数制限宣言を強制することこれは最低限必要だと思います。

これをやらないことで、debug でいかに死んだことか。変数名を typo して想定した結果が返らず、それを見つけ出すための苦労といったら。。。

Typo で思い出しましたが、おいらが最初に触れた言語は MSX-BASIC です。その当時まだ小学生でしたが、雑誌に書かれている code を意味もわからず入力したものです。Touch typing も満足にできず、書かれた内容もわからず入力していましたから、当然結果は "Syntax error" の嵐。

その後、programming というか PC から離れた時代がありましたが IDE が存在する時代になって、便利になったなぁと思うことしきり。勝手に補完してくれる! 間違ったら警告してくれる! なんて素晴らしいんだ! ものすごく感動したものです。正直、IDE 無しには coding したくない!

まあ、余談はさておき本題の変数宣言の強制です。

さくっと処理を書期待きたい場合には変数宣言なんてうざいと思うでしょう。また、ですが、ちょっとした規模を書くときにはあると無いとでは debug 効率が雲泥の差です。IDE を使っていればまだ見つけやすいですけど、使ってないなら本当にドツボにハマります。

そういう意味で言うと多くの人から酷評される VB (.NET 以前でも) って非常にまともだと思う。Option Explicit 宣言すれば変数宣言強制できるし。VBScript 以外では型安全性持っているし。

で、がるさんが問題としている PHP ですけど、タレこみ情報によると、error_repotingE_NOTICE を与えてやることで、未定義のものは検出可能みたい。

Perluse strict をつけることで変数宣言を強制することが可能らしい。
Ruby だと実行時に未定義の変数を参照すると NameError が出るらしい。
PythonRuby 同様 NameError が発生?
ECMAScript (JavaScript, JScript) では TypeError が発生することがある。

どっかでまとめて検証してみることが必要かも。。。詳しい方教えてください。

もう一つの問題としてある程度の型安全性を確保していないものは、変数の未定義と同じくらい厄介なことが発生するんですが、これはまたの機会に。

投稿日時 : 2009年2月17日 11:30

コメント

# re: 変数宣言の強制 2009/02/17 11:48 774RR
s/変数制限/変数宣言/
s/書期待/書きたい/
s/stict/strict/


# re: 変数宣言の強制 2009/02/17 12:04 ちゃっぴ
うは、ひどいですね。修正しました。

# re: 変数宣言の強制 2009/02/17 12:11 みきぬ
> s/変数制限/変数宣言/
> s/書期待/書きたい/
> s/stict/strict/
思うに g オプションを付けないと意図通りの結果にならないのではないかな、と。

# re: 変数宣言の強制 2009/02/17 12:22 NyaRuRu
>もう一つの問題としてある程度の型安全性を確保していないものは、
>変数の未定義と同じくらい厄介なことが発生するんですが、
>これはまたの機会に。

そのまたの機会では,型安全という言葉の定義にもご注意下さい.
http://www.kmc.gr.jp/~ohai/diary/?date=20050517

# re: 変数宣言の強制 2009/02/17 12:25 774RR
各1箇所なので必ずしも g は不要っすね
同一誤りが複数箇所あれば俺も g つけて書いたっす。

# re: 変数宣言の強制 2009/02/17 14:20 みきぬ
> 各1箇所なので必ずしも g は不要っすね
はうあ!

  ∧||∧
 (  ⌒ ヽ
  ∪  ノ
   ∪∪

# re: 変数宣言の強制 2009/02/19 19:21 ちゃっぴ
>
そのまたの機会では,型安全という言葉の定義にもご注意下さい.

精進いたします。

# re: Ruby で数値を 0 埋めする 2019/01/24 14:17 zzyytt
http://www.hogan-outlet.us.com
http://www.paulgeorgeshoes.us.com
http://www.converseoutlet.us.com
http://www.handbagsmichaelkors.com
http://www.polosralphlaurenuk.com
http://www.goldengoose-sneakers.com
http://www.offwhiteclothing.us.com
http://www.coachoutletsfactory.com
http://www.nfljerseys.us.org
http://www.longchampshandbags.us
http://www.offwhitehoodie.us.com
http://www.nikereact.us.com
http://www.michaelkors-outletfactory.us.org
http://www.jordan4.us.com
http://www.hermesonlineshop.com
http://www.michael-kors-handbags.org.uk
http://www.nikeairmax2018.us.com
http://www.lacosteonlineshop.us.com
http://www.nike-roshe.us.com
http://www.adidasstansmith.uk


Post Feedback

タイトル
名前
Url:
コメント