mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[Documentation] set error placement in contract, match example to prescription
Add example fix order
This commit is contained in:
parent
0b4b1045cf
commit
8f705fc327
@ -1058,14 +1058,40 @@ Inside each contract, library or interface, use the following order:
|
||||
1. Type declarations
|
||||
2. State variables
|
||||
3. Events
|
||||
4. Modifiers
|
||||
5. Functions
|
||||
4. Errors
|
||||
5. Modifiers
|
||||
6. Functions
|
||||
|
||||
.. note::
|
||||
|
||||
It might be clearer to declare types close to their use in events or state
|
||||
variables.
|
||||
|
||||
Yes:
|
||||
|
||||
.. code-block:: solidity
|
||||
|
||||
// SPDX-License-Identifier: GPL-3.0
|
||||
pragma solidity >=0.8.4 <0.9.0;
|
||||
|
||||
abstract contract Math {
|
||||
error DivideByZero();
|
||||
function divide(int256 numerator, int256 denominator) public virtual returns (uint256);
|
||||
}
|
||||
|
||||
No:
|
||||
|
||||
.. code-block:: solidity
|
||||
|
||||
// SPDX-License-Identifier: GPL-3.0
|
||||
pragma solidity >=0.8.4 <0.9.0;
|
||||
|
||||
abstract contract Math {
|
||||
function divide(int256 numerator, int256 denominator) public virtual returns (uint256);
|
||||
error DivideByZero();
|
||||
}
|
||||
|
||||
|
||||
******************
|
||||
Naming Conventions
|
||||
******************
|
||||
@ -1130,15 +1156,15 @@ Yes:
|
||||
contract Owned {
|
||||
address public owner;
|
||||
|
||||
constructor() {
|
||||
owner = msg.sender;
|
||||
}
|
||||
|
||||
modifier onlyOwner {
|
||||
require(msg.sender == owner);
|
||||
_;
|
||||
}
|
||||
|
||||
constructor() {
|
||||
owner = msg.sender;
|
||||
}
|
||||
|
||||
function transferOwnership(address newOwner) public onlyOwner {
|
||||
owner = newOwner;
|
||||
}
|
||||
@ -1169,15 +1195,15 @@ No:
|
||||
contract owned {
|
||||
address public owner;
|
||||
|
||||
constructor() {
|
||||
owner = msg.sender;
|
||||
}
|
||||
|
||||
modifier onlyOwner {
|
||||
require(msg.sender == owner);
|
||||
_;
|
||||
}
|
||||
|
||||
constructor() {
|
||||
owner = msg.sender;
|
||||
}
|
||||
|
||||
function transferOwnership(address newOwner) public onlyOwner {
|
||||
owner = newOwner;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user