Solidity编码规范

简介: 1、命名规范避免使用小写的L,大写的I,大写的O 应该避免在命名中单独出现,因为很容易产生混淆。合约、库、事件、枚举及结构体命名——大驼峰合约、库、事件及结构体命名应该使用单词首字母大写的方式。比如:SimpleToken, SmartBank, CertificateHashRepository,Player。函数、参数、变量及修饰器函数、参数、变量及修饰器应该使用首单词小写后面单词大写的方式,

1、命名规范

避免使用
小写的L,大写的I,大写的O 应该避免在命名中单独出现,因为很容易产生混淆。
合约、库、事件、枚举及结构体命名——大驼峰
合约、库、事件及结构体命名应该使用单词首字母大写的方式。
比如: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

明确函数的可见性
所有的函数(包括构造函数)应该在定义的时候明确函数的可见性。
可见性应在修饰符前
函数的可见性应该写在自定义的函数修饰符前面。
区分函数和事件
为了防止函数和事件(Event)产生混淆,声明一个事件名称首字母大写。对于函数, 始终以首字母小写。

Chainpip介绍

Chainpip是一款关于以太坊智能合约开发的网站, chainpip集成solidity开发环境,提供可视化编译、部署、执行合约等功能,而solidity是以太坊官方设计和支持的开发语言,专门用于编写智能合约。用户使用chainpip就能很快上手,开发一款智能合约。用户还可以在Chainpip上看到其他的dapp项目,可自由复制这些dapp,学习如何开发智能合约。Chainpip还支持多种以太坊系的链: Ethereum(ETH), BNB Smart Chain(BSC), Polygon PoS Chain(MATIC)等。
图片2.png

Chainpip地址:www.chainpip.com

相关文章
|
XML 算法 安全
C#编码规范
本篇内容记录了 命名惯例和规范、 ** 良好的编程习惯、** 注释 、 ** 异常处理
599 0
C#编码规范
|
3月前
|
存储 区块链
Solidity语言详解
Solidity语言详解
24 0
|
5月前
|
存储 安全 编译器
Metamask项目方给Solidity程序员的16个安全建议
文章是Metamask项目方Consensys在2020年发布的关于智能合约安全的博文,提供了16条Solidity程序员的安全建议,包括正确使用assert()、require()、revert()函数,避免使用tx.origin进行授权,注意整数除法舍入问题等,以帮助开发者提高智能合约的安全性。
45 0
|
6月前
solidity 学习
solidity 学习
|
XML 存储 安全
php安全编码规范
php安全编码规范
|
编译器 区块链
Solidity函数学习
Solidity函数学习
170 0
Solidity函数学习
|
存储 JavaScript 前端开发
【一步步一起学DApp开发】(三)Solidity语言讲解 | 用Solidity编写智能合约 下
【一步步一起学DApp开发】(三)Solidity语言讲解 | 用Solidity编写智能合约
256 0
|
存储 编译器 区块链
【一步步一起学DApp开发】(三)Solidity语言讲解 | 用Solidity编写智能合约 上
【一步步一起学DApp开发】(三)Solidity语言讲解 | 用Solidity编写智能合约
576 0
|
SQL C#
C#编码规范——转载
1. 简介 本规范为一套编写高效可靠的 C# 代码的标准、约定和指南。它以安全可靠的软件工程原则为基础,使代码易于理解、维护和增强,提高生产效率。同时,将带来更大的一致性,使软件开发团队的效率明显提高。
3151 0