solidity编程风格
2023-04-18 16:53:03 时间
本文作者:q29051[1]
//编程风格
Solidity编程风格的几条建议。
代码布局
缩进 – 使用4个空格代替制表符作为缩进。避免空格与制表符混用。
空2行规则 – 2个合约定义之间空2行。
空1行规则 – 2个函数之间空1行。在只有声明的情况下,不需要空行。
行长度 – 一行不超过79个字符。
换行规则 – 函数声明中左括号不换行,每个参数一行并缩进,右括号换行,并对齐左括号所在行。
源码编码 – UTF-8
Import – Import语句应该放在文件的顶部,pragma声明之后。
函数顺序 – 函数应该根据它们的可见性来分组。
避免多余空格 – 避免在圆括号、方括号或大括号后有空格。
控制结构 – 大括号的左括号不换行,右括号换行,与左括号所在行对齐。
函数声明 – 使用上面的大括号规则。添加可见性标签。可见性标签应该放在自定义修饰符之前。
映射 – 在声明映射变量时避免多余空格。
变量声明 – 声明数组变量时避免多余空格。
字符串声明 – 使用双引号声明字符串,而不是单引号。
代码中各部分的顺序
代码中各部分顺序如下:
Pragma 语句
Import 语句
Interface
库
Contract
在Interface、库或Contract中,各部分顺序应为:
Type declaration / 类型声明
State variable / 状态变量
Event / 事件
Function / 函数
命名约定
合约和库应该使用驼峰式命名。例如,SmartContract, Owner等。
合约和库名应该匹配它们的文件名。
// Owned.sol
contract Owned {
address public owner;
...
如果文件中有多个合约/库,请使用核心合约/库的名称。
// Congress.sol
import "./Owned.sol";
contract Congress is Owned, TokenRecipient {
//...
结构体名称
驼峰式命名,例如: SmartCoin
事件名称
驼峰式命名,例如:AfterTransfer
函数名
驼峰式命名,首字母小写,比如:initiateSupply
局部变量和状态变量
驼峰式命名,首字母小写,比如creatorAddress、supply
常量
大写字母单词用下划线分隔,例如:MAX_BLOCKS
修饰符的名字
驼峰式命名,首字母小写,例如:onlyAfter
枚举的名字
驼峰式命名,例如:TokenGroup
参考资料
[1]q29051: https://learnblockchain.cn/people/5128
相关文章
- 5种可能在10年后消失的开发语言
- 烂大街的“中台”,终将“一地鸡毛” ?
- 图解|什么是RSA算法
- 2020年网络开发人员必读书单:让你的代码和架构更上一层楼
- 谷歌软件工程师是怎样写设计文档的?
- 线上 Go 程序偶尔出现异常怎么办?这个思路可解决你的烦恼
- 美国限制半导体设备出口:制造设备及相关软件工具、激光器、传感器...
- 初学者指南:什么是算法?11行伪代码给你讲明白
- 2020年,你应该知道 23 个非常有用的 NodeJs 库
- 选择服务网格的注意事项
- 不怕特朗普封杀!“中国版 GitHub” 出道:工信部选定,已是世界第二
- 科学家的挑战:十年前写的代码现在还能否运行
- 程序员过关斩将--解决分布式session问题
- 只加了 2 行代码,为什么你用了 2 天?
- 算法工程师福利:超实用技术路线图
- 干货ReentrantLock非公平锁源码分析
- 广告系统架构解密
- 聊一聊前端性能优化 CRP
- 代码防御性编程的十条技巧
- 35岁的程序员被优化,是市场经济的必然选择吗