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

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

このコミットは、Go言語の公式ドキュメント「How to Write Go Code」(doc/code.html) を更新し、godoc.org への言及を追加するものです。これにより、Goパッケージの発見と利用に関する情報源として godoc.org の重要性が強調されています。また、HTMLのアンカーIDの軽微な修正も含まれています。

コミット

commit e798cd857c355650304f55dea35c3d2220bc42c1
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu Apr 4 08:56:11 2013 +1100

    doc: mention godoc.org in "How to Write Go Code"
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/8344043
---
 doc/code.html | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/doc/code.html b/doc/code.html
index 26f3e6d9b9..e3f53e6f27 100644
--- a/doc/code.html
+++ b/doc/code.html
@@ -22,7 +22,7 @@ A similar explanation is available as a
 </p>


-<h2 id=\"GOPATH\">Code organization</h2>\n+<h2 id=\"Organization\">Code organization</h2>\n \n <h3 id=\"Workspaces\">Workspaces</h3>\n \n@@ -569,8 +569,9 @@ import \"code.google.com/p/go.example/newmath\"\n <p>\n This convention is the easiest way to make your Go packages available for\n others to use.\n-The <a href=\"http://code.google.com/p/go-wiki/wiki/Projects\">Go Community Wiki</a>\n-has a list of external Go projects including programs and libraries.\n+The <a href=\"http://code.google.com/p/go-wiki/wiki/Projects\">Go Wiki</a>\n+and <a href=\"http://godoc.org/\">godoc.org</a>\n+provide lists of external Go projects.\n </p>\n \n <p>\n```

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

[https://github.com/golang/go/commit/e798cd857c355650304f55dea35c3d2220bc42c1](https://github.com/golang/go/commit/e798cd857c355650304f55dea35c3d2220bc42c1)

## 元コミット内容

`doc: mention godoc.org in "How to Write Go Code"`

このコミットは、Go言語の公式ドキュメント「How to Write Go Code」に `godoc.org` への言及を追加することを目的としています。

## 変更の背景

この変更が行われた2013年当時、Go言語のエコシステムは急速に成長しており、多くの開発者が独自のGoパッケージを公開し始めていました。`godoc.org` は、Goのソースコードから自動的にドキュメントを生成し、ウェブ上で公開するサービスとして、Goコミュニティにとって非常に重要なリソースとなっていました。

「How to Write Go Code」は、Go言語の初心者にとって基本的な開発環境のセットアップやコードの整理方法を学ぶための主要なガイドでした。このドキュメントに `godoc.org` を含めることで、Goパッケージの発見と利用に関する最新かつ最も効率的な方法をユーザーに提供することが目的でした。これにより、ユーザーはGoコミュニティが開発した豊富なライブラリやプログラムをより簡単に見つけ、活用できるようになります。

また、`id="GOPATH"` から `id="Organization"` への変更は、ドキュメントの構造をより汎用的にし、将来的なコンテンツの拡張や変更に対応しやすくするための軽微なリファクタリングと考えられます。

## 前提知識の解説

*   **Go言語 (Golang)**: Googleによって開発されたオープンソースのプログラミング言語。シンプルさ、効率性、並行処理のサポートが特徴です。
*   **GOPATH**: Go言語のワークスペースのルートディレクトリを指定する環境変数です。Goのソースコード、コンパイルされたバイナリ、パッケージがこのディレクトリ構造内に配置されます。このコミットが行われた2013年時点では、`GOPATH` はGoプロジェクトの管理において非常に中心的な役割を担っていました。
*   **godoc.org**: Go言語のパッケージドキュメントをホストするウェブサービスです。GitHubなどのリポジトリからGoのソースコードを自動的に取得し、`go doc` コマンドと同様の形式でドキュメントを生成・表示します。これにより、開発者は自分のパッケージのドキュメントを簡単に公開し、他の開発者はそれらを検索・閲覧することができます。Goのエコシステムにおけるパッケージ発見の主要なハブとなっています。
*   **Go Community Wiki / Go Wiki**: Go言語に関するコミュニティ主導のドキュメントや情報がまとめられているWikiサイトです。プロジェクトのリストや、Goに関する様々なトピックが掲載されています。
*   **`doc/code.html`**: Go言語の公式ドキュメントの一部である「How to Write Go Code」のHTMLファイルです。Go言語の基本的なコードの書き方、ワークスペースの構成、パッケージの管理などについて解説しています。

## 技術的詳細

このコミットは、`doc/code.html` という単一のHTMLファイルを変更しています。変更内容は主に以下の2点です。

1.  **HTMLアンカーIDの変更**:
    *   `<h2 id="GOPATH">Code organization</h2>` が `<h2 id="Organization">Code organization</h2>` に変更されました。
    *   これは、"Code organization" セクションへの内部リンク(アンカー)のIDを `GOPATH` から `Organization` に変更したものです。`GOPATH` はGoのワークスペース管理における特定の概念を指しますが、`Organization` はより広範な「コードの整理」という概念を指します。この変更は、セクションのタイトルが「Code organization」であるため、より汎用的なIDにすることで、将来的に`GOPATH`以外のコード整理方法が導入された場合でも、このアンカーIDが適切であり続けるようにするためのリファクタリングと考えられます。
2.  **`godoc.org` への言及の追加**:
    *   外部Goプロジェクトのリストを提供している情報源として、既存の「Go Community Wiki」に加えて「`godoc.org`」が追加されました。
    *   具体的には、以下の行が変更されました。
        *   変更前: `The <a href="http://code.google.com/p/go-wiki/wiki/Projects">Go Community Wiki</a> has a list of external Go projects including programs and libraries.`
        *   変更後: `The <a href="http://code.google.com/p/go-wiki/wiki/Projects">Go Wiki</a> and <a href="http://godoc.org/">godoc.org</a> provide lists of external Go projects.`
    *   この変更により、Goの公式ドキュメントが、Goパッケージの発見において `godoc.org` が果たす役割を明確に認識し、ユーザーにその利用を促していることが示されます。これは、`godoc.org` がGoエコシステムにおいて標準的なドキュメントホスティングおよびパッケージ検索サービスとして確立されつつあった時期の重要な更新です。

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

```diff
--- a/doc/code.html
+++ b/doc/code.html
@@ -22,7 +22,7 @@ A similar explanation is available as a
 </p>


-<h2 id=\"GOPATH\">Code organization</h2>\n+<h2 id=\"Organization\">Code organization</h2>\n \n <h3 id=\"Workspaces\">Workspaces</h3>\n \n@@ -569,8 +569,9 @@ import \"code.google.com/p/go.example/newmath\"\n <p>\n This convention is the easiest way to make your Go packages available for\n others to use.\n-The <a href=\"http://code.google.com/p/go-wiki/wiki/Projects\">Go Community Wiki</a>\n-has a list of external Go projects including programs and libraries.\n+The <a href=\"http://code.google.com/p/go-wiki/wiki/Projects\">Go Wiki</a>\n+and <a href=\"http://godoc.org/\">godoc.org</a>\n+provide lists of external Go projects.\n </p>\n \n <p>\n```

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

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

1.  **`@@ -22,7 +22,7 @@` ブロック**:
    *   このブロックは、ファイルの22行目付近の変更を示しています。
    *   `-<h2 id="GOPATH">Code organization</h2>` は、元のHTMLで `<h2>` タグに `id="GOPATH"` が設定されていたことを示します。
    *   `+<h2 id="Organization">Code organization</h2>` は、この `id` が `Organization` に変更されたことを示します。
    *   この変更は、ドキュメント内の「Code organization」セクションへの内部リンクのターゲットを更新するものです。`GOPATH` という特定の概念に限定せず、より一般的な「Organization」という言葉を使うことで、セクションの主題をより正確に反映し、将来的なドキュメントの変更に対する柔軟性を持たせています。

2.  **`@@ -569,8 +569,9 @@` ブロック**:
    *   このブロックは、ファイルの569行目付近の変更を示しています。
    *   変更前のコードは、外部Goプロジェクトのリストが「Go Community Wiki」で提供されていることを説明していました。
        *   `The <a href="http://code.google.com/p/go-wiki/wiki/Projects">Go Community Wiki</a> has a list of external Go projects including programs and libraries.`
    *   変更後のコードでは、この説明が拡張され、「Go Wiki」と「`godoc.org`」の両方が外部Goプロジェクトのリストを提供していると記載されています。
        *   `The <a href="http://code.google.com/p/go-wiki/wiki/Projects">Go Wiki</a> and <a href="http://godoc.org/">godoc.org</a> provide lists of external Go projects.`
    *   この変更は、`godoc.org` がGoエコシステムにおける重要なリソースとして認識され、公式ドキュメントでその存在と役割が明示的に言及されるようになったことを示しています。これにより、Go開発者はパッケージを探す際に `godoc.org` を利用することが推奨されるようになりました。

## 関連リンク

*   Go言語公式サイト: [https://go.dev/](https://go.dev/)
*   How to Write Go Code (現在のバージョン): [https://go.dev/doc/code](https://go.dev/doc/code)
*   godoc.org: [https://godoc.org/](https://godoc.org/)
*   Go Wiki (Projects): [https://github.com/golang/go/wiki/Projects](https://github.com/golang/go/wiki/Projects) (注: リンクは変更されている可能性があります。元の `code.google.com/p/go-wiki/wiki/Projects` はGoogle Codeの閉鎖に伴い移動しています。)

## 参考にした情報源リンク

*   コミット情報: `/home/orange/Project/comemo/commit_data/16084.txt`
*   GitHubコミットページ: [https://github.com/golang/go/commit/e798cd857c355650304f55dea35c3d2220bc42c1](https://github.com/golang/go/commit/e798cd857c355650304f55dea35c3d2220bc42c1)
*   Go言語および `godoc.org` に関する一般的な知識。