solidity编程风格

  • 时间:
  • 浏览:94
  • 来源:区块链技术网

本文作者: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

参考资料

猜你喜欢

这些还在运营的野鸡“交易所”不要再碰了

不管币圈还在任何投资项目中,只要不能安全出金都是骗人。熊大说过野鸡交易所限制用户提现有很多?涉嫌洗钱?涉嫌刷单?涉嫌赌博?资不抵债?系统穿仓等等?没有经历过真正牛熊市交易所很难在这个市场存活。这也就是为什么不建议投资者选择小交易所交易的原因。

2022-01-18

OKEX交易所突然更名,意欲何为?

你好,我是良心哥。我们专门曝光币圈黑幕,怒怼空气币和各种骗局。如果你在币圈被割了韭菜或者被诈骗,来找我,我帮你!

2022-01-18

WTF 空投,吃了我的gas费给我拿回来

WTF ?抱歉,我们不是在骂人。 这是一个正在发钱的项目,开局半小时内持币地址已经突破5000,截止目前发稿2个小时时间持币地址已经破万。登录头部交易所几乎是必然。话不多说,操作手册奉上:

2022-01-17

九句话,从零了解Web3

Web3 这个新鲜的专业名词诞生于 2014 年,在一开始,他被用来描述实现去中心化共识的新型协议,而到如今,它已经成为了对公链生态、应用程序甚至设计理念的统称。犹如「我是谁?」这样的哲学问题一样,「什么是 Web3」这个问题很多人都给出了自己的答案,而且似乎每个人的回答都不尽相同。

2022-01-17

零知识证明 - Halo2电路构建源代码导读

理解Halo2,可以从两部分着手:1/ 电路构建 2/ 证明系统。从开发者的角度看,电路构建是接口。如何通过Halo2构建建电路,这些电路在Halo2的内部如何表示是理解电路构建的关键。本文就从源代码的角度深入浅出讲解Halo2的电路构建。

2022-01-17