FAQ:寄稿コード—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/faq/contributing
移動先:案内検索

FAQ:寄稿コード

Djangoへのコードの提供を開始するにはどうすればよいですか?

質問してくれてありがとう! この質問に専念するドキュメント全体を作成しました。 タイトルは Djangoへの貢献です。


数週間前にチケットシステムのバグ修正を提出しました。 なぜ私のパッチを無視しているのですか?

心配しないでください:私たちはあなたを無視していません!

「チケットが無視されている」と「チケットがまだ参加されていない」には違いがあることを理解することが重要です。 Djangoのチケットシステムには、エンドユーザーの機能にさまざまな程度の影響を与える何百ものオープンチケットが含まれており、Djangoの開発者はレビューして優先順位を付ける必要があります。

その上、Djangoで働く人々はすべてボランティアです。 その結果、フレームワークに取り組む必要のある時間は限られており、空き時間に応じて週ごとに異なります。 忙しい場合は、Djangoに必要なだけの時間を費やすことができない可能性があります。

チェックインの途中でチケットがハングアップしないようにする最善の方法は、コードのその領域に精通していない人でも、問題を理解して修正を確認するのを簡単にすることです。

  • バグを再現する方法について明確な指示はありますか? これが依存関係(Pillowなど)、contribモジュール、または特定のデータベースに影響を与える場合、それらの指示は、それに慣れていない人でも十分に明確ですか?
  • チケットに複数のパッチが添付されている場合、それぞれが何をするのか、どのパッチを無視できるのか、そしてどれが重要なのかは明確ですか?
  • パッチには単体テストが含まれていますか? そうでない場合、なぜそうではないのか非常に明確な説明がありますか? テストは問題が何であるかを簡潔に表現し、パッチが実際にそれを修正することを示します。

パッチがDjangoに含まれる可能性がない場合、それを無視することはありません。チケットを閉じるだけです。 したがって、チケットがまだ開いている場合でも、それは私たちがあなたを無視しているという意味ではありません。 それは、私たちがまだそれを見る時間がなかったことを意味します。


気になるパッチをいつ、どのようにチームに思い出させることができますか?

メーリングリストへの丁寧でタイミングの良いメッセージは、注目を集める1つの方法です。 適切な時間を決定するには、スケジュールを監視する必要があります。 リリース期限の直前にメッセージを投稿すると、必要な種類の注意を引くことができなくなる可能性があります。

穏やかなIRCリマインダーも機能します。これも、可能であれば戦略的なタイミングで行われます。 たとえば、バグスプリント中は非常に良い時期です。

牽引力を得る別の方法は、いくつかの関連するチケットをまとめることです。 誰かが座ってしばらく触れていない領域のバグを確認すると、コードのその領域がどのように機能するかについての詳細をすべて覚えるのに数分かかる場合があります。 いくつかのマイナーなバグ修正を同じテーマのグループにまとめると、魅力的なターゲットになります。コードの領域を理解するためのコストが複数のチケットに分散される可能性があるためです。

個人的にメールを送信したり、同じ問題を何度も繰り返し発生させたりしないでください。 この種の動作は、追加の注意を引くことはありません。問題に対処するために必要な注意は確かにありません。


しかし、私はあなたに何度か思い出させました、そしてあなたは私のパッチを無視し続けます!

真剣に-私たちはあなたを無視していません。 パッチがDjangoに含まれる可能性がない場合は、チケットをクローズします。 他のすべてのチケットについては、私たちの努力を優先する必要があります。つまり、一部のチケットは他のチケットよりも先に対処されます。

バグ修正の優先順位付けに使用される基準の1つは、特定のバグの影響を受ける可能性のある人の数です。 多くの人に影響を与える可能性のあるバグは、通常、エッジケースのバグよりも優先されます。

バグがしばらく無視される可能性があるもう1つの理由は、バグがより大きな問題の兆候である場合です。 たくさんの小さなパッチの作成、テスト、適用に時間を費やすことができますが、適切な解決策は再構築することである場合があります。 特定のコンポーネントの再構築またはリファクタリングが提案されているか進行中の場合、そのコンポーネントに影響を与えるバグはそれほど注目されないことがあります。 繰り返しますが、これは希少なリソースを優先する問題です。 再構築に集中することで、すべての小さなバグを一度に閉じることができ、将来的に他の小さなバグが発生するのを防ぐことができます。

理由が何であれ、特定のバグに定期的に遭遇する可能性はありますが、必ずしもすべてのDjangoユーザーが同じバグに遭遇するとは限らないことに注意してください。 さまざまなユーザーがさまざまな方法でDjangoを使用し、さまざまな条件下でコードのさまざまな部分にストレスをかけます。 相対的な優先順位を評価するとき、私たちは通常、特定の1人のユーザーへの影響を優先するのではなく、コミュニティ全体のニーズを考慮しようとしています。 これは、あなたの問題が重要でないと私たちが考えるという意味ではありません。限られた時間内に、1人を幸せにするのではなく、常に10人を幸せにするという側に誤りがあります。


私のチケットは完全に100%完璧だと確信していますが、自分で「チェックインの準備ができました」とマークすることはできますか?

申し訳ありません。 チケットに別の目を向けることは常に良いことです。 2番目の目を取得するのに問題がある場合は、上記の質問を参照してください。