アプリ版:「スタンプのみでお礼する」機能のリリースについて

以前から、プログラムを作成していく中で
疑問に思っていたのですが、プログラム内に
カレントディレクトリを表す記述をする際、
"./"は必用でしょうか?

例えば、カレントディレクトリの"login.html"を
記述する際、"./login.html"と記述するべきか、
"login.html"と表示するべきか分かりません。

どちらでも同じ動作をするのですが、
「セキュリティ上、こっちの表記がよい」などが
ありましたら、お教えください。

宜しくお願いいたします。

A 回答 (3件)

こんにちは、じゃんぬねっと です。



正直なところ、どちらでもいいと思います。
大切なのは統一されているかどうか、そういう類ですね。
HTML-lint でも統一するように警告されますし。
それ以外の警告はないです。
    • good
    • 0

何か言葉遊びみたいになってしまいますが、


> "./login.html"
これは "./" (カレントディレクトリ) の"login.html"という名前のファイルという意味で、
相対アドレスです。
しかし
> "login.html"
これは単なるファイル名の記述です。
意味が違います。

ただ、ディレクトリを省略した場合はカレントディレクトリとする事から
動作は同じです。
その様な決まりなのですから
規則上は何も問題ありません。

ポイントは意味です。
アドレスとしてならディレクトリの記述は必要ですし、
単にカレントディレクトリにあるファイル名ならディレクトリ名は不要でファイル名のみであるべきです。

で、ここから少々推測なのですが
ご質問に於ける想定がアドレスの記述の様に推察します。
その場合は、カレントディレクトリの"./"は記述するべきでしょう。それによりそのデータはアドレスを意味する事を明示できファイル名との違いを明確に出来ます。

明示的に示す事がミスを防ぐ事は #1 の方が既に言われている通りで、またソースの検索に於いても意外と便利でもあります。
    • good
    • 0
この回答へのお礼

なるほど。
確かに、"./"有りがカレンディレクトリを
表しているのに対し、
"./"無しはファイル名を表しているだけですね。

やはり明示的に示した方が、
問題も起こらないとも思えますし、
今後は、"./"づけで統一したいと思います。

その記述に対して「意味を考える」ということを
忘れていました。
とても参考になりました。

どうもありがとうございました。

お礼日時:2005/06/23 11:32

回答になっていないかもしれませんが。



"./login.html"か"login.html"どっちでもよいなら、
"./login.html"にすべきだと思います。

明示的に示すことによって予期せぬバグをなくす方向にもっていくことができると思います。

似たようなことで、変数を宣言した場合に文字列など、最初はNULLになっていることは知っていますが、明示的にNULLを入れてから使用するなどやっています。
 ↑これはCの名残ですが。。。
Cでプログラムを組んだとき、初期化をしていない場合、何がくるかわからないかったからです。
 今のコンパイラは決めているかもしれませんが。。。
ご参考までに
    • good
    • 0
この回答へのお礼

お教えいただいた通り、
確かに明示的に示すことにより
バグは防げますね。

ありがとうございました。
どちらも同じ動作だと思うと、
実際はどっちがいいんだろう?
と疑問に思っていたので、
少し晴れた気持ちです。

お礼日時:2005/06/23 11:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!