問題タブ [deprecated]
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.
c - getch は非推奨です
昔、私は大学で C と C++ を少しやりましたが、C++ にはあまり注目されませんでした。ここで、C++ に注意を払いたいと思いますが、getch()
関数を使用しているときに、以下の警告が表示されます。
警告 C4996: 'getch': このアイテムの POSIX 名は非推奨です。代わりに、ISO C++ 準拠の名前 _getch を使用してください。詳細については、オンライン ヘルプを参照してください。
現在、VS 2005 Express を使用していますが、この警告に対してどうすればよいかわかりません。エラーメッセージまたはキーヒットを必要とする何かのgetch()
後に使用する必要があります。printf()
それを手伝ってもらえますか?
python - Python で非推奨の警告を無視する方法
私はこれを取得し続けます:
このメッセージを消すにはどうすればよいですか? Python で警告を回避する方法はありますか?
c++ - Sun の C++ コンパイラの「非推奨」表記?
Sun コンパイラには、GCC__attribute__ ((deprecated))
や MSVC のように、関数を非推奨としてマークする表記法があり__declspec(deprecated)
ますか?
c++ - strerror を使用できないのはなぜですか?
いくつかのコードを Windows に移植していますが、Microsoft コンパイラ (Visual C++ 8) から、それstrerror()
は安全ではないと言われています。
Microsoft のすべての安全な文字列に関する煩わしさは別として、非推奨の関数のいくつかが危険であることは実際にわかります。しかし、何が問題なのか理解できませんstrerror()
。コード ( int
) を受け取り、対応する文字列を返すか、そのコードが不明な場合は空の文字列を返します。
危険はどこにありますか?
Cに良い代替手段はありますか?
C ++に良い代替手段はありますか?
[編集]
いくつかの良い答えがあり、一部の実装は実際に共通の共有バッファーに書き込むのに十分クレイジーである可能性があることを理解しました-シングルスレッド内での再入可能性は安全ではありません。スレッド間は気にしないでください! -私の質問は、「なぜそれを使用できないのか、代替手段は何ですか?」ではなくなります。「Cおよび/またはC ++に適切で簡潔な代替手段はありますか?」
前もって感謝します
c++ - fopen を使用できないのはなぜですか?
いわゆる安全なライブラリの deprecations について尋ねた以前の質問の型では、なぜfopen()
deprecated にする必要があるのか について同様に困惑しています。
この関数は 2 つの C 文字列を取り、FILE* ptr を返すか、失敗すると NULL を返します。スレッドセーフの問題/文字列オーバーランの問題はどこにありますか? それとも別のものですか?
前もって感謝します
python - Pythonでグローバルを非推奨としてマークする方法は?
関数を非推奨としてマークし、その関数が使用されるたびに警告が表示されるようにするデコレータを見てきました。グローバル変数に対して同じことをしたいのですが、グローバル変数のアクセスを検出する方法が思いつきません。私は globals() 関数について知っており、その内容を確認できましたが、実際に使用されているかどうかではなく、グローバルが定義されているかどうかがわかります (関数が非推奨であり、すべてが削除されていない場合でもそうです)。 . 私が考えることができる最良の代替案は、次のようなものです。
しかし、DEPRECATED を「3」とまったく同じように動作させる方法の問題以外に、DEPRECATED がアクセスされるたびに検出できるようにするために何ができるかはわかりません。私ができる最善の方法は、グローバルのすべてのメソッドを反復処理し (Python ではすべてがオブジェクトであるため、「3」にも文字列などに変換するためのメソッドがあるため)、それらをすべて非推奨にするために「装飾」することだと思います。しかし、それは理想的ではありません。
何か案は?他の誰かがこの問題に取り組みましたか?
ruby-on-rails - Railsの非推奨の警告についてびっくりする必要がありますか?
100%慣れていないフレームワークを扱う場合は、実際のエラーが発生したときに気付く可能性を高めるために、無関係な警告を理解してクリーンアップすることをお勧めします。
私が最近得ているものは次のとおりです。
現在のコードベースでは何も壊れていないようですが、警告を完全に理解していないという理由だけで心配しています。パーシャルで@modelを使用しない方が一般的に良いと思いました。
それにもかかわらず、この警告は、この特定の「モデル」が部分的に表示されるたびに呼び出されています。
明示的に割り当てるにはどうすればよいですか?コントローラで@modelを作成し、コレクションを使用してパーシャルを呼び出しています(これは「railsy」メソッドであると理解されています)。
ここで何が起こっているのか、そしてこの状況でどのようなベストプラクティスがあるのかを誰かが説明できますか?私はまだおかしくなりませんが、何マイルもの警告が私のアプリケーションからの実際の出力をかき消す傾向があります。
java - Java:非推奨-ツールの非推奨
メソッドが非推奨としてマークされたら、これらのメソッドを非推奨でない回避策に置き換えるツールはありますか?
api - 非推奨のコードを回避するためのアジャイル プラクティスは?
オープン ソースの Java ライブラリを C# に変換しています。C# には非推奨のタグが付けられた多数のメソッドとクラスがあります。このプロジェクトは白紙の状態から始める機会なので、それらを完全に削除する予定です。しかし、大規模なプロジェクトに取り組むのは初めてなので、このような状況が再び発生するのではないかと心配しています。アジャイル開発の多くは、何かをすぐに機能させ、必要に応じて後でリファクタリングすることを中心に展開するため、API の非推奨は一般的な問題に違いないように思われます。プロジェクトの将来の方向性が完全にわからない場合でも、API の非推奨を回避/最小限に抑えるために講じることができる予防策はありますか?