It is a good idea to use named variables for storing parameters of a script or function. We can use parameter expansion to either set a default or check mandatory arguments
Mandatory parameter
hello() {
    NAME=${1:?provide name as first parameter}
    echo "Hello $NAME!"
}
$ hello  # $?=1
bash: 1: provide name as first parameter
$ hello Foo # $?=1
Hello Foo!
Parameter with default
hello() {
  NAME=${1:-Marvin}
  echo "Hello $NAME!"
}
$ hello  # $?=0
Hello Marvin!
$ hello Foo # $?=1
Hello Foo!