# solidity编程风格 **Published by:** [kdchxue.eth](https://paragraph.com/@kdchxue/) **Published on:** 2022-01-05 **URL:** https://paragraph.com/@kdchxue/solidity ## Content //编程风格 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 ## Publication Information - [kdchxue.eth](https://paragraph.com/@kdchxue/): Publication homepage - [All Posts](https://paragraph.com/@kdchxue/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@kdchxue): Subscribe to updates