Solidity编码规范
Solidity编码规范
**合约、库、事件、枚举及结构体命名——大驼峰**
合约、库、事件及结构体命名应该使用单词首字母大写的方式。
比如:SimpleToken, SmartBank, CertificateHashRepository,Player。
**函数、参数、变量及修饰器**
函数、参数、变量及修饰器应该使用首单词小写后面单词大写的方式,
如:
函数名应该如:getBalance,transfer,verifyOwner,addMember。
参数和变量应该如:initialSupply,senderAddress,account,isPreSale。
修饰器应该如:onlyAfter,onlyOwner
**常量**
常量应该使用全大写及下划线分割大词的方式,如:MAX_BLOCKS,TOKEN_NAME, CONTRACT_VERSION。
**正确使用"_"开头的命名方式**
延用Javascript中的约定俗成的命名规范,对私有函数和私有变量使用"_"开头的命名方式,方便区分。
# 2.代码格式
**空行**
合约之前、函数之间应该有空行。
**左括号**
左括号不要换行。
**适当空格**
在函数、修饰器中定义参数时,参数之前要有一个空格。
# 3.函数编写规范
**按照规定的顺序编写函数**
![图片1.png](https://img.learnblockchain.cn/attachments/2022/10/cjXClu1t634d2189a7ae7.png)
**明确函数的可见性**
所有的函数(包括构造函数)应该在定义的时候明确函数的可见性。
**可见性应在修饰符前**
函数的可见性应该写在自定义的函数修饰符前面。
**区分函数和事件**
为了防止函数和事件(Event)产生混淆,声明一个事件名称首字母大写。对于函数, 始终以首字母小写。
# Chainpip介绍
Chainpip是一款关于以太坊智能合约开发的网站, chainpip集成solidity开发环境,提供可视化编译、部署、执行合约等功能,而solidity是以太坊官方设计和支持的开发语言,专门用于编写智能合约。用户使用chainpip就能很快上手,开发一款智能合约。用户还可以在Chainpip上看到其他的dapp项目,可自由复制这些dapp,学习如何开发智能合约。Chainpip还支持多种以太坊系的链: Ethereum(ETH), BNB Smart Chain(BSC), Polygon PoS Chain(MATIC)等。
![图片2.png](https://img.learnblockchain.cn/attachments/2022/10/ba37CkkN634d219d5c300.png)
Chainpip地址:www.chainpip.com
1、命名规范
避免使用 小写的L,大写的I,大写的O 应该避免在命名中单独出现,因为很容易产生混淆。
合约、库、事件、枚举及结构体命名——大驼峰 合约、库、事件及结构体命名应该使用单词首字母大写的方式。 比如:SimpleToken, SmartBank, CertificateHashRepository,Player。
函数、参数、变量及修饰器 函数、参数、变量及修饰器应该使用首单词小写后面单词大写的方式, 如: 函数名应该如:getBalance,transfer,verifyOwner,addMember。 参数和变量应该如:initialSupply,senderAddress,account,isPreSale。 修饰器应该如:onlyAfter,onlyOwner
常量 常量应该使用全大写及下划线分割大词的方式,如:MAX_BLOCKS,TOKEN_NAME, CONTRACTVERSION。 **正确使用""开头的命名方式** 延用Javascript中的约定俗成的命名规范,对私有函数和私有变量使用"_"开头的命名方式,方便区分。
2.代码格式
空行 合约之前、函数之间应该有空行。
左括号 左括号不要换行。
适当空格 在函数、修饰器中定义参数时,参数之前要有一个空格。
3.函数编写规范
按照规定的顺序编写函数
明确函数的可见性 所有的函数(包括构造函数)应该在定义的时候明确函数的可见性。
可见性应在修饰符前 函数的可见性应该写在自定义的函数修饰符前面。
区分函数和事件 为了防止函数和事件(Event)产生混淆,声明一个事件名称首字母大写。对于函数, 始终以首字母小写。
Chainpip介绍
Chainpip是一款关于以太坊智能合约开发的网站, chainpip集成solidity开发环境,提供可视化编译、部署、执行合约等功能,而solidity是以太坊官方设计和支持的开发语言,专门用于编写智能合约。用户使用chainpip就能很快上手,开发一款智能合约。用户还可以在Chainpip上看到其他的dapp项目,可自由复制这些dapp,学习如何开发智能合约。Chainpip还支持多种以太坊系的链: Ethereum(ETH), BNB Smart Chain(BSC), Polygon PoS Chain(MATIC)等。
Chainpip地址:www.chainpip.com
本文参与区块链技术网 ,好文好收益,欢迎正在阅读的你也加入。
- 发表于 2022-10-17 17:36
- 阅读 ( 258 )
- 学分 ( 5 )
- 分类:智能合约
评论