人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP開発時のエラーレベル設定について。
デフォルトではNOTICEは表示されない設定ですが、NOTICEって取り除く必要はないのでしょうか?
私個人としては取り除いた方がより正確なプログラムになり、メンテナンス性も向上し、トラブルも減ると思っておりますので、エラーレベルをE_ALLにして開発時にすべて取り除いておりました。
しかし、よく他社が作成したプログラムの改修を行うとNOTICEエラーだらけなのが多いので、一般的にどうなのか気になっていました。

●質問者: nakamura
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP エラー デフォルト トラブル プログラム
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● tasklight
●23ポイント

Noticeは、PHPの文法を細かくチェックしてくれます。

たとえば定数の二重定義はNoticeレベルでないとチェックできません。


「とりあえず動けばいいや」程度のプログラムでしたら外してもいいでしょうが、商用サイトなどのように信頼性を求められるサイトではONにした方が良いと思います。


「とりあえず動けばいいや」程度のスクリプトが大量に入っているレンタルサーバでは、サーバの負荷やエラーログの大きさを考え、あえてNoticeを外しているという話を聞いたことがあります。

◎質問者からの返答

オープンソースで公開しているプログラムはnoticeを明示的にプログラム内で外しているものをたまにみかけますね。


2 ● tipsm
●23ポイント

> トラブルも減ると思っておりますので、エラーレベルをE_ALLにして開発時にすべて取り除いておりました。

そうすべきです。


> しかし、よく他社が作成したプログラムの改修を行うとNOTICEエラーだらけなのが多いので、一般的にどうなのか気になっていました。

単に技術力が無いか、または やっつけで作ったプログラムだと思います。

◎質問者からの返答

やっつけってのはよくありそうですね。

改修依頼を受けるのって、大体前の方が対応してくれないとかいまいちとかが原因でかわりにやってくれないかというご相談が多いので。

そういう場合はたいていできが悪いプログラムな場合が多いですね。


3 ● ko8820
●22ポイント ベストアンサー

>一般的にどうなのか気になっていました

まず開発言語にPHPを選ぶところは、低予算であることが多く、

かつ比較的重要度が低いシステムの場合が多いです。

で、受注条件とかにNOTICEは駄目ですとか規定がなければ、エラーじゃないという認識です。

受注条件になくても、開発規約とかで明確に設定されてる場合を除いて、ない場合は、やっぱり

取り除こうとする人は皆無です。

CとかJavaとかで、コンパイル時にワーニングは駄目とか、ワーニングレベルはここまでで

とかそういうのと同じです。こういうのも、受注条件とかになければワーニングだらけとかも

たまにありますが、こちらは標準の設定でもそこそこのレベルに設定されてるので

目に見えるということで、注意する人はおおいでしょう。

残念ながら、PHPで開発してる人で、NOTICEエラーがあること自体を知らない人も多数いますので

質問文のようになるのは仕方がないでしょう。

◎質問者からの返答

そういえばCやJavaにもエラーレベルの設定がありましたね。

どの言語でもこのような問題はありますね。

確かにPHP開発者はスキルの差がものすごく激しいと感じているので、エラーレベルの設定自体理解していない人が多いというのは納得です。


4 ● niwa-mikiho
●22ポイント

Error が出ない事はもちろんのこと、Warning すら出ないのが好ましいです。


が、動作する PHP などの環境によってはどうしても Warning が出てしまったりすることもあります。

(プラグインのバージョン違いなど、開発環境と実行環境の相違するパターンは無数にある)


そのため完全に Warning を取り除くのは大変難しい事です。

ただ、開発環境で Error や Warnings が出ない事にするのは好ましいというか、必須というか。


なので、質問者様の考えているエラーに対する認識は過剰でもなく推奨される考え方だと私は思います。

◎質問者からの返答

深い意図がなければ基本的に警告レベルもつぶす必要はありますね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ