文档
花时间为你的代码写文档非常重要。它将帮助开发人员和用户了解合约及其功能。
在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;
}
请记住,这不应该描述函数的实现细节,而应该从用户的角度描述合约的高级目的和功能。
实装细节:
在编写合约逻辑时,可以添加注释来描述函数的技术实现细节。
避免过度注释:注释应提供额外的价值和清晰度。