文档

花时间为你的代码写文档非常重要。它将帮助开发人员和用户了解合约及其功能。

在Cairo,您可以使用“//”添加注释。

最佳实践:

自 Cairo 1 以来,社区采用了 类似 Rust 的文档风格

合约接口:

在智能合约中,你通常会有一个定义合约接口的trait(带有'#[starknet::interface]')。 这是包含详细文档的理想场所,这些文档解释了合约入口点的用途和功能。您可以遵循以下模板:

#[starknet::interface]
trait IContract<TContractState> {
    /// High-level description of the function
    ///
    /// # Arguments
    ///
    /// * `arg_1` - Description of the argument
    /// * `arg_n` - ...
    ///
    /// # Returns
    ///
    /// High-level description of the return value
    fn do_something(ref self: TContractState, arg_1: T_arg_1) -> T_return;
}

请记住,这不应该描述函数的实现细节,而应该从用户的角度描述合约的高级目的和功能。

实装细节:

在编写合约逻辑时,可以添加注释来描述函数的技术实现细节。

避免过度注释:注释应提供额外的价值和清晰度。

Last change: 2023-12-05, commit: d8bdbed