Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 19232] ファイルの概要

このコミットは、Goプロジェクトの貢献者向けドキュメントである doc/contribute.html に、コードレビューに関する追加情報を提供するGo Wikiへのリンクを追加するものです。これにより、貢献者がより詳細なコードレビューのガイドラインにアクセスできるようになり、Goプロジェクトへの貢献プロセスが円滑になることを目的としています。

コミット

commit 75ba181841aea2218d614bd9d30f1a570b4bcc1b
Author: Robert Hencke <robert.hencke@gmail.com>
Date:   Fri Apr 25 20:09:04 2014 -0700

    doc/contribute.html: link to wiki for more code review information
    
    (from the discussions on CL 89650044)
    
    LGTM=minux.ma, iant
    R=iant, minux.ma
    CC=golang-codereviews
    https://golang.org/cl/97770043

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/75ba181841aea2218d614bd9d30f1a570b4bcc1b

元コミット内容

doc/contribute.html: link to wiki for more code review information

(from the discussions on CL 89650044)

変更の背景

このコミットの背景には、Goプロジェクトへの貢献プロセス、特にコードレビューに関するドキュメントの改善という意図があります。コミットメッセージにある「(from the discussions on CL 89650044)」という記述が重要です。CL 89650044自体は「runtime: fix race in TestStackGrowth」というGoランタイムのテストにおける競合状態の修正に関するものでしたが、このCLのレビュー過程での議論を通じて、Goプロジェクトのコードレビューに関するより詳細な情報が必要であるという認識が生まれたと考えられます。

オープンソースプロジェクトにおいて、コードレビューはコード品質の維持、バグの早期発見、知識共有、そしてプロジェクトの文化形成において極めて重要なプロセスです。しかし、そのプロセスが複雑であったり、ガイドラインが不明瞭であったりすると、新規貢献者が参加しにくくなる障壁となります。Goプロジェクトは活発なコミュニティを持っており、多くの貢献者を受け入れるために、貢献プロセスを可能な限り明確かつアクセスしやすいものに保つ努力をしています。

このコミットは、doc/contribute.htmlという既存の貢献ガイドラインに、より詳細なコードレビュー情報が掲載されているGo Wikiへのリンクを追加することで、この課題に対処しようとしています。これにより、貢献者は公式ドキュメントから直接、より深い情報源へと誘導され、コードレビューの期待値やベストプラクティスを容易に理解できるようになります。これは、ドキュメントの網羅性を高めつつ、主要なドキュメントを簡潔に保つための効果的な戦略と言えます。

前提知識の解説

  • doc/contribute.html: これはGoプロジェクトの公式ドキュメントの一部であり、Goプロジェクトに貢献するための基本的なガイドラインが記述されています。コードの提出方法、テストの実行方法、コミットメッセージの書き方など、貢献者が知るべき情報がまとめられています。
  • Go Wiki: Goプロジェクトには、公式ドキュメントとは別に、コミュニティによって維持されているWikiが存在します。Wikiは、より広範なトピック、詳細なガイド、FAQ、非公式な情報など、公式ドキュメントではカバーしきれない多様な情報を提供するためのプラットフォームとして機能します。コミュニティの知識と経験が蓄積される場所であり、公式ドキュメントが提供する基本的な情報に加えて、より実践的で詳細な情報を見つけることができます。
  • コードレビュー (Code Review): ソフトウェア開発プロセスにおいて、他の開発者が書いたコードをレビューし、改善点や潜在的な問題を指摘するプロセスです。品質向上、バグの削減、知識共有、コーディング規約の遵守などを目的とします。Goプロジェクトでは、提出されたすべての変更(CL: Change List)が、コミッターによってレビューされることが求められます。
  • CL (Change List): Goプロジェクトにおける変更の単位です。Gitのコミットに相当しますが、Goプロジェクトでは Gerrit というコードレビューシステムを使用しており、Gerrit 上で管理される変更のまとまりをCLと呼びます。各CLは一意の番号を持ち、レビューと承認を経て最終的にメインリポジトリにマージされます。
  • LGTM (Looks Good To Me): コードレビューにおいて、レビュー担当者がコードの変更を承認する際に使用する略語です。これは、変更が品質基準を満たしており、マージしても問題ないことを示します。

技術的詳細

このコミットの技術的な変更は、doc/contribute.htmlという単一のHTMLファイルに対するものです。具体的には、既存のHTML構造の中に新しいセクションを追加し、Go Wikiのコードレビューページへのハイパーリンクを埋め込んでいます。

HTMLファイルは、ウェブブラウザで表示されるドキュメントの構造と内容を定義するために使用されます。この変更では、以下のHTML要素が追加されています。

  1. <h3>More information</h3>: 新しいセクションのタイトルとして「More information(詳細情報)」という見出しを追加しています。<h3>タグは、セクションの見出しを示すために使用され、通常は<h2>タグの下位の見出しとして機能します。
  2. <p>タグ: 段落を定義するタグです。この中に、Go Wikiへのリンクを含むテキストが記述されています。
  3. <a href="https://code.google.com/p/go-wiki/wiki/CodeReview">CodeReview</a>: これはハイパーリンクを作成するためのアンカータグ(<a>)です。
    • href属性には、リンク先のURL(https://code.google.com/p/go-wiki/wiki/CodeReview)が指定されています。これはGo Wikiの「CodeReview」ページを指します。
    • タグの間に挟まれたテキスト「CodeReview」は、ユーザーがクリックする際に表示されるリンクテキストです。

この変更は、静的なHTMLドキュメントに外部リソースへの参照を追加する典型的な方法です。これにより、doc/contribute.htmlの主要な内容を肥大化させることなく、関連する詳細情報へのアクセスポイントを提供できます。Go Wikiはコミュニティによって動的に更新される可能性があるため、このアプローチはドキュメントのメンテナンス性という観点からも理にかなっています。

コアとなるコードの変更箇所

--- a/doc/contribute.html
+++ b/doc/contribute.html
@@ -606,6 +606,13 @@ $ hg submit 99999
 local repository out of date; must sync before submit
 </pre>\n
+<h3>More information</h3>\n
+\n
+<p>\n
+In addition to the information here, the Go community maintains a <a href=\"https://code.google.com/p/go-wiki/wiki/CodeReview\">CodeReview</a> wiki page.\n
+Feel free to contribute to this page as you learn the review process.\n
+</p>\n
+\n
 <h2 id=\"copyright\">Copyright</h2>\n
 \n <p>Files in the Go repository don\'t list author names,\n```

## コアとなるコードの解説

上記のdiffは、`doc/contribute.html`ファイルに対する変更を示しています。

*   `@@ -606,6 +606,13 @@` は、変更がファイルの606行目から始まり、元のファイルでは6行が変更され、新しいファイルでは13行が追加されたことを示しています。
*   変更の中心は、既存の`<pre>`タグの終了と`<h2 id="copyright">`タグの間に新しいHTMLブロックが挿入された点です。

具体的には、以下のHTMLコードが追加されました。

```html
<h3>More information</h3>

<p>
In addition to the information here, the Go community maintains a <a href="https://code.google.com/p/go-wiki/wiki/CodeReview">CodeReview</a> wiki page.
Feel free to contribute to this page as you learn the review process.
</p>

このコードブロックは、以下の要素で構成されています。

  1. <h3>More information</h3>: 「詳細情報」というレベル3の見出しを追加し、このセクションが追加情報を提供することを示します。
  2. <p>タグ内のテキストとリンク:
    • 「In addition to the information here, the Go community maintains a CodeReview wiki page.」というテキストは、現在のドキュメントに加えて、GoコミュニティがコードレビューのWikiページを維持していることを説明しています。
    • <a href="https://code.google.com/p/go-wiki/wiki/CodeReview">CodeReview</a> は、Go Wikiのコードレビューページへのハイパーリンクです。ユーザーが「CodeReview」というテキストをクリックすると、指定されたURLに移動します。
    • 「Feel free to contribute to this page as you learn the review process.」というテキストは、貢献者がレビュープロセスを学ぶにつれて、このWikiページに貢献することを奨励しています。これは、Wikiがコミュニティ主導のドキュメントであり、常に改善されるべきものであるという考え方を反映しています。

この変更により、doc/contribute.htmlを読んでいる貢献者は、コードレビューに関するより深い情報が必要な場合に、直接Go Wikiの関連ページにアクセスできるようになりました。これは、ドキュメントのユーザビリティと貢献者のオンボーディング体験を向上させるための小さな、しかし効果的な改善です。

関連リンク

参考にした情報源リンク

  • Go Wiki (現在のURL): https://go.dev/wiki/
  • Google検索: CL 89650044 golang (CL 89650044の背景情報を確認するため)
  • HTML <h3>, <p>, <a> タグに関する一般的な知識
  • オープンソースプロジェクトにおけるコードレビューの一般的なプラクティスに関する知識