Skip to content

Commit

Permalink
translate words
Browse files Browse the repository at this point in the history
  • Loading branch information
welkineins committed Feb 4, 2016
1 parent ca9c8e3 commit cc2d1a3
Show file tree
Hide file tree
Showing 10 changed files with 223 additions and 223 deletions.
128 changes: 64 additions & 64 deletions google-cpp-styleguide/classes.rst

Large diffs are not rendered by default.

34 changes: 17 additions & 17 deletions google-cpp-styleguide/comments.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

緊接著版權許可和作者信息之後, 每個文件都要用註解描述文件內容.

通常, ``.h`` 文件要對所宣告的類的功能和用法作簡單說明. ``.cc`` 文件通常包含了更多的實現細節或算法技巧討論, 如果你感覺這些實現細節或算法技巧討論對於理解 ``.h`` 文件有幫助, 可以將該註解挪到 ``.h``, 並在 ``.cc`` 中指出文檔在 ``.h``.
通常, ``.h`` 文件要對所宣告的類的功能和用法作簡單說明. ``.cc`` 文件通常包含了更多的實作細節或算法技巧討論, 如果你感覺這些實作細節或算法技巧討論對於理解 ``.h`` 文件有幫助, 可以將該註解挪到 ``.h``, 並在 ``.cc`` 中指出文檔在 ``.h``.

不要簡單的在 ``.h`` 和 ``.cc`` 間複製註解. 這種偏離了註釋的實際意義.

Expand Down Expand Up @@ -66,25 +66,25 @@

如果類有任何同步前提, 文檔說明之. 如果該類的實例可被多線程訪問, 要特別注意文檔說明多線程環境下相關的規則和常數使用.

7.4. 函數註解
7.4. 函式註解
~~~~~~~~~~~~~~~~~~~~~~

.. tip::

函數宣告處註解描述函數功能; 定義處描述函數實現.
函式宣告處註解描述函式功能; 定義處描述函式實作.

函數宣告:
函式宣告:

註解位於宣告之前, 對函數功能及用法進行描述. 註釋使用敘述式 ("Opens the file") 而非指令式 ("Open the file"); 註釋只是為了描述函數, 而不是命令函數做什麼. 通常, 註釋不會描述函數如何工作. 那是函數定義部分的事情.
註解位於宣告之前, 對函式功能及用法進行描述. 註釋使用敘述式 ("Opens the file") 而非指令式 ("Open the file"); 註釋只是為了描述函式, 而不是命令函式做什麼. 通常, 註釋不會描述函式如何工作. 那是函式定義部分的事情.

函數宣告處註解的內容:
函式宣告處註解的內容:

- 函數的輸入輸出.
- 對類成員函數而言: 函數呼叫期間對象是否需要保持引用參數, 是否會釋放這些參數.
- 如果函數分配了空間, 需要由呼叫者釋放.
- 函式的輸入輸出.
- 對類成員函式而言: 函式呼叫期間對象是否需要保持引用參數, 是否會釋放這些參數.
- 如果函式分配了空間, 需要由呼叫者釋放.
- 參數是否可以為 ``NULL``.
- 是否存在函數使用上的性能隱患.
- 如果函數是可重入的, 其同步前提是什麼?
- 是否存在函式使用上的性能隱患.
- 如果函式是可重入的, 其同步前提是什麼?

舉例如下:

Expand Down Expand Up @@ -115,11 +115,11 @@

註解建構/解構子時, 切記讀程式碼的人知道構造/解構子是幹啥的, 所以 "destroys this object" 這樣的註釋是沒有意義的. 註明建構子對參數做了什麼 (例如, 是否取得指標所有權) 以及解構子清理了什麼. 如果都是些無關緊要的內容, 直接省掉註釋. 解構子前沒有註釋是很正常的.

函數定義:
函式定義:

每個函數定義時要用註解說明函數功能和實現要點. 比如說說你用的程式撰寫技巧, 實現的大致步驟, 或解釋如此實現的理由, 為什麼前半部分要加鎖而後半部分不需要.
每個函式定義時要用註解說明函式功能和實作要點. 比如說說你用的程式撰寫技巧, 實作的大致步驟, 或解釋如此實作的理由, 為什麼前半部分要加鎖而後半部分不需要.

*不要* 從 ``.h`` 文件或其他地方的函數宣告處直接複製註解. 簡要重述函數功能是可以的, 但註釋重點要放在如何實現上.
*不要* 從 ``.h`` 文件或其他地方的函式宣告處直接複製註解. 簡要重述函式功能是可以的, 但註釋重點要放在如何實作上.

7.5. 變數註解
~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -150,7 +150,7 @@
// The total number of tests cases that we run through in this regression test.
const int kNumTestCases = 6;

7.6. 實現註解
7.6. 實作註解
~~~~~~~~~~~~~~~~~~~~~~

.. tip::
Expand Down Expand Up @@ -182,7 +182,7 @@
if (mmap_budget >= data_size_ && !MmapData(mmap_chunk_bytes, mlock))
return; // Error already logged.

注意, 這裡用了兩段註解分別描述這段程式碼的作用, 和提示函數返回時錯誤已經被記入日誌.
注意, 這裡用了兩段註解分別描述這段程式碼的作用, 和提示函式返回時錯誤已經被記入日誌.

如果你需要連續進行多行註解, 可以使之對齊獲得更好的可讀性:

Expand All @@ -198,7 +198,7 @@

NULL, true/false, 1, 2, 3...:

向函數傳入 ``NULL``, 布爾值或整數時, 要註解說明含義, 或使用常數讓程式碼望文知意. 例如, 對比:
向函式傳入 ``NULL``, 布爾值或整數時, 要註解說明含義, 或使用常數讓程式碼望文知意. 例如, 對比:

.. warning::
.. code-block:: c++
Expand Down
2 changes: 1 addition & 1 deletion google-cpp-styleguide/end.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@

編輯程式碼時, 花點時間看看專案中的其它程式碼, 並熟悉其風格. 如果其它程式碼中 ``if`` 語句使用空格, 那麼你也要使用. 如果其中的註解用星號 (*) 圍成一個盒子狀, 你同樣要這麼做.

風格指南的重點在於提供一個通用的程式撰寫規範, 這樣大家可以把精力集中在實現內容而不是表現形式上. 我們展示了全域的風格規範, 但局部風格也很重要, 如果你在一個文件中新加的程式碼和原有程式碼風格相去甚遠, 這就破壞了文件本身的整體美觀, 也影響閱讀, 所以要盡量避免.
風格指南的重點在於提供一個通用的程式撰寫規範, 這樣大家可以把精力集中在實作內容而不是表現形式上. 我們展示了全域的風格規範, 但局部風格也很重要, 如果你在一個文件中新加的程式碼和原有程式碼風格相去甚遠, 這就破壞了文件本身的整體美觀, 也影響閱讀, 所以要盡量避免.

好了, 關於編碼風格寫的夠多了; 程式碼本身才更有趣. 盡情享受吧!
2 changes: 1 addition & 1 deletion google-cpp-styleguide/exceptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

在 Windows 上, 只有很少的一些情況下, 我們可以偶爾違反規則:

- 通常我們 :ref:`禁止使用多重繼承 <multiple-inheritance>`, 但在使用 COM 和 ATL/WTL 類時可以使用多重繼承. 為了實現 COM 或 ATL/WTL 類/介面, 你可能不得不使用多重實現繼承.
- 通常我們 :ref:`禁止使用多重繼承 <multiple-inheritance>`, 但在使用 COM 和 ATL/WTL 類時可以使用多重繼承. 為了實作 COM 或 ATL/WTL 類/介面, 你可能不得不使用多重實作繼承.

- 雖然程式碼中不應該使用例外, 但是在 ATL 和部分 STL(包括 Visual C++ 的 STL) 中異常被廣泛使用. 使用 ATL 時, 應定義 ``_ATL_NO_EXCEPTIONS`` 以禁用異常. 你要研究一下是否能夠禁用 STL 的異常, 如果無法禁用, 啟用編譯器異常也可以. (注意這只是為了編譯 STL, 自己程式碼裡仍然不要含異常處理.)

Expand Down
Loading

0 comments on commit cc2d1a3

Please sign in to comment.