Interfaces

為什麼 ERC 介面中的所有參數都以下劃線開頭?

  • February 28, 2019

例如,ERC-721ERC-725_在任何函式參數之前都有下劃線( )。

我知道通常他們的目標是避免變數重載。但是,ERC 介面的基本原理是什麼?是不是通過這種方式,我們可以確保實現者選擇的任何變數名都不會發生衝突?

在變數名前使用下劃線僅僅是由於約定。一些語言鼓勵對私有變數使用下劃線,因此很容易區分私有變數和公共變數。Solidity 也是如此——在私有(函式內部)變數之前使用下劃線可以很容易地發現它們。

我不確定在這種情況下避免變數重載是什麼意思。

在 Solidity 中,使用第一個字母“_”聲明局部變數名稱是一種慣例。我個人更喜歡對內部函式做同樣的事情。

例如:

function _decrementBalance(uint _index, uint _value) internal {
   uint oldBalance = accountBalances[_index];
   uint newBalance = oldBalance.sub(_value);
   accountBalances[_index] = newBalance;
}

這使得閱讀合約程式碼變得更加容易。

引用自:https://ethereum.stackexchange.com/questions/62043