1、命名規(guī)范
避免使用
小寫的L,大寫的I,大寫的O 應(yīng)該避免在命名中單獨(dú)出現(xiàn),因?yàn)楹苋菀桩a(chǎn)生混淆。
合約、庫(kù)、事件、枚舉及結(jié)構(gòu)體命名——大駝峰
合約、庫(kù)、事件及結(jié)構(gòu)體命名應(yīng)該使用單詞首字母大寫的方式。
比如:SimpleToken, SmartBank, CertificateHashRepository,Player。
函數(shù)、參數(shù)、變量及修飾器
函數(shù)、參數(shù)、變量及修飾器應(yīng)該使用首單詞小寫后面單詞大寫的方式,
如:
~函數(shù)名應(yīng)該如:getBalance,transfer,verifyOwner,addMember。
~參數(shù)和變量應(yīng)該如:initialSupply,senderAddress,account,isPreSale。
~修飾器應(yīng)該如:onlyAfter,onlyOwner
常量
常量應(yīng)該使用全大寫及下劃線分割大詞的方式,如:MAX_BLOCKS,TOKEN_NAME, CONTRACT_VERSION。
正確使用"_"開頭的命名方式
延用Javascript中的約定俗成的命名規(guī)范,對(duì)私有函數(shù)和私有變量使用"_"開頭的命名方式,方便區(qū)分。
2.代碼格式
空行
合約之前、函數(shù)之間應(yīng)該有空行。
左括號(hào)
左括號(hào)不要換行。
適當(dāng)空格
在函數(shù)、修飾器中定義參數(shù)時(shí),參數(shù)之前要有一個(gè)空格。
3.函數(shù)編寫規(guī)范
按照規(guī)定的順序編寫函數(shù)

明確函數(shù)的可見性
所有的函數(shù)(包括構(gòu)造函數(shù))應(yīng)該在定義的時(shí)候明確函數(shù)的可見性。
可見性應(yīng)在修飾符前
函數(shù)的可見性應(yīng)該寫在自定義的函數(shù)修飾符前面。
區(qū)分函數(shù)和事件
為了防止函數(shù)和事件(Event)產(chǎn)生混淆,聲明一個(gè)事件名稱首字母大寫。對(duì)于函數(shù), 始終以首字母小寫。
Chainpip介紹
Chainpip介紹
Chainpip是一款關(guān)于以太坊智能合約開發(fā)的網(wǎng)站, chainpip集成solidity開發(fā)環(huán)境,提供可視化編譯、部署、執(zhí)行合約等功能,而solidity是以太坊官方設(shè)計(jì)和支持的開發(fā)語(yǔ)言,專門用于編寫智能合約。用戶使用chainpip就能很快上手,開發(fā)一款智能合約。用戶還可以在Chainpip上看到其他的dapp項(xiàng)目,可自由復(fù)制這些dapp,學(xué)習(xí)如何開發(fā)智能合約。Chainpip還支持多種以太坊系的鏈: Ethereum(ETH), BNB Smart Chain(BSC), Polygon PoS Chain(MATIC)等。

Chainpip地址:www.chainpip.com