界: Code Quality
程式碼品質不佳,會導致無法預料的行為。從使用者的角度來看,這通常表現為可用性不佳。對於攻擊者而言,這提供了以意想不到的方式向系統施加壓力的機會。
Dead Code
Abstract
此指令將永不被執行。
Explanation
周圍的程式碼將會使此指令永不執行。
範例:第二個
範例:第二個
if
指令的條件將無法滿足。變數 s
不能為 Null,但只能將 s
設為非 Null 值的路徑卻存在 return
指令。
String s = null;
if (b) {
s = "Yes";
return;
}
if (s != null) {
Dead();
}
desc.internal.cpp.dead_code
Abstract
函數定義了沒有效果的程式碼。
Explanation
在 Solidity 中,開發人員可以編寫沒有效果的程式碼,這可能會導致意外行為或程式碼無法執行預期的動作。
範例 1:以下程式碼嘗試更新
範例 1:以下程式碼嘗試更新
msg.sender
的餘額,但使用 ==
而非 =
來執行更新,此舉沒有任何效果。
function deposit(uint amount) public payable {
require(msg.value == amount, 'incorrect amount');
balance[msg.sender] == amount;
}
desc.structural.solidity.swc135