When defining an identifier in a programming language, which of the following best represents a rule generally applied across many programming languages?
Allows special characters like @, $, % within the name
Must start with a letter or an underscore
Can begin with a number
Can contain spaces between words