58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Documentation | |||
|  | localeTitle: 文档 | |||
|  | --- | |||
|  | ## 文档
 | |||
|  | 
 | |||
|  | 与其他编程语言相比,Elixir最先进的技术之一是其文档系统。 Elixir的文档由您的代码注释创建,并制作成一个漂亮的HTML网站,供您轻松浏览并了解应用程序的工作原理。一旦您了解了如何在Elixir中正确评论您的代码,您就能够轻松地向其他程序员解释您的应用程序如何工作。在下面的示例中,我们将在虚构的Web服务器模块中显示Elixir文档功能的用法。 | |||
|  | 
 | |||
|  | ### 内联文档
 | |||
|  | 
 | |||
|  | 内联文档在文本前面使用`#`来描述代码。 | |||
|  | 
 | |||
|  | ```elixir | |||
|  | def get(path) do  | |||
|  |     # This is an inline comment for documentation purposes.  | |||
|  |     "http get request response"  | |||
|  |   end  | |||
|  | ``` | |||
|  | 
 | |||
|  | ### 模块文档
 | |||
|  | 
 | |||
|  | 模块文档描述了模块的用途。 Moduledocs类似于其他编程语言中的多行注释。 | |||
|  | 
 | |||
|  | ```elixir | |||
|  | defmodule WebServer do  | |||
|  |   @moduledoc """  | |||
|  |     Provides a set of functions to accept and respond to HTTP requests.  | |||
|  |     This module provides the @get/1, @post/1, and @put/1 functions.  | |||
|  |   """  | |||
|  |  end  | |||
|  | ``` | |||
|  | 
 | |||
|  | ### 功能文档
 | |||
|  | 
 | |||
|  | 功能文档描述了单个功能的用途和用法。 Functiondocs与其他编程语言中的多行注释类似。它还显示了该函数的示例,以便另一个程序员知道会发生什么。 | |||
|  | 
 | |||
|  | ```elixir | |||
|  |   @doc """  | |||
|  |     Responds to a get request  | |||
|  |   | |||
|  |     ## Parameters  | |||
|  |      - path: A path to the desired resource  | |||
|  |   | |||
|  |     ## Examples  | |||
|  |      - iex> WebServer.get(/documentation.pdf)  | |||
|  |        "Returning documentation.pdf  | |||
|  |      - iex> WebServer.get(/downloads.html)  | |||
|  |        "Returning downloads.html"  | |||
|  |   """  | |||
|  |   def get(path) do  | |||
|  |     "http get request response"  | |||
|  |   end  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### 更多信息:
 | |||
|  | 
 | |||
|  | *   [ElixirSchool - 文档](https://elixirschool.com/en/lessons/basics/documentation/) | |||
|  | *   [ExDoc](https://github.com/elixir-lang/ex_doc) |