は、私はほとんど常に使用します。「診断を使用する」に問題はありますか? Perlで
use strict;
use diagnostics;
私が代わりにuse warnings;
hereの「使用診断」を提案し、私はいくつかの負のフィードバックを受けました。だから今私は考えている:
use diagnostics;
に問題はありますか?
は、私はほとんど常に使用します。「診断を使用する」に問題はありますか? Perlで
use strict;
use diagnostics;
私が代わりにuse warnings;
hereの「使用診断」を提案し、私はいくつかの負のフィードバックを受けました。だから今私は考えている:
use diagnostics;
に問題はありますか?
diagnostics
は、warnings
のような字句プラグマではありません。代わりに、グローバル$^W
変数を設定します(-w
フラグのように)。すべてコードの警告、書き込みの可否、書き込みの可否を設定します。それは一種の失礼です。 diagnostics
も生産に使用するのは馬鹿です。私はwarnings
を使用して、あなたの説明が必要な場合は、警告をsplain
に配管することを推奨します。
use diagnostics
は、コードの実行をuse warnings
より遅くします。開発中に理解できない旨の警告が表示されたら、スイッチをオンにしても問題ありませんが、完了したらスイッチを切るのが最善です。
+1しかし、まだ警告や診断を出さないコードを書くのは良いです。 ;-) –
診断プラグマは開発ツールであり、頻繁に必要としないものです。 、必要に応じてそれを使用します。
$ perl -Mdiagnostics myprog
-M
switchは、あなたが戻ってあなたのコードからテスト専用use diagnostics
行を削除するために覚えておく必要がないことを意味し、コマンドラインでプラグマを有効にします。
まだperlバージョン5.12にアップグレードしていない場合、には特定の警告を隠すバグがあります。バグは(perl512deltaを参照)5.12で修正されています:
診断がもはや範囲内で初期化されていない値の使用 (または フリップ)警告を抑制しません。 [perl#71204]
私がこのバグを認識すると、私は戻って、use diagnostics;
のすべてのコードからコメントしました。警告メッセージが表示されたら、一時的にコメントを外しますが、いつも戻ってコメントアウトしてください。
私は同じ質問をしようとしていました。 :) +1 –