- Rust Programming Cookbook
- Claus Matzinger
- 315字
- 2021-06-24 12:27:45
How it works...
Markdown is a great language that allows for creating formatted documentation quickly. However, feature support is typically tricky, so check out Rust's RFC for supported formatting (https://github.com/rust-lang/rfcs/blob/master/text/0505-api-comment-conventions.md) to find out whether some more advanced statements can be used. In general, writing documentation is dreaded by most developers, which is why it's very important to make it as simple and effortless as possible. The /// pattern is quite common and has been expanded in Rust so that the documentation can apply to the code that follows (///) or that contains it (//!). Examples can be seen in step 1 and step 4.
The approach the Rust project chose allows for a few lines explaining the (public) function, and then the rustdoc compiler (invoked in step 2 with cargo doc) does the rest: exposing public members, cross-linking, listing all of the available types and modules, and much more. While the output is fully customizable (step 6), the default is already visually quite appealing (we think).
Special sections (step 3) add another dimension to the documentation output: they allow for IDEs or editors to make some sense of the provided information and highlight, for example, that (and when) a function may panic. The examples section in your newly generated documentation will even compile and run code in the form of doctests (see the Testing your documentation recipe) so you will be notified when your examples become invalid.
The rustdoc output is also independent of a web server, which means that it can be used wherever static hosting is supported. In fact, the Rust project builds and serves every crate's documentation that is hosted on https://crates.io, on https://docs.rs.
Now that we can create documentation successfully, we should move on to the next recipe.
- The Complete Rust Programming Reference Guide
- Python快樂編程:人工智能深度學習基礎
- Java Web開發之道
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- Java持續交付
- STM32F0實戰:基于HAL庫開發
- Mathematica Data Analysis
- Learning Hunk
- Unreal Engine 4 Shaders and Effects Cookbook
- Advanced Express Web Application Development
- Python預測之美:數據分析與算法實戰(雙色)
- 你真的會寫代碼嗎
- VMware vSphere 5.5 Cookbook
- 計算機應用基礎
- Neo4j權威指南 (圖數據庫技術叢書)