# private-vars-leading-underscore

# Description

Non-external functions and state variables should start with a single underscore. Others, shouldn't

# Options

description default
A JSON object with a single property "strict" specifying if the rule should apply to ALL non state variables. Default: . {"strict":false}

# Example Config

{
  "id": "private-vars-leading-underscore",
  "severity": "WARNING",
  "data": {
    "strict": true
  }
}

# Examples

# Good

Internal function with correct naming

function _thisIsInternal() internal {}

Private function with correct naming

function _thisIsPrivate() private {}

Internal state variable with correct naming

uint256 internal _thisIsInternalVariable;

Internal state variable with correct naming (no visibility is considered internal)

uint256 _thisIsInternalVariable;

# Bad

Internal function with incorrect naming

function thisIsInternal() internal {}

Private function with incorrect naming

function thisIsPrivate() private {}

Internal state variable with incorrect naming

uint256 internal thisIsInternalVariable;

Internal state variable with incorrect naming (no visibility is considered internal)

uint256 thisIsInternalVariable;

# References