和大多数语言一样,Solidity中的注释是不会出现在可执行程序中的。因而不要担心注释带来的代码的膨胀。
一、注释格式
注释有四种格式:
一、使用/* 这里是注释内容 */
的多行注释,每一行都需要使用*
来作为开始。
/*
* 这是多行注释,每一行都有一个*作为前缀。
*/
二、使用//的单行注释和行后注释。
// 这是单行的注释。
三、使用/** **/
的注释,可以通过doxygen来抽取,并配合注释标签使用。
/**
* @title 计算器合约
* @author Cocolian
* @notice 这是功能描述
* @dev 这里是实现细节
**/
contract Calculator {
/**
* @dev 乘法计算
* @param a 乘数
* @param b 被乘数
* @return c 计算结果
*
**/
function multiply(uint a, uint b) public pure returns(uint c) {
return a * b;
}
}
四、Solidity社区推荐的使用///
加上标签的单行注释。和/** **/
是一样的。
/// @title 计算器合约
/// @author Cocolian
/// @notice 这是功能描述
/// @dev 这里是实现细节
contract Calculator {
/// @dev 乘法计算
/// @param a 乘数
/// @param b 被乘数
/// @return c 计算结果
function multiply(uint a, uint b) public pure returns(uint c) {
return a * b;
}
}
二、注释标签
这些标签都是可选的
Tag | 描述 | 适用实体 |
---|---|---|
@title |
描述合约的标题 | contract, interface |
@author |
作者姓名 | contract, interface, function |
@notice |
描述合约或者函数的功能 | contract, interface, function |
@dev |
提供给开发人员看的实现细节。 | contract, interface, function |
@param |
参数说明,后面必须接参数的名称 | function |
@return |
返回值说明 | function |
三、动态表达式
在功能说明文档中,可以在注释中加入动态表达式。
/// @notice 从`message.caller.address()`发
/// 送 `(valueInmGAV / 1000).fixed(0,3)`个 GAV 到 `to.address()`
function send(address to, uint256 valueInmGAV) {
如果用户(账户地址 0x7788) 试图调用这个方法给地址0x0发送4135个GAV, 则结果是:
从地址0x7788发送4135个 GAV到地址0x0
感谢您对本文的关注,如果您对区块链技术有兴趣,可以加入我们一起探讨, 请扫码关注“可可链”的微信公众号,并留言“加入可可链”。
本文欢迎转载,转载时请注明本文来自 微信公众号“可可链”。