.NET Core の API レビュー手順

本記事は、マイクロソフト本社の .NET Blog の記事を抄訳したものです。 【元記事】 API review process for .NET Core 2015/1/8 7:48 PM

投稿者: Immo Landwerth [MSFT]、投稿日: 2015 年 1 月 8 日

皆様、明けましておめでとうございます。本年もどうぞよろしくお願いいたします。さて、マイクロソフトは 3 週間前に GitHub で API のレビュー手順の提案書 (英語) を公開し、これについてユーザーの皆様からフィードバック (英語) をお寄せいただいていました。このたび、このレビュー手順が実際に運用開始されることとなり、開発者 Wiki (英語) にドキュメント化されましたのでお知らせいたします。

レビュー手順

このレビュー手順を作成した最大の目的は、OSS のアジリティと高品質な API の確保という 2 つの間でバランスを取ることです。そのためには、すべての API のレビューを継続的に行えるよう一本化された枠組みが必要でした。

この手順は、下記の点を考慮して決定されました。

  • GitHub への対応 : 継続可能で、かつ協力者の皆様にとって負担とならないように、API のレビュー手順は、GitHub に馴染みのある皆様が実行しやすいものでなければならない。
  • 効率性 : API のレビューは複数の専門家によるグループ内で実施する必要がある。マイクロソフトでは、レビュー担当者やコミュニティのメンバーを入れ替えることなく、迅速に API のレビューを進めたいと考えています。
  • 透明性 : 内部スタッフと外部協力者の双方が同一の手順を使用する。それにより、内部スタッフが実装を担当する場合でも、外部協力者の方による API レビュー結果を活用できます。

clip_image001

GitHub は、一般的にプル リクエスト モデルを基本としています。つまり、協力者の方が自身のフォークで変更を実施し、マイクロソフトのリポジトリに対してプルリクエストを送信していただきます。

タイプミスの修正などの小規模なコード変更の場合は、イシューを開かずに直接プル リクエストを送信していただこうと考えています。しかし、不具合の修正や機能の変更などについては、まずイシューを作成してから議論を行います。

新しい API の追加に伴う作業では、該当するイシューに「speclet」を含めていただきますようお願いいたします。この speclet とは、API の使用目的を代表的なシナリオを例示したサンプル コードと共に簡単に説明するものです。完全なものが求められているわけではなく、読者にその提案の方向性を示すことが目的です。その一例はこちらのページ (英語) でご覧いただけます。

詳細については、開発者 Wiki (英語) を参照してください。

レビュー ノート

今回、API のレビュー ノートを格納して公開するための新しいリポジトリ (英語) をアップロードしました。通常このノートは、概要を記述したテキストドキュメントと個々の API に関連するメモを含む詳細な API 差分から構成されます。

先日、Immutable Collections へのいくつかの API 追加についてレビューを実施しました。そのノートはこちら (英語) からお読みいただけます。API 差分の 1 つとその関連メモは、こちら (英語) からご覧いただけます。

今後について

近日中に、コミュニティが追加したバックログ (英語) の最初のレビューを実施する予定です。このセッションは録画し、ビデオとしてアップロードします。今後すべての議論を録画するということはありませんが、定期的にはビデオで議論の場を公開し、レビューがどのように行われているかをご覧いただけるようにいたします。

まとめ

マイクロソフトは、コミュニティの皆様と協力して API のレビュー手順 (英語) を作成しました。また、レビュー ノートを格納する場所として新たに GitHub のリポジトリ (英語) を作成しました。

皆様のご意見をお待ちしております!