:identifier_capital_plural: Local variables and function parameters
:identifier: local variable and function parameter
:identifier_plural: local variables and function parameters
:identifier_or: local variable or function parameter
:regex: ^[_a-zA-Z][a-zA-Z0-9]*$

include::../rule.adoc[]

=== Code examples

==== Noncompliant code example

With the default regular expression ``{regex}``:

[source,scala,diff-id=1,diff-type=noncompliant]
----
def printSomething(text_param: String): Unit = { // Noncompliant
  var _1LOCAL = "" // Noncompliant
  println(text_param + _1LOCAL)
}
----

==== Compliant solution

[source,scala,diff-id=1,diff-type=compliant]
----

def printSomething(textParam: String): Unit = {
  var LOCAL = ""
  println(textParam + LOCAL)
}
----

== Resources

=== Documentation

* Scala documentation - https://docs.scala-lang.org/style/naming-conventions.html[Style guide: naming conventions]
* Wikipedia - https://en.wikipedia.org/wiki/Naming_convention_(programming)[Naming Convention (programming)]

=== Related rules

* S100 - Function names should comply with a naming convention
* S101 - Class names should comply with a naming convention

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../parameters.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
