日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

solidity编码规范

發布時間:2025/3/21 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 solidity编码规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

命名規范

文件、合約、庫、事件、枚舉及結構體命名

當文件里只包含一個合約時,文件命名應該與合約命名相同。
當文件里包含不只一個合約時,文件命名應該根據項目內容合理命名。

合約、庫、事件及結構體命名應該使用單詞首字母大寫的方式,這個方式也稱為:駝峰式命名法,比如:SimpleToken, SmartBank, CertificateHashRepository,Player。

函數、參數、變量及修飾器

函數、參數、變量及修飾器應該使用首單詞小寫后面單詞大寫的方式,這個方式也稱為:駝峰式命名法,是一種混合大小寫的方式,如:

函數名應該如:getBalance,transfer,verifyOwner,addMember。

參數和變量應該如:initialSupply,senderAddress,account,isPreSale。

修飾器應該如:onlyAfter,onlyOwner。

代碼格式相關

縮進

在方法、變量或者機構體等每行使用0、2或者4個空格縮進

在tab或空格的選擇中,空格是首選縮進方式,禁止tab和空格混合使用。

空行

回車(空行)

不同的功能塊之間應該用空格隔開,例如公共變量與方法之間,方法與方法之間等,且不允許使用連續的空行。(只能用一個空行,不同的代碼塊或者功能應使用注釋加空行)

合約之間應該有空行,例如:

contract A {...}contract B {...}contract C {...}

而不是使用:

contract A {...}contract B {...}contract C {...}

函數之間應該有空行,例如:

左括號應該跟定義在一行

定義包括合約定義、函數定義、庫定義、結構體定義等等,例如推薦使用:

不推薦使用:

左括號應該跟條件控制在一行

在使用if, else, while, for 時

  • 左花括號和聲明同一行

  • 右括號和左括號聲明保持相同縮進位置。

  • 左括號后應回車

此外,if、while、for條件語句之間必須空行

推薦的寫法是:

不推薦使用:

如果控制語句內只有一行,括號可省略,如:

但像下面一個語句有多方就不能省略,如:

表達式內的空格

一個單行的表達里,在小括號、中括號、大括號里應該避免不必要的空格

例如推薦使用:

有一種例外是,結尾的括號跟在結束的分號后面, 應該加一個空格,例如:

分號”;”前不應該有空格,例如:

而不是:

不要為對齊添加不必要的空格,例如推薦使用:

而不是:

控制每一行長度

每行不應該太長,最好在80(或160)個字符以內,函數的參數應該是單獨的行,且只有一個縮進,例如推薦的方式是:

而不是:

對應的賦值語句應該是這樣寫:

而不是:

文件編碼格式

推薦使用utf-8編碼

引入文件

一般在代碼開始進行引入聲明

建議使用:

而不是:

函數編寫規范

函數的順序

在編寫函數的時候,應該讓大家容易找到構造函數,回退函數,官方推薦的的函數順序是:

  • 構造函數

  • 回退函數 (如果有)

  • 外部函數(external)

  • 公有函數(public)

  • 內部函數(internal)

  • 私有函數(private)

  • 同一類函數時,constant函數放在后面

例如:

而不是下面的函數順序:

明確函數的可見性

所有的函數(包括構造函數)應該在定義的時候明確函數的可見性,例如應該使用:

而不是

可見性應該在修飾符前面

函數的可見性應該寫在自定義的函數修飾符前面,例如:

而不是

變量聲明

  • 對于數組變量聲明,類型和數組中括號直接不能有空格。

    規范的方式:
    uint[5] T = [1,2,3,4,5];
    不規范的方式:
    uint [5] T = [1,2,3,4,5];

其他建議

  • 賦值運算符與變量和表達式之間要有一個空格

    規范的方式:

    x = 3;x = 100 / 10;x += 3 + 4;x |= y && z;

    不規范的方式:

    x=3;x = 100/10;x += 3+4;x |= y&&z;

    為了顯示優先級,優先級運算符和低優先級運算符之間要有空格,這也是為了提升復雜聲明的可讀性。對于運算符兩側的空格數目必須保持一致。

    規范的方式:

    x = 2**3 + 5;x = 2***y + 3*z;x = (a+b) * (a-**b);

    不規范的方式:

    x = 2** 3 + 5;x = y+z;x +=1;

參考文獻

Solidity style-guide

總結

以上是生活随笔為你收集整理的solidity编码规范的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。