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