問題タブ [deprecation-warning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP 5.3 で非推奨のエラーをオフにする
私のサーバーは PHP 5.3 を実行していますが、WordPress のインストールでこれらのエラーが吐き出され、session_start() が壊れてしまいます。
これは面倒ですが、画面上のエラー報告をオフにしたくありません。これらの面倒な非推奨の警告を無効にするにはどうすればよいですか?
WordPress 2.9.2 を実行しています。
python - クラス(名前)の非推奨について警告する方法
ライブラリの一部であるPythonクラスの名前を変更しました。以前の名前を使用する可能性はしばらく残しておきますが、廃止され、将来削除されることをユーザーに警告したいと思います。
下位互換性を提供するには、次のようなエイリアスを使用するだけで十分だと思います。
OldClsName
をエレガントな方法で非推奨としてマークする方法がわかりません。たぶん私はOldClsName
(ログに)警告を発し、NewClsName
そのパラメーター(とを使用*args
して**kvargs
)からオブジェクトを構築する関数を作ることができますが、それは十分にエレガントではないようです(または多分そうですか?)。
ただし、Python標準ライブラリの非推奨警告がどのように機能するかはわかりません。非推奨に対処するための優れた魔法があるかもしれないと思います。たとえば、インタプリタのコマンドラインオプションに応じて、エラーとして処理したり、サイレンシングしたりできます。
問題は、廃止されたクラスエイリアス(または一般的に廃止されたクラス)の使用についてユーザーに警告する方法です。
編集OldClsName
:クラスには関数として定義されているときに呼び出すことができないクラスメソッド(ファクトリメソッド)がいくつかあるため、関数アプローチは私には機能しません(私はすでに試しました) 。次のコードは機能しません:
のため:
継承は私の唯一の選択肢ですか?正直なところ、それは私にはあまりきれいに見えません-それは不必要な派生の導入を通してクラス階層に影響を与えます。さらに、OldClsName is not NewClsName
ほとんどの場合問題ではありませんが、ライブラリを使用してコードが適切に記述されていない場合は問題になる可能性があります。
ダミーの無関係なOldClsName
クラスを作成し、その中のすべてのクラスメソッドのコンストラクターとラッパーを実装することもできますが、私の意見では、それはさらに悪い解決策です。
javascript - SyntaxError:'with'ステートメントは厳密モードでは無効です
ブレークポイントから何かを行おうとすると、Safariコンソールでこのエラーが発生します。ここでのバグレポート:https ://bugs.webkit.org/show_bug.cgi?id = 83267
誰かが回避策を持っていますか?このjavascriptに関連していると私が推測している理由により、サファリの私のサイトでは実行されなくなりました。
編集:バグレポートには再現手順も含まれています。
別の編集:「with」ステートメントを使用していません。これはサファリコンソールのバグです。
python - DeprecationWarning:BaseException.messageは、Python 2.6の例外として非推奨になりました。__class__、exception.message、
このDjangoミドルウェアで発生する警告の背後にある実際の理由を誰かに教えてもらえますか?また、これをどのように解決できますか?
このメッセージが表示されます「DeprecationWarning:BaseException.messageはPython 2.6の例外として非推奨になりました。class 、 exception.message、」
rest - 非推奨の API をクライアントに通知するための HTTP 応答ヘッダーの規約
REST API エンドポイントをアップグレードしていて、非推奨のエンドポイントを呼び出しているときにクライアントに通知したいと考えています。
「この API バージョンは非推奨です。エンドポイントを更新するには、最新のドキュメントを参照してください」という行に沿ったメッセージを含む応答で、どのヘッダーを使用する必要がありますか?
javascript - JavaScript ライブラリは非推奨のアノテーションを使用する必要がありますか?
いつ非推奨にするか、いつ削除するかは明らかに開発者次第ですが、JavaScript 関数が非推奨になったことを開発者にどのように警告すればよいのでしょうか?
一部の一般的な言語 ( Java、C#、Python ) は、何らかの形で言語レベルの非推奨をサポートしています。
ただし、JavaScript の場合、開発者が関数が非推奨であることを (コードで) 示すことができる標準的な方法を見つけることができません。私にできる最善のことは、(多数の) リリース ノートに従うことです。
例として、jQuery 1.8 の完全なソースを grep すると、最小限のインライン コメントが表示されます。
W3C と MDN には標準的な方法がないようで、これを処理する方法についての提案もありません。
私が見つけた最高のものは、JSDoc の@deprecated
タグです。
JavaScriptに、私が見落としていた非推奨の注釈があるかどうかを知っている人はいますか? これを行うためのより良い、またはより一般的な方法はありますか?
javascript - JSでメソッドを「廃止」としてマークするにはどうすればよいですか?
多くの無関係なメソッドを含むかなり大きなJSファイルを、使用法に応じてメソッドを再グループ化するものにリファクタリングし、必要に応じて一部の名前を変更しています(誤解を招く名前を防ぐため)。
ただし、実際にこのコードを使用する Web ページのほとんどは、さまざまなコード ブランチに分散しているため、単純な検索と置換を行うことができません。異なるすべてのブランチでそれを行うこともできますが、それには 30 以上のブランチで同時にメンテナンスを行う必要があります。または、(私または他のチーム メンバーによって) 変更が他のブランチにマージされた後に名前変更を実行するのを忘れる可能性があります。
これが C# の場合、メソッドに [Obsolete] のマークを付けるだけで、必要に応じて必要な変更にフラグを付けることができるので、ある程度同等のものを探しています。呼び出しを新しいメソッドにリダイレクトするだけで、しばらくの間は古いインターフェースの機能を引き続き提供しますが、他の理由でページで作業している人々に新しいインターフェースに切り替えるよう「強制」したいと思います。
debugger;
すべてのメソッドにステートメントと詳細なコメントを追加して、開発中は壊れるが本番環境では壊れないようにする以外に、同様のことを行う他の方法はありますか?