1、命名規範
避免使用
小寫的L,大寫的I,大寫的O 應該避免在命名中單獨出現,因為很容易產生混淆。
合約、庫、事件、枚舉及結構體命名——大駝峰
合約、庫、事件及結構體命名應該使用單詞首字母大寫的方式。
比如:SimpleToken, SmartBank, CertificateHashRepository,Player。
函數、參數、變量及修飾器
函數、參數、變量及修飾器應該使用首單詞小寫後面單詞大寫的方式,
如:
l函數名應該如:getBalance,transfer,verifyOwner,addMember。
l參數和變量應該如:initialSupply,senderAddress,account,isPreSale。
l修飾器應該如:onlyAfter,onlyOwner
常量
常量應該使用全大寫及下劃線分割大詞的方式,如:MAX_BLOCKS,TOKEN_NAME, CONTRACT_VERSION。
正確使用"_"開頭的命名方式
延用Javascript中的約定俗成的命名規範,對私有函數和私有變量使用"_"開頭的命名方式,方便區分。
2.代碼格式
空行
合約之前、函數之間應該有空行。
左括號
左括號不要換行。
適當空格
在函數、修飾器中定義參數時,參數之前要有一個空格。
3.函數編寫規範
按照規定的順序編寫函數
明確函數的可見性
所有的函數(包括構造函數)應該在定義的時候明確函數的可見性。
可見性應在修飾符前
函數的可見性應該寫在自定義的函數修飾符前面。
區分函數和事件
為了防止函數和事件(Event)產生混淆,聲明一個事件名稱首字母大寫。對於函數, 始終以首字母小寫。
Chainpip介紹
Chainpip是一款關於以太坊智能合約開發的網站, chainpip集成solidity開發環境,提供可視化編譯、部署、執行合約等功能,而solidity是以太坊官方設計和支持的開發語言,專門用於編寫智能合約。用戶使用chainpip就能很快上手,開發一款智能合約。用戶還可以在Chainpip上看到其他的dapp項目,可自由複制這些dapp,學習如何開發智能合約。 Chainpip還支持多種以太坊系的鏈: Ethereum(ETH), BNB Smart Chain(BSC), Polygon PoS Chain(MATIC)等。
Chainpip地址:www.chainpip.com