

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 開發和完善文件
<a name="documentation-best-practices"></a>

文件對於專案的成功至關重要。文件不僅解釋了程式碼的工作原理，還可協助開發人員更好地了解應用程式的特性和功能。開發和完善高品質文件可以加強軟體開發程序，維護高品質軟體，並有助於開發人員之間的知識轉移。

文件分為兩個類別：程式碼內的文件和有關程式碼的支援文件。程式碼內的文件採用註解的形式。有關程式碼的支援文件可以是 README 檔案和外部文件。開發人員將文件視為額外負荷並不常見，因為程式碼本身很容易理解。對於小型專案來說可能是這樣，但對於涉及多個團隊的大型專案來說，文件至關重要。

撰寫程式碼的作者最佳實務是撰寫文件，因為他們充分了解其功能。開發人員可能會因維護單獨的支援文件而產生額外負荷。為了克服此挑戰，開發人員可以在程式碼中新增註解，並且可以自動擷取這些註解，以便每個版本的程式碼和文件都將保持同步。

有各種不同的工具可協助開發人員從程式碼中擷取註解並為其產生文件。本指南著重於 TypeDoc  AWS CDK 作為建構的偏好工具。

## AWS CDK 建構需要程式碼文件的原因
<a name="code-docs-constructs"></a>

AWS CDK 常見建構由組織中的多個團隊建立，並在不同的團隊之間共用以供取用。良好的文件可協助建構模組庫的取用者輕鬆地整合建構模組並以最輕鬆的方式建置基礎設施。保持所有文件同步是一項艱巨的任務。我們建議您在程式碼內維護文件，文件將使用 TypeDoc 庫擷取。

## 搭配 AWS 建構程式庫使用 TypeDoc
<a name="typedoc-constructs"></a>

TypeDoc 是 TypeScript 的文件產生器。您可以使用 TypeDoc 讀取 TypeScript 來源檔案，剖析這些文件中的註解，然後產生包含程式碼文件的靜態網站。

下列程式碼說明如何將 TypeDoc 與 AWS 建構程式庫整合，然後在 的 `package.json` 檔案中新增下列套件`devDependencies`。

```
{

  "devDependencies": {
   
    "typedoc-plugin-markdown": "^3.11.7",
    "typescript": "~3.9.7"
  },
  
}
```

若要將 `typedoc.json` 新增在 CDK 程式庫資料夾中，請使用下列程式碼。

```
{
    "$schema": "https://typedoc.org/schema.json",
    "entryPoints": ["./lib"],
}
```

若要產生 README 檔案，請在建構程式庫專案的根目錄中執行 AWS CDK `npx typedoc`命令。

下列範例文件由 TypeDoc 產生。

![範例 TypeDoc 文件](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/images/sample_typedoc_1.png)


如需有關 TypeDoc 整合選項的詳細資訊，請參閱 TypeDoc 文件中的[文件註解](https://typedoc.org/guides/doccomments/)。