grpc / grpc/grpc-java

Move Static factory methods off the class they construct.

オープン
#3,440 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

gRPC 2.0 usability
主要言語
Java
スター
12.1k
フォーク
4k
平均マージ
2日 17時間
マージ済み PR(30日)
37

説明

The ManagedChannelBuilder and ServerBuilder classes both expose static factory methods as a means to construct instances of themselves. These classes can be extended, which means that all subclasses inherit the static methods.

However, when these static methods are call on the subclasses, they often return a different type than expected (InProcessChannelBuilder returns based on the service loader, for instance. See #3438). This leads to confusion, and forces every subclass to add static methods that match the signatures)

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず ManagedChannelBuilder と ServerBuilder を確認し、次に InProcessChannelBuilder と issue #3438 を調べて、報告されているファクトリーメソッドの動作を確認します。静的ファクトリーを移動する場合の意図された移動先と互換性への影響を判断します。完了の条件は、サブクラスからの呼び出しで紛らわしい型や予期しない型が生成されなくなり、公開されている構築 API に一貫性があることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
api
issue の種類
リファクタリング
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。